oracle 启动_Oracle RAC启动归档时需要设置CLUSTER_DATABASE参数吗?

ebd4d81116128eaf70f5a5a53ee64c12.gif

结论:

数据库版本Release 9.0.1 to 10.1,启动归档模式需要设置CLUSTER_DATABASE参数。

数据库版本10.2 and higher version,启动归档模式可以不需要设置CLUSTER_DATABASE参数。

那么CLUSTER_DATABASE参数有什么作用呢?

cluster_database

当想要多个实例同时mount数据库,CLUSTER_DATABASE参数必须是TRUE;

当CLUSTER_DATABASE参数为FALSE时,同时只能有一个实例能mount数据库。

If Oracle Database allows multiple instances to mount the same database concurrently, then the CLUSTER_DATABASE initialization parameter setting can make the database available to multiple instances. Database behavior depends on the setting:If CLUSTER_DATABASE is false (default) for the first instance that mounts a database, then only this instance can mount the database.If CLUSTER_DATABASE is true for the first instance, then other instances can mount the database if their CLUSTER_DATABASE parameter settings are set to true. The number of instances that can mount the database is subject to a predetermined maximum specified when creating the database.

测试启动11.2.0.4.0版本数据库归档模式

查看归档模式

SQL> archive log list;Database log mode         No Archive ModeAutomatic archival         DisabledArchive destination         /u01/app/oracle/product/11.2.0/db_1/dbs/archOldest online log sequence     26Current log sequence         27

创建归档目录

[grid@rac01 ~]$ asmcmdASMCMD> lsARCH/DATA/OCR/ASMCMD> cd ARCHASMCMD> lsASMCMD> mkdir arch

修改归档目录和归档格式

SQL> alter system set log_archive_format= 'cjcdb_%t_%s_%r.arc' scope=spfile sid='*';SQL> alter system set log_archive_dest_1='location=+ARCH/arch' scope=spfile sid='*';

停止数据库

[oracle@rac01 ~]$ srvctl stop database -d cjcdb[oracle@rac01 ~]$ srvctl status database -d cjcdbInstance cjcdb1 is not running on node rac01Instance cjcdb2 is not running on node rac02

挂载数据库

[oracle@rac01 ~]$ srvctl start database -d cjcdb -o mount[oracle@rac01 ~]$ srvctl status database -d cjcdb -vInstance cjcdb1 is running on node rac01. Instance status: Mounted (Closed).Instance cjcdb2 is running on node rac02. Instance status: Mounted (Closed).

启动归档模式

[oracle@rac01 ~]$ sqlplus / as sysdbaSQL> alter database archivelog;

重启数据库

[oracle@rac01 ~]$ srvctl stop database -d cjcdb[oracle@rac01 ~]$ srvctl start database -d cjcdb

查看归档

[oracle@rac02 ~]$ sqlplus / as sysdbaSQL> archive log list;Database log mode         Archive ModeAutomatic archival         EnabledArchive destination         +ARC/archOldest online log sequence     1Next log sequence to archive   2Current log sequence         2

参考:Doc ID 235158.1和Doc ID 1186764.1

10.1和之前版本启动归档模式

How To Enable/Disable Archive Log Mode in Real Application Cluster Environment (Doc ID 235158.1)APPLIES TO:Oracle Database - Enterprise Edition - Version 9.0.1.0 to 10.1.0.5 [Release 9.0.1 to 10.1]Information in this document applies to any platform.1. Shut down all instances.2. Set the CLUSTER_DATABASE parameter to false on one instance in the parameter file. If using the server parameter file, make an entry for this:     *.CLUSTER_DATABASE= FalseFor Modifying server parameter file (SPFILE):Alter system set cluster_database=FALSE scope=spfile sid='*';See Document 137483.1 How to Modify the Content of a SPFILE Parameter File3. Set the LOG_ARCHIVE_START parameter to true. 4. Set the LOG_ARCHIVE_FORMAT and make sure the parameter containing the %t parameter includes the thread number in the archived logfile name.5. Set the cluster database wide LOG_ARCHIVE_DEST_1 parameter in the parameter file as follows:LOG_ARCHIVE_DEST_1='LOCATION=$ORACLE_BASE/oradata//archive' Note: You can multiplex the destination to up to ten locations, refer to:Document 66433.1 Oracle8i - Multiple Archive Destinations and Remote Archival To specify the archive log destinations on a per instance basis for a two-instance cluster database, for example, set the parameter as follows:   .LOG_ARCHIVE_DEST_1='LOCATION=$ORACLE_BASE/oradata//archive'    .LOG_ARCHIVE_DEST_1='LOCATION=$ORACLE_BASE/oradata//archive' 6. Mount the database (in exclusive mode) for the instance on which you have set CLUSTER_DATABASE to false. 7. Set the database in ARCHIVELOG mode :     SQL> ALTER DATABASE ARCHIVELOG; 8. Shutdown the instance.     SQL> SHUTDOWN IMMEDIATE;9. Change the value of the CLUSTER_DATABASE parameter back to true.10. Startup all instances.To disable archive logging, follow the same steps but use the NOARCHIVELOG clause of the ALTER DATABASE statement.

10.2版本开始启动归档模式 

How To Enable/Disable Archive Logging In RAC Environment for 10.2 and higher version (Doc ID 1186764.1)APPLIES TO:Oracle Database Cloud Service - Version N/A and laterOracle Database - Enterprise Edition - Version 10.2.0.1 and laterOracle Database Cloud Schema Service - Version N/A and laterOracle Database Exadata Express Cloud Service - Version N/A and laterOracle Database Exadata Cloud Machine - Version N/A and laterInformation in this document applies to any platform.SOLUTION1. The following steps need to be taken to enable archive logging in a RAC database environment:-- shutdown immediate all database instances$ srvctl stop database -d -- startup database in mount mode$ srvctl start database -d  -o mount-- enable archive logging$ sqlplus / as sysdbasql> alter database archivelog;sql> exit;-- stop database$ srvctl stop database -d -- restart all database instances$ srvctl start database -d -- verify archiving is enabled/disabled by means of:sql> archive log list;You might need to set your log_archive_dest(_n) parameters to a shared location in each spfile, but the log_archive_start parameter does not need to be set anymore as of 10g (see Note 274302.1). 2. To disable archive logging, follow the same steps but use the NOARCHIVELOG clause of the ALTER DATABASE statement.

更多数据库相关学习资料,可以查看我的ITPUB博客,网名chenoracle

http://blog.itpub.net/29785807/

da8bdec4a36e81a7fcc06886d1d86386.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值