oracle 归档设置

∥☆過路亽.° 提交于 2019-11-26 19:23:29

   我们知道Oracle中 重做日志文件被分为若干组,当一组重做日志被写满,ORACLE就开始写下一组,这叫做日志切换。切换是以循环的方式进行的,即当最后一组写满后又从第一组开始写。所以如果只有重做日志,即oracle运行在非归档模式下,当遇到数据文件丢失或损坏时,oracle很难保证能够完全恢复数据库,因为可能所需的重做记录因为因重做日志循环被覆盖掉了。但在归档方式下,归档日志进程会把切换后的重做日志文件复制到归档日志文件,我们可以把归档日志文件看成是重做日志文件的备份,但归档日志文件是脱机的,即除了在进行复制时,ORACLE数据库在正常运行时是不会关注归档日志文件的。
所以我们应该把数据库改为归档模式。

1。关闭数据库
SQL> shutdown immediate;

2。启动数据库到mount状态
SQL> startup mount;

3。启用归档模式
SQL> alter database archivelog;

4。查看修改后的数据库备份和恢复策略及归档文件的位置
SQL> archive log list;

5.修改相应的初始化参数
Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。
可用SQL> show parameter log_archive_start;查看
NAME                                 TYPE        VALUE
------------------------------------ ----------- --------------
log_archive_start                    boolean     FALSE
SQL> alter system set log_archive_start=true scope=spfile;
重启数据库此参数生效,此时数据库处于自动归档模式。

当然你也可以不做第5步,直接
SQL>archive log start
使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。

现在你可以用RMAN备份数据库了

附:
1。如果要从归档模式变为非归档模式,使用alter database noarchivelog 命令
2。使用show parameter db_recovery_file_dest;查看备份文件的目录及其大小
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      C:\oracle\product\10.2.0/flash_recovery_area
db_recovery_file_dest_size           big integer 2G
3。使用show parameter log_archive_start;查看数据库是否出于自动归档模式


文章出处:DIY部落(http://www.diybl.com/course/7_databases/oracle/oraclexl/20090304/158063.html)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!