上篇文章提到了 怎么手动建库,在实际中我们可能要运行数据库到归档模式下,
但是手动建库我们可能没有设置归档路径 他默认咋$oracle_home\rdbms\下
下面我们可能就要改他的路径
windos 环境下操作方法
SQL> show parameter db_recove
NAME TYPE VALUE
------------------------------------ ----------- ----------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
SQL> select name,SPACE_LIMIT,SPACE_USED from v$recovery_file_dest;
未选定行
SQL> alter system set log_archive_dest_1='location=d:\oracle\product\10.2.0\dimsarchive‘
scope=spfile;
系统已更改。
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 D:\oracle\product\10.2.0\db_1\RDBMS
最早的联机日志序列 7
当前日志序列 9
SQL> alter database archivelog
2 ;
alter database archivelog
*
第 1 行出现错误:
ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 209715200 bytes
Fixed Size 1295848 bytes
Variable Size 67111448 bytes
Database Buffers 134217728 bytes
Redo Buffers 7090176 bytes
数据库装载完毕。
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ----------------------
pga_aggregate_target big integer 40M
SQL> alter database archivelog
2 ;
数据库已更改。
SQL> alter database open
2 ;
数据库已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 d:\oracle\product\10.2.0\dimsarchive
最早的联机日志序列 7
下一个存档日志序列 9
当前日志序列 9
下文是在linux 环境下
1.更改归档路径
在ORACLE10G中,默认的归档路径为$ORACLE_BASE/flash_recovery_area。对于这个路径,
ORACLE有一个限制,就是默认只能有2G的空间给归档日志使用,可以使用下面两个SQL语句去查看它的限制
1. select * from v$recovery_file_dest;
sql >show parameter db_recovery_file_dest(这个更友好直观一些)
当归档日志数量大于2G时,那么就会由于没有更多的空间去容纳更多的归档日志会报无法继续归档的错误。
如:
RA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 10017792 bytes disk space from 2147483648 limit
ARC0: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2007_04_30/o1_mf_1_220_0_.arc'
这时我们可以修改它的默认限制,比如说将它增加到5G或更多,也可以将归档路径重新置到别的路径,就不会有这个限制了。
更改限制语句如下:
alter system set db_recovery_file_dest_size=5368709102 (这里为5G 5x1024x1024x1024=5G)
或者直接修改归档的路径即可
SQL> alter system set log_archive_dest_1='location=/u01/archivelog' scope =both;
2.更改归档模式
sql> archive log list;
sql> shutdown immediate;
sql> startup mount;
sql> alter database archivelog;
sql> alter database open;
sql> archive log list;
-----end----
oracle 10g rac下如何打开归档模式?
答:在确定好每个实例的归档路径后,关闭所有实例,然后把某个时候mount后,把数据库和数据库集群软件都设置为归档模式,例如
alter database archivelog;
alter system set cluster_database=true scope=spfile sid='*';
最后重启数据库,确认归档是否生效,在每个实例上,执行alter system switch logfile;看对应的归档位置时候有archivelog产生
oracle rac用的是裸设备?
答:
首先你的共享存储用的裸设备,而你的数据库软件用的应该是文件系统吧? archivelog是在media recovery的时候才会用到,而且所有的实例要都能访问到,根据这个特点,可以把archivelog放在共享的裸设备上或者放在本地(其他实例可以把archivelog同步到本地或者用NFS归档,在或者用tns归档),放在共享存储裸设备上,可能会产生争用,管理也不方便
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28894640/viewspace-765103/ ,如需转载,请注明出处,否则将追究法律责任。