一些匪夷所思的資料庫問題

yezhibin發表於2012-08-20
         可能是農曆7月,這幾天遇到一些匪夷所思問題,具體有兩個問題:

   1、生產庫是基於AIX平臺ORACLE 10.2.0.3,其他資料庫為Linux平臺和Windows

平臺11.2.0.3資料庫,通過dblink訪問生產庫的表,Windows平臺訪問輸出0.02秒,

而Linux6訪問相同表需要3~5秒,通過10046跟蹤,發現語句在解析和執行階段中

主要的等待時間出現在sql*net message from dblink,最早懷疑是版本或補丁匹配

問題,但通過測試發現LINUX和UNIX直接採用DBLINK,無論是10.2.0.3還是

11.2.0.3都有相似問題,而如果是同一個平臺上的資料庫,就不存在該問題,但

WINDOWS無論和誰進行dblink沒有上述描述問題。目前該問題懷疑可能是TCPIP

連線時,UNIX和LINUX 直接的傳輸包不匹配,但無從進行測試。

      具體採用10046 DBLINK跟蹤方法見metalink ID 422455.1

2、在為客戶遠端安裝配置基於AIX平臺上9I RAC資料庫,安裝軟體包非常正常,但

應用Xmanager遠端執行dbca建立資料庫時候,如果稍微點選建立資料庫option時

候,JAVA介面會hang。懷疑內網外網之間可能網路配置的限制。只能採用手工建庫

方式,具體建庫指令碼見後。建立完資料庫,發現一個詭異的現象:

        資料庫兩個節點A和B,如果先啟動資料庫A,再啟動資料庫B沒有任何問題,但

是如果先啟動資料庫B,在啟動資料庫A時候,資料庫A無法開啟,一直處於mount

狀態,alert日誌中沒有出現任何錯誤提示,將資料庫B關閉,資料庫A能立馬open。

因此很顯然和資料庫IPC有關,檢視資料庫B diag程式日誌,發現“連線節點0 超時

錯誤”,我ping資料庫內部私有地址,沒有問題。所以在引數檔案中,新增另一個

網路地址,問題就能解決:

node1.cluster_interconnections='10.10.31.2: 81.24.17.15'
node2.cluster_interconnecttions='10.10.31.1:81.24.17.27'

我只能懷疑節點B與交換機的線問題。

以下是手工建立9iRAC資料庫指令碼

mkdir -p /oracle/admin/ckts/bdump
mkdir -p /oracle/admin/ckts/cdump
mkdir -p /oracle/admin/ckts/udump
orapwd file=./orapwckts1 password=change_on_install
vi initckts1.ora
(略)

CREATE DATABASE "CKTS"
MAXINSTANCES 32
MAXLOGHISTORY 0
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
DATAFILE '/dev/rlvckts_sys' SIZE 2000M REUSE AUTOEXTEND ON NEXT    
   10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/rlvckts_temp' SIZE 10230M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/rlvckts_undo1' SIZE 10230M REUSE AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/dev/rlvckts_log1a') SIZE 500M REUSE,
GROUP 2 ('/dev/rlvckts_log2a') SIZE 500M REUSE,
GROUP 3 ('/dev/rlvckts_log3a') SIZE 500M REUSE;

CREATE TABLESPACE "INDX" LOGGING DATAFILE '/dev/rlvckts_idx1' SIZE 10230M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE "TOOLS" LOGGING DATAFILE '/dev/rlvckts_tool' SIZE 120M REUSE AUTOEXTEND ON NEXT  320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE "USERS" LOGGING DATAFILE '/dev/rlvckts_usr' SIZE 120M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;


connect SYS/change_on_install as SYSDBA
@/oracle/app/oracle/product/9.2.0/rdbms/admin/catalog.sql;
@/oracle/app/oracle/product/9.2.0/rdbms/admin/catexp7.sql;
@/oracle/app/oracle/product/9.2.0/rdbms/admin/catblock.sql;
@/oracle/app/oracle/product/9.2.0/rdbms/admin/catproc.sql;
@/oracle/app/oracle/product/9.2.0/rdbms/admin/catoctk.sql;
@/oracle/app/oracle/product/9.2.0/rdbms/admin/owminst.plb;
connect SYSTEM/manager
@/oracle/app/oracle/product/9.2.0/sqlplus/admin/pupbld.sql;
connect SYSTEM/manager
@/oracle/app/oracle/product/9.2.0/sqlplus/admin/help/hlpbld.sql helpus.sql;

create undo tablespace UNDOTBS2 datafile '/dev/rlvckts_undo2' SIZE 10230M
REUSE EXTENT MANAGEMENT LOCAL;

alter database add logfile thread 2
GROUP 4 ('/dev/rlvckts_log4a') SIZE 500M REUSE,
GROUP 5 ('/dev/rlvckts_log5a') SIZE 500M REUSE,
GROUP 6 ('/dev/rlvckts_log6a') SIZE 500M REUSE;
alter database enable public thread 2;
connect SYS/change_on_install as sysdba
@/oracle/app/oracle/product/9.2.0/rdbms/admin/catclust.sql;
@/oracle/app/oracle/product/9.2.0/rdbms/admin/utlrp.sql;

shutdown immediate


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/354732/viewspace-741390/,如需轉載,請註明出處,否則將追究法律責任。

相關文章