1.关于Forced Logging模式
有一些DDL语句可以通过指定NOLOGGING子句的方式避免写redo log(目的是提高速度,某些时候确实有效),指定数据库为FORCE LOGGING模式后,数据库将会记录除临时表空间或临时回滚段外所有的操作而忽略类似NOLOGGING之类的指定参数。如果在执行force logging时有nologging之类的语句在执行,则force logging会等待直到这类语句全部执行。FORCE LOGGING是做为固定参数保存在控制文件中,因此其不受重启之类操作的影响(只执行一次即可)
打开force logging
SQL > alter database force logging;
关闭force logging
SQL > alter database no force logging;
查看force logging的状态:
SQL > select FORCE_LOGGING from v$database;
2.关于主备库的密码
密码文件位置$Oracle_HOME/dbs/orapwSID,主备库的密码必须要一致,否则可能出现日志无法传输故障,最好是使用scp传过去较为方便
3.关于listener.ora和tnsnames.ora
listener.ora为数据库的监听配置文件,tnsnames.ora为网络服务名配置文件
修改listener.ora是需要重启监听程序,而tnsnames.ora是不需要重启的,我们可以使用默认的listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
以上是动态注册,如果是静态注册的话,则是
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = db1)
(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)
(SID_NAME = db1)
)
)
tnsnames.ora则只需要添加服务名
db1 =
(DEST_NAME
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db1)
)
)
db2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = db2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db2)
)
)
以上按照自己的实际情况进行修改
以上配置好了,就可以相互的tnsping db1或tnsping db2进行测试
4.参数文件说明
参数文件说明:
增加以下参数,如果在初始化参数已经有配置,则看需要做相应的修改。
1、与主库角色相关的初始化参数说明:
DB_NAME
注意保持同一个Data Guard环境中所有数据库DB_NAME相同
DB_UNIQUE_NAME
为每一个数据库指定一个唯一的名称,以标示同一个dataguard环境中不同的数据库。
LOG_ARCHIVE_CONFIG
该参数通过DG_CONFIG属性罗列同一个Data Guard中所有DB_UNIQUE_NAME(含主库db及备库db),以逗号分隔。
例如:LOG_ARCHIVE_CONFIG='DB_CONFIG=(db1,db22)'
LOG_ARCHIVE_DEST_n
归档文件的生成路径。该参数非常重要,dataguard就是通过这里的设置传输日志的。
LOG_ARCHIVE_DEST_STATE_n
指定参数值为ENABLE,标示对应的LOG_ARCHIVE_DEST_n参数是否有效。
REMOTE_LOGIN_PASSWORDFILE
推荐设置参数值为EXCLUSIVE或者SHARED,注意保证相同Data Guard配置中所有db服务器sys密码相同。如果不同日志传输会失败。数据库默认是EXCLUSIVE,一般不用修改。
LOG_ARCHIVE_FORMAT
指定归档文件格式。一般也不用修改,保持默认即可
2、以下参数为备库角色相关的参数,建议在主库的初始化参数中也进行设置,这样在主备库角色相互转换后不需要做修改dataguard也能正常运行。
FAL_SERVER
指定备库到主数据库的连接服务名,FAL_SERVER = orcl2日志所在服务器。
FAL_CLIENT
指定主库到备库的连接服务名,FAL_CLIENT = orcl日志接收客户端。
STANDBY_FILE_MANAGEMENT
如果主库的数据文件发生修改(如新建,重命名等)则按照本参数的设置在备库中做相应修改。设为AUTO表示自动管理。设为MANUAL表示需要手工管理。
例如:STANDBY_FILE_MANAGEMENT=AUTO
下面开始修改主库的初始化参数。
db_name参数已经设置,不用修改
SQL> alter system set db_unique_name =’db1’ scope=spfile;
SQL> alter system set log_archive_config='dg_config=(db1,db2)' scope=spfile;
---这里的db1和db2为db_unique_name