An Issue of Oracle DataGuard Broker(二)

2014-11-24 16:51:56 · 作者: · 浏览: 1
chiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
LatestLog = '(monitor)'
TopWaitEvents = '(monitor)'
Current status for "sbdb":
Warning: ORA-16809: multiple warnings detected for the database
我initSBDB.ora里是下面这样的,明显的broker 里和我SPFILE里是不一致的,所以一直报错误。
db_file_name_convert=
'/u01/app/oracle/oradata/PROD/Disk1','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk2','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk3','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk4','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk5','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk6','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk7','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD/Disk8','/u01/app/oracle/oradata/SBDB',
'/u01/app/oracle/oradata/PROD','/u01/app/oracle/oradata/SBDB'
查看metlink发现有如下bug:
Bug 9469176: BROKER DOESNOT SET DB_FILE_NAME_CONVERT (DBFILENAMECONVERT) CORRECTLY
DescriptionData Guard broker limit the pairs of strings in DbFileNameConvert and LogFileNameConvert to only 10. Exceeding that number, broker will not set them into the actual DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT parameter
仔细分析发现v$parameter 的VALUE为VARCHAR2(512),我在pfile中设置的值比这个长,导致show 和 broker中看到的都是被截断的值
SQL> desc v$parameter
Name Null Type
----------------------------------------- -------- ----------------------------
NUM NUMBER
NAME VARCHAR2(80)
TYPE NUMBER
VALUE VARCHAR2(512)
DISPLAY_VALUE VARCHAR2(512)
ISDEFAULT VARCHAR2(9)
ISSES_MODIFIABLE VARCHAR2(5)
ISSYS_MODIFIABLE VARCHAR2(9)
ISINSTANCE_MODIFIABLE VARCHAR2(5)
ISMODIFIED VARCHAR2(10)
ISADJUSTED VARCHAR2(5)
ISDEPRECATED VARCHAR2(5)
DESCRIPTION VARCHAR2(255)
UPDATE_COMMENT VARCHAR2(255)
HASH NUMBER
Broker重要的诊断命令:
show database 'sbdb' statusreport;
show database verbose SBDB;
总结:参数文件的值的长度最好不要超过512,否则会出现问题的。记录下来,给自己一个Lessons learned的把。