修改oracle数据库归档模式和归档路径
2014-10-16 13:54
423 查看
1.在ORACLE11g版本,ORACLE默认的日志归档路径为闪回恢复区($ORACLE_BASE/flash_recovery_area)。对于这个路径,ORACLE有一个限制,就是默认只有4G的空间,而且不只是归档日志的默认路径,也是备份文件和闪回日志的默认地址,这样的话归档日志锁使用的空间就达不到4G,在没有设置好这个路径大小的情况下,很多系统都遇到过归档日志满而无法归档导致数据库夯住的问题,可以使用下面的SQL语句去查看归档信息。
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 6
Current log sequence 8
上面的存档终点USE_DB_RECOVERY_FILE_DEST默认就是闪回恢复区($ORACLE_BASE/flash_recovery_area),可以通过下面的SQL查看闪回恢复区的信息。
SQL> show parameter db_recover;
NAME TYPE
VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
/u01/app/oracle/fast_recovery_
area
db_recovery_file_dest_size big integer 4122M
通过上面的SQL结果可以看到,闪回恢复区为(u01/app/oracle/fast_recovery_area),大小为4G,也可以通过查询v$recovery_file_dest视图查看闪回恢复的限制信息。
SQL> select name,SPACE_LIMIT,SPACE_USED from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED
---------------------------------------- ----------- ----------
/u01/app/oracle/fast_recovery_area 4322230272
0
默认情况下,归档日志会存放到闪回恢复区(/u01/app/oracle/fast_recovery_area)内,如果闪回恢复区已经使用到4G,归档日志就有可能无法继续归档,数据库hang住,通常的解决方法是增大闪回恢复区,可以用以下SQL实现。
SQL> alter system set db_recovery_file_dest_size=10G;
System altered.
即使用这种方法解决的当前燃眉之急,虽然闪回恢复区ORACLE会自动管理,如果闪回恢复区空间不足就会清理掉没用的数据,但是如果备份策略不是很完善,数据库非常繁忙的情况下,还有可能遇到这种情况,通常需要修改归档日志的路径,将归档日志放到其他不受限制的路径下来解决这个问题,可通过下面的SQL来修改归档日志的存放路径。
SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/arch';
System altered.
修改归档日志产生格式:
SQL> alter system set log_archive_format='ARC%S_%R.%T_%D.log' scope=spfile;
System altered.
然后将数据库启动到MOUNT状态,将数据库修改为归档模式后建数据库启动到OPEN状态。
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 626327552 bytes
Fixed Size 2230952 bytes
Variable Size 440403288 bytes
Database Buffers 176160768 bytes
Redo Buffers 7532544 bytes
Database mounted.
SQL> alter database open;
Database altered.
SQL> alter database archivelog;
Database altered.
再次查看数据库的归档情况。
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/arch
Oldest online log sequence 6
Next log sequence to archive 8
Current log sequence 8
可以通过切换日志,查看归档路径下是否有归档日志产生来验证归档路径设置是否正确,可以通过下面的命令切换日志。
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
查看归档路径(/u01/app/oracle/arch)下是否有归档路径产生。
[root@node1 db_1]# cd /u01/app/oracle/arch/
[root@node1 arch]# ll
total 27092
-rw-r----- 1 oracle oinstall 27722752 Oct 16 14:25 ARC0000000008_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 2560 Oct 16 14:25 ARC0000000009_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 2048 Oct 16 14:25 ARC0000000010_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 1024 Oct 16 14:26 ARC0000000011_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 1024 Oct 16 14:26 ARC0000000012_0861102947.0001_52c8aedf.log
可以看到在/u01/app/oracle/arch/ 路径下已经产生了归档日志,归档日志的名字受log_archive_format参数限制,可以通过下面的命令查看。
SQL> show parameter log_archive_format;
NAME TYPE
VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string
ARC%S_%R.%T_%D.log
-------The end-----------------------------
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 6
Current log sequence 8
上面的存档终点USE_DB_RECOVERY_FILE_DEST默认就是闪回恢复区($ORACLE_BASE/flash_recovery_area),可以通过下面的SQL查看闪回恢复区的信息。
SQL> show parameter db_recover;
NAME TYPE
VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string
/u01/app/oracle/fast_recovery_
area
db_recovery_file_dest_size big integer 4122M
通过上面的SQL结果可以看到,闪回恢复区为(u01/app/oracle/fast_recovery_area),大小为4G,也可以通过查询v$recovery_file_dest视图查看闪回恢复的限制信息。
SQL> select name,SPACE_LIMIT,SPACE_USED from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED
---------------------------------------- ----------- ----------
/u01/app/oracle/fast_recovery_area 4322230272
0
默认情况下,归档日志会存放到闪回恢复区(/u01/app/oracle/fast_recovery_area)内,如果闪回恢复区已经使用到4G,归档日志就有可能无法继续归档,数据库hang住,通常的解决方法是增大闪回恢复区,可以用以下SQL实现。
SQL> alter system set db_recovery_file_dest_size=10G;
System altered.
即使用这种方法解决的当前燃眉之急,虽然闪回恢复区ORACLE会自动管理,如果闪回恢复区空间不足就会清理掉没用的数据,但是如果备份策略不是很完善,数据库非常繁忙的情况下,还有可能遇到这种情况,通常需要修改归档日志的路径,将归档日志放到其他不受限制的路径下来解决这个问题,可通过下面的SQL来修改归档日志的存放路径。
SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/arch';
System altered.
修改归档日志产生格式:
SQL> alter system set log_archive_format='ARC%S_%R.%T_%D.log' scope=spfile;
System altered.
然后将数据库启动到MOUNT状态,将数据库修改为归档模式后建数据库启动到OPEN状态。
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 626327552 bytes
Fixed Size 2230952 bytes
Variable Size 440403288 bytes
Database Buffers 176160768 bytes
Redo Buffers 7532544 bytes
Database mounted.
SQL> alter database open;
Database altered.
SQL> alter database archivelog;
Database altered.
再次查看数据库的归档情况。
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/arch
Oldest online log sequence 6
Next log sequence to archive 8
Current log sequence 8
可以通过切换日志,查看归档路径下是否有归档日志产生来验证归档路径设置是否正确,可以通过下面的命令切换日志。
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.
查看归档路径(/u01/app/oracle/arch)下是否有归档路径产生。
[root@node1 db_1]# cd /u01/app/oracle/arch/
[root@node1 arch]# ll
total 27092
-rw-r----- 1 oracle oinstall 27722752 Oct 16 14:25 ARC0000000008_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 2560 Oct 16 14:25 ARC0000000009_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 2048 Oct 16 14:25 ARC0000000010_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 1024 Oct 16 14:26 ARC0000000011_0861102947.0001_52c8aedf.log
-rw-r----- 1 oracle oinstall 1024 Oct 16 14:26 ARC0000000012_0861102947.0001_52c8aedf.log
可以看到在/u01/app/oracle/arch/ 路径下已经产生了归档日志,归档日志的名字受log_archive_format参数限制,可以通过下面的命令查看。
SQL> show parameter log_archive_format;
NAME TYPE
VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string
ARC%S_%R.%T_%D.log
-------The end-----------------------------
相关文章推荐
- oracle数据库-归档模式/非归档模式修改
- 修改oracle数据库为归档模式
- Oracle修改日志归档模式、归档路径以及空间大小的相关测试
- oracle数据库归档模式的切换
- oralce 10g rac 归档模式修改
- 查询oracle数据库是否运行在归档模式下
- 在ORACLE数据库中实现从非归档模式到归档模式的转化
- 修改 oracle 10g 的归档模式
- 修改Orace RAC+ASM下归档日志路径
- 更改oracle数据库归档模式
- oracle数据库将归档模式更改为非归档模式
- 查看oracle数据库是否归档和修改归档模式(转)
- 查看oracle数据库是否归档和修改归档模式
- ORA-00265:修改oracle归档模式错误分析
- ORA-00265:修改oracle归档模式错误分析
- 查看oracle数据库是否归档和修改归档模式
- Oracle数据库的闪回恢复区及多归档路径的设置
- 更改oracle10g的归档模式和归档路径
- 更改oracle10g的归档模式和归档路径
- oracle 添加控制文件和修改归档模式