Oracle 11G R2 DataGuard日常维护及故障处理文档格式.docx
《Oracle 11G R2 DataGuard日常维护及故障处理文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle 11G R2 DataGuard日常维护及故障处理文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
SQL>
alterdatabaseforcelogging;
关闭forcelogging
alterdatabasenoforcelogging;
查看forcelogging的状态:
selectFORCE_LOGGINGfromv$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)
(GLOBAL_DBNAME=
db1)
(SID_NAME=
tnsnames.ora则只需要添加服务名
db1
=
(DEST_NAME
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=
db1)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=
db2
db2)(PORT=1521))
db2)
以上按照自己的实际情况进行修改
以上配置好了,就可以相互的tnsping
db1或tnspingdb2进行测试
4.参数文件说明
参数文件说明:
增加以下参数,如果在初始化参数已经有配置,则看需要做相应的修改。
1、与主库角色相关的初始化参数说明:
DB_NAME
注意保持同一个DataGuard环境中所有数据库DB_NAME相同
DB_UNIQUE_NAME
为每一个数据库指定一个唯一的名称,以标示同一个dataguard环境中不同的数据库。
LOG_ARCHIVE_CONFIG
该参数通过DG_CONFIG属性罗列同一个DataGuard中所有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,注意保证相同DataGuard配置中所有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>
altersystemsetdb_unique_name=’db1’scope=spfile;
altersystemsetlog_archive_config='
dg_config=(db1,db2)'
scope=spfile;
---这里的db1和db2为db_unique_name
altersystemsetlog_archive_dest_1='
location=/opt/oracle/flash_recovery_area'
--/opt/oracle/flash_recovery_area为本地的归档目录,需要手动创建该目录,当然也可以指定别的路径。
注意oracle账号对该目录又可读写的权限。
altersystemsetlog_archive_dest_state_1=enablescope=spfile;
--这个通常不用修改,系统默认的就是enable。
altersystemsetlog_archive_dest_2='
service=db2valid_for=(online_logfiles,primary_role)archasyncNOAFFIRMdb_unique_name=db2'
-----这里的service为主库连接到备库的服务名,后面会在tnsnames.ora文件中配置
valid_for参数说明这个归档日志目的地在本数据库为主库的角色下才需要把online_logfile传输到备库去。
archasyncNOAFFIRM说明的是同步的方式,同步的方式有三种:
最大保护,最大性能,最大可用。
altersystemsetlog_archive_dest_state_2=enablescope=spfile;
以上修改的是作为主库角色需要的参数,为了方便以后主备库切换,建议在主库中也配置作为备库角色的相关参数。
altersystemsetfal_server=db2scope=spfile;
altersystemsetfal_client=dbscope=spfile;
altersystemsetstandby_file_management=autoscope=spfile;
生成静态参数文件,以备后面给备库使用。
createpfilefromspfile;
重新启动主库,使参数生效。
6.DataGuard启动停止及维护:
DataGuard停止:
先主后备
DataGuard启动:
先备后主
7.DataGuard日常监控视图
a.主库查看日志归档路径是否可用,如果远程归档目录不可用则error会显示错误信息
selectdest_name,status,errorfromv$archive_dest;
DEST_NAME
STATUS
ERROR
------------------------------------------------------------
LOG_ARCHIVE_DEST_1
VALID
LOG_ARCHIVE_DEST_2
LOG_ARCHIVE_DEST_3
INACTIVE
LOG_ARCHIVE_DEST_4
LOG_ARCHIVE_DEST_5
LOG_ARCHIVE_DEST_6
LOG_ARCHIVE_DEST_7
LOG_ARCHIVE_DEST_8
LOG_ARCHIVE_DEST_9
LOG_ARCHIVE_DEST_10INACTIVE
10rowsselected.
如上记录则代表备库归档日志目录有效且正常
b.查询数据库的主备角色,以及当前DataGuard的运行模式,在主备查询结果不同
主库:
selectdatabase_role,LOG_MODE,PROTECTION_MODE,PROTECTION_LEVELfromv$database;
DATABASE_ROLE
LOG_MODE
PROTECTION_MODE
PROTECTION_LEVEL
--------------------------------------------------------------------
PRIMARY
ARCHIVELOG
MAXIMUMPERFORMANCE
MAXIMUMPERFORMANCE
备库:
selectdatabase_role,LOG_MODE,PROTECTION_MODE,PROTECTION_LEVELfromv$d