在实际应用中,我们需要实现对数据的备份,其实现方式主要有冷备份和热备份两种。现在我们主要讨论热备份的具体操作。热备份也称为联机备份,在数据库的存档模式下进行备份。oracel数据库默认存档模式为关闭状态,要实现数据的热备份,需要改变数据库的存档模式,将其打开。并且需要注意的是数据库的存档模式的操作需要在MOUNT实例中进行,且数据库不能处于OPEN状态。下面将进行详细介绍:

1. 打开存档模式:

1.1 首先使用sqlplus登录到sys用户,使用SQL:archive log list 查看当前数据库的存档模式。

 

mysql归档表 数据库归档模式_SQL

 

 

此时可以看出当前数据库为默认的非存档模式。

1.2 使用SQL:alter system set log_archive_start=true scope=spfile; --修改系统的日志方式为存档模式--

shutdown immediate; --关闭数据库,因为不能在open状态下进行操作--

startup mount; --启动mount实例,但不是启动数据库--

alter database archivelog; --更改数据库为存档模式--

 

mysql归档表 数据库归档模式_数据库_02

 

 

1.3 此时我们使用SQL:archive log list 进行查看,已经更改为存档模式。

 

mysql归档表 数据库归档模式_SQL_03

 

 

1.4 最后别忘了使用SQL:alter database open;打开数据库。

 

mysql归档表 数据库归档模式_SQL_04

 

 

2. 关闭存档模式:

前面已经提到,数据的存档模式的操作必须要在mount实例中进行,且数据库要处于非open状态。所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动mount实例,才可进行操作。其具体操作为:

2.1 使用SQL:select status from v$instance;查看当前数据库的状态,正常情况下一般都处于open状态。

 

mysql归档表 数据库归档模式_数据库_05

 

 

2.2 使用SQL:shutdown immediate; --关闭数据库,因为数据库当前状态为open--

startup mount; --启动mount实例--

alter database noarchivelog; --改变数据库存档模式为非存档模式--

 

mysql归档表 数据库归档模式_数据库_06

 

 

2.3 此时使用SQL:archive log list 查看,存档模式已经变更为非存档模式。

 

mysql归档表 数据库归档模式_数据库_07

 

 

2.4 再次使用SQL:select status from v$instance;进行查看数据库的当前状态,当前状态为mount状态。

 

mysql归档表 数据库归档模式_数据库_08

 

 

2.5 最后别忘记使用SQL:alter database open;打开数据库。

 

mysql归档表 数据库归档模式_SQL_09

 

 

2.6 再次使用SQL:select status from v$instance;查看数据库状态,为open状态。

 

mysql归档表 数据库归档模式_SQL_10

 

 

最后使用快捷键Crtl + C 退出sqlplus。