SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /u01/app/oracle/oradata/prod/c
ontrol01.ctl, /u01/app/oracle/
oradata/prod/control02.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
看 control_file_record_keep_time 参数 值是7 就是7天
修改控制文件的被覆盖时限
SQL> alter system set control_file_record_keep_time=30 scope=both;
System altered.
一般都修改为30天,7天太短了。
2. 强制数据库记录日志,使nologging无效
做data guard 一般都要设置这个参数,设置成yes
# 查看数据库的 nologging状态
SQL> select FORCE_LOGGING from v$database;
FORCE_LOGGING
---------------------------------------
NO
# 开启FORCE_LOGGING
SQL> alter database force logging;
Database altered.
# 再次查看 是否已经禁用nologging
SQL> select FORCE_LOGGING from v$database;
FORCE_LOGGING
---------------------------------------
YES
开启归档模式 并 设置归档路径
# 查看归档参数
SQL> archivelog list;
# 开启归档模式
## 前提是 必须在mount模式下开启归档模式
SQL> alter database archivelog;
# 设置归档路径
## 查看归档日志文件格式
show parameter log_archive_format;
##查看归档日志路径
show parameter DB_RECOVERY_FILE_DEST;
## 设置归档日志文件格式
SQL> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile
## 设置归档日志文件路径
SQL> alter system set log_archive_dest_1='location=+DATA/orcl/arch';
## 切换日志文件
SQL> alter system switch logfile;