修改归档日志目录
1.查看归档日志路径
SQL>archive log list
Archive destination /home/oracle/arch
如果在闪存恢复区,则会受闪存恢复区的大小限制,需要将闪存恢复区的大小调大:
先看闪存恢复区的配置:
SQL> show parameter recover;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /home/oracle/oracleData/softwa
re/arch
db_recovery_file_dest_size big integer 4977M
则调整大小
alter system set db_recovery_file_dest_size = 8G;
show parameter recover;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /home/oracle/oracleData/softwa
re/arch
db_recovery_file_dest_size big integer 8G
这样就可以了,可以进行恢复区使用率查询:
select * from v$flash_recovery_area_usage;
如果归档日志目录不在闪存恢复区,那么就只受目录空间限制
另外的一种查看归档日志目录的方法
SQL> show parameter log_archive;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string location=/home/oracle/arch
log_archive_format string %t_%s_%r.dbf
如果不修改命名规则,就不用写入静态参数文件,就不用重启数据库!
上面就是我之前修改的归档日志的目录及命名规则,说下明明规则的参数:
%s: 日志序列号:
%S: 日志序列号(带有前导)
%t: 重做线程编号.
%T: 重做线程编号(带有前导)
%a: 活动ID号
%d: 数据库ID号
%r RESETLOGS的ID值.
select name from v$archived_log;
NAME
--------------------------------------------------------------------------------
/home/oracle/arch/1_88_1033999219.dbf
/home/oracle/arch/1_89_1033999219.dbf
/home/oracle/arch/1_90_1033999219.dbf
看完上面这些信息后,我们可以这样做:
A 归档日志在闪回恢复区:
1 archive log list
2 show parameter recover;
3alter system set db_recovery_file_dest_size =
4 然后进rman删归档日志(可选)
B 归档日志不在闪回恢复区(或者不想再闪回恢复区):
1 archive log list
2 show parameter log_archive;
3 select name from v$archived_log;
4 在目标目录新建目录: mkdir arch/
5 赋权 chown -R oracle:oinstall arch/
6 在oracle中修改归档路径: alter system set log_archive_dest_1 = 'location=/data/arch';
7 切一下日志,看看新日志生成了没有。