A机:.AIX,oracle10.0.2.0.4,主机,DB自动分配SGA,流池手动设置500M;
B机:CENTOS5.5,oracle10.0.2.0.4,备机,DB自动分配SGA,流池手动设置500M;
做全库的流复制,目前流复制实施在6天前完成,过程中无报错。昨天上班发现一直没开始做同步,发现主机的Capture进程非正常中止。进一步查明发现是流池太小
证据1:
SQL> SELECT CAPTURE_NAME,QUEUE_NAME,RULE_SET_NAME,NEGATIVE_RULE_SET_NAME,STATUS FROM DBA_CAPTURE;
CAPTURE_NAME QUEUE_NAME
------------------------------ ------------------------------
RULE_SET_NAME NEGATIVE_RULE_SET_NAME STATUS
------------------------------ ------------------------------ --------
CAPTURES_SRC CAPTURE_SRC
RULESET$_3 ABORTED
证据2:
SQL> SELECT CAPTURE_NAME, QUEUE_NAME, STATUS, CAPTURED_SCN, APPLIED_SCN FROM DBA_CAPTURE;
CAPTURE_NAME QUEUE_NAME STATUS
------------------------------ ------------------------------ --------
CAPTURED_SCN APPLIED_SCN
------------ -----------
CAPTURES_SRC CAPTURE_SRC ABORTED
证据3:
SQL>SELECT CAPTURE_NAME,ERROR_NUMBER,ERROR_MESSAGE STATUS FROM DBA_CAPTURE;
CAPTURE_NAME ERROR_NUMBER STATUS
------------------ ----------------------------------------------------------------------------------------------
CAPTURES_SRC 4031 ORA-04031: unable to allocate 48 bytes of shared memory ("streams pool","unknown object","streams pool","kol vstring")
附:
附录1-主库SGA情况:
SQL> select * from v$Sgainfo;
NAME BYTES RES
-------------------------------- ---------- ---
Fixed SGA Size 2113472 No
Redo Buffers 14663680 No
Buffer Cache Size 6643777536 Yes
Shared Pool Size 1.0050E+10 Yes
Large Pool Size 16777216 Yes
Java Pool Size 16777216 Yes
Streams Pool Size 33554432 Yes
Granule Size 16777216 No
Maximum SGA Size 1.6777E+10 No
Startup overhead in Shared Pool 117440512 No
Free SGA Memory Available 0
11 rows selected.
SQL> show sga;
Total System Global Area 1.6777E+10 bytes
Fixed Size 2113472 bytes
Variable Size 1.0117E+10 bytes
Database Buffers 6643777536 bytes
Redo Buffers 14663680 bytes
附录2-告警日志情况
目前,A机的告警文件从实施到现在的记录在附件中;B机的告警日志文件都没有相关的报错(从流复制的实施后一直没有ORA报错或是告警信息)。
附录3-后续情况
把流池修改到512M后,流复制中的报错改为:ORA-04031: unable to allocate 40 bytes of shared memory ("streams pool","unknown object","streams pool","kol vstring")。当想把流池改到更大,比方1024M,768M,600M,550M,都出现以下报错:
SQL>ALTER SYSTEM SET STREAMS_POOL_SIZE = 550M;
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
问题1:目前怎样处理让流复制开始同步?
问题2:相隔了6天的数据,有十G左右的数据量,流复制能同步过吗?同步后会有什么影响吗?
[本帖最后由 tsx197 于 2012-6-26 13:07 编辑]
2012-6-26 13:07 上传
点击文件名下载附件
4.15 KB, 下载次数: 331