在实际应用中,我们需要实现对数据的备份,其实现方式主要有冷备份和热备份两种。现在我们主要讨论热备份的具体操作。热备份也称为联机备份,在数据库的存档模式下进行备份。oracel数据库默认存档模式为关闭状态,要实现数据的热备份,需要改变数据库的存档模式,将其打开。并且需要注意的是数据库的存档模式的操作需要在MOUNT实例中进行,且数据库不能处于OPEN状态。下面将进行详细介绍:
1. 打开存档模式:
1.1 首先使用sqlplus登录到sys用户,使用SQL:archive log list 查看当前数据库的存档模式。
此时可以看出当前数据库为默认的非存档模式。
1.2 使用SQL:alter system set log_archive_start=true scope=spfile; --修改系统的日志方式为存档模式--
shutdown immediate; --关闭数据库,因为不能在open状态下进行操作--
startup mount; --启动mount实例,但不是启动数据库--
alter database archivelog; --更改数据库为存档模式--
1.3 此时我们使用SQL:archive log list 进行查看,已经更改为存档模式。
1.4 最后别忘了使用SQL:alter database open;打开数据库。
2. 关闭存档模式:
前面已经提到,数据的存档模式的操作必须要在mount实例中进行,且数据库要处于非open状态。所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动mount实例,才可进行操作。其具体操作为:
2.1 使用SQL:select status from v$instance;查看当前数据库的状态,正常情况下一般都处于open状态。
2.2 使用SQL:shutdown immediate; --关闭数据库,因为数据库当前状态为open--
startup mount; --启动mount实例--
alter database noarchivelog; --改变数据库存档模式为非存档模式--
2.3 此时使用SQL:archive log list 查看,存档模式已经变更为非存档模式。
2.4 再次使用SQL:select status from v$instance;进行查看数据库的当前状态,当前状态为mount状态。
2.5 最后别忘记使用SQL:alter database open;打开数据库。
2.6 再次使用SQL:select status from v$instance;查看数据库状态,为open状态。
最后使用快捷键Crtl + C 退出sqlplus。