环境:Oracl 10g Release 10.2.0.3.0 window 7
一、关闭归档
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、禁止自动存档
SQL> alter system archive log stop;
6、禁止存档联机重做日志:转换数据库的存档模式。
SQL> alter database noarchivelog ;
7、打开数据库:
SQL> alter database open ;
8、察看已连接实例的存档信息:
SQL> archive log list ;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 104
下一个存档日志序列 106
当前日志序列 106
二、启用闪回恢复区归档--Oracle数据库安装完成后首次创建自动归档日志
1、启动SQL*PLUS以管理身份登录Oracle数据库:
SQL> connect / as sysdba
2、关闭数据库实例
SQL> shutdown immediate
3、备份数据库:在对数据库做出任何重要的改变之前,建议备份数据库以免出现任何问题。
4、启动一个新的实例并装载数据库,但不打开数据库:
SQL> startup mount
5、转换数据库的存档模式为归档方式:
SQL> alter database archivelog ;
6、打开数据库:
SQL> alter database open ;
7、在数据库实例启动后允许自动存档方式:
SQL> alter system archive log start ;
8、通过资源管理器察看flash_recovery_area的日志文件结构快照如下:
9、关闭flash_recovery_area归档:
SQL>alter database flashback off ;
10、闪回区默认的存储空间为2G(比较小),修改FLASH_RECOVERY_AREA空间为20GB:
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g ;
三、查看归档日志空间的限制
1、SQL> show parameter db_recovery_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\flash_recovery_area
db_recovery_file_dest_size big integer 10G
2、SQL> select * from v$recovery_file_dest;
NAME
--------------------------------------------------------------------------------
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
D:\oracle\flash_recovery_area
1.0737E+10 1355529216 0 60
四、查看日志模式的两种方法
1、archive log list; -- (conn / as sysdba; 以sysdba登陆)
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 104
下一个存档日志序列 106
当前日志序列 106
2、select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
ORCL ARCHIVELOG
五、清除日志空间,这里是针对归档日志存满的情况的
1、新起一个终端,用rman进入把归档日志删除
c:\>rman target /
2、查看归档日志文件的状态:
RMAN> list archivelog all;
3、将归档日志信息进行更新;
RMAN>crosscheck archivelog all; --(列出归档日志信息)
RMAN>delete expired archivelog all; --(将上述列出的归档日志删除,提示输入 yes)
RMAN>exit;