DBASK問答集萃第三期

引言
近期咱們在DBASK小程序增長了衆多專欄,其中包括蓋國強、楊廷琨、羅海雄、張樂奕、黃廷忠、崔華、熊軍、李真旭、何劍敏等專家欄目,還有2019年6月SCN兼容性問題、XTTS、備份恢復等技術專欄,另外螞蟻金服OceanBase入駐小程序。歡迎你們閱讀分享小程序中的專題欄目。sql

問答集萃
接下來,咱們分享本期整理出的問題和診斷總結,供你們參考學習,詳細的診斷分析過程能夠經過標題連接跳轉到小程序中查看。數據庫

問題1、RMAN-20039: format requires %c when duplexing小程序

備份時報錯:windows

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command
RMAN-20039: format requires %c when duplexing

備份數據文件不加%C就會報錯,加%C有兩份同樣的?服務器

----備份腳本
run{ 
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
crosscheck backup;
sql 'alter system archive log current';
backup spfile format '/bak/backup/spfile_%T_%s_%p_%c';
#backup database format '/bak/backup/dbbk_0_%d_%t_%u_%s_%p';
backup as compressed backupset incremental level 0 database format '/bak/backup/dbbk_0_%d_%t_%u_%s_%p';
sql 'alter system archive log current';
backup archivelog all format '/bak/backup/arc_%T_%s_%p_%c' delete all input;
backup current controlfile format '/bak/backup/cntrl_%T_%s_%p_%c';
crosscheck archivelog all;
delete noprompt expired backup;
delete noprompt obsolete;

release channel c1;
release channel c2;
release channel c3;
release channel c4;
}

診斷結論:若是設置不冗餘就不須要加c%,不然就會出現你的報錯。若是設置了冗餘必須加%c,那麼也就會產生相應的備份片。網絡

問題2、RAC實例沒法啓動ORA-01157 ORA-01110 ORA-27041 OSD-04002session

服務器未知緣由故障恢復後,啓動數據庫實例報錯,錯誤信息以下:oracle

ALTER DATABASE OPEN /* db agent *//* {2:38813:23181} */
This instance was first to open
Errors in file D:\APP\...\orcl2_ora_7780.trc:
ORA-01157: ????/?????? 11 - ??? DBWR ????
ORA-01110: ???? 11: 'D:\APP\...\NXPT.DBF'
ORA-1157 signalled during: ALTER DATABASE OPEN /* db agent *//* {2:38813:23181} */...
Fri Mar 01 10:00:59 2019
Shutting down instance (abort)
License high water mark = 2
USER (ospid: 13460): terminating the instance
Instance terminated by USER, pid = 13460
Fri Mar 01 10:01:16 2019
Instance shutdown complete
Fri Mar 01 10:34:34 2019

診斷結論:從報錯看,這個是一個本地數據文件app

'D:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\NTBS.DBF'

應該是將RAC中的數據庫文件誤建到本地磁盤,因此其餘實例沒法啓動,致使錯誤。性能

問題3、Oracle 12.2 expdp 很是慢

我有一個12.2.0.1的庫,非容器單實例。使用expdp導出,導出文件總共不到4G,但要花將近6個小時。alert沒有任何報錯。新庫基本都是空的分區表。

診斷結論:請先嚐試收集系統、數據字典統計信息。另外能夠嘗試以下方法:
一、最小配置stream_pool_size最小到256M,可能的話設置512M或者1GB;
二、加大expdp的並行度,若是CPU壓力不大,能夠設置爲CPU核數的1半或更多;
三、EXCLUDE=GRANT exclude = statistic
四、METRICS=YES
五、若是導出停留在TABLE_DATA階段,而且上述處理無效,能夠打補丁Bug 28100495

問題4、RAC CTSS狀態觀察模式,時間不一樣步

2節點RAC,其中一臺物理故障。修復後RAC報CTSS狀態爲觀察模式,時間不一樣步

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0

PL/SQL Release 12.2.0.1.0 - Production 0
CORE 12.2.0.1.0 Production 0
TNS for Linux: Version 12.2.0.1.0 - Production 0
NLSRTL Version 12.2.0.1.0 - Production 0
CPUs:56 Cores:28 Sockets:2
內存188.26G

診斷結論:CTSS狀態爲觀察模式一般是由於本地的NTP服務啓動了。因此能夠先檢查一下新修復的那臺服務器上是否是默認啓動了NTP。若是是,禁用掉一般就能夠了。

問題5、OGG-00665 OCI Error (status = 3114-ORA-03114)

OGG 同步序列,進程ABENDING,重啓進程問題仍然存在,數據庫正常,其餘ogg的進程正常,且排除掉該序列的同步後進程能夠正常啓動

2019-03-07 17:06:39  ERROR   OGG-00665 Oracle GoldenGate Delivery for Oracle, rptsqe.prm:  OCI Error describe for query
(status = 3114-ORA-03114: not connected to ORACLE), SQL<select status, deferrable from dba_constraints where owner =UPPER('BOSDATA') and table_name='TASK_SEQ' and constraint_type = 'P' >.
2019-03-07 17:06:39  ERROR   OGG-01668 Oracle GoldenGate Delivery for Oracle, rptsqe.prm:  PROCESS ABENDING.

診斷結論:
一、我昨天查了不少資料,有一個一樣的報錯,RAC環境,OGG版本也是11.2,不過是抽取進程,說是重啓集羣后問題消失,因此之後再遇到SEQ同步報錯了,能夠嘗試下。
二、有多是複製進程中的這個參數引發,或者未知BUG
DBOPTIONS _NOAUTOMATICSEQUENCEFLUSH
三、通常狀況下目標端不會使用sequence,因此能夠考慮排除全部SEQ的同步
四、升級OGG版本,至少12

問題6、數據庫大量殭屍進程未自動清理

數據庫出現客戶端鏈接不上,查看alert日誌

Wed Mar 13 09:21:50 2019
ORA-00020: No more process state objects available
ORA-20 errors will not be written to the alert log for
 the next minute. Please look at trace files to see all
 the ORA-20 errors.
Process J002 submission failed with error = 20
kkjcre1p: unable to spawn jobq slave process
Errors in file /export/home/u01/app/oracle/diag/rdbms///trace/_cjq0_25517.trc:

此時查看 v$process 爲738個進程,參數process進程數設置爲800.如下語句查詢結果爲380

select count(*) from v$process where addr not in (select paddr from v$session);

殺掉這些進程,客戶端能夠正常鏈接。整體進程維持在400左右。
問題點:一、pmon爲什麼沒有清理掉這380個沒有會話的進程。二、是否有參數設置pmon清除殭屍進程的條件,好比空閒時間之類的。
診斷結論:通常kill session後會出現這種狀況,可是不會出現幾百個的狀況。首先請檢查是否存在頻繁kill session的操做,和應用創建鏈接、斷開鏈接的方式是否規範;其次,臨時將數據庫的process參數調高,避免應用出錯。最後,提供一個自動清理殭屍process的腳本。

問題7、oracle 10gR2 expdp報錯ORA-00376

expdp導出報錯

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

ORA-39001: invalid argument value
ORA-00376: file 53 cannot be read at this time
ORA-01110: data file 53: '/oracle/oracle/oradata/xxx/xxx.dbf'

53號數據文件因爲硬件故障致使文件損壞,沒法修復。庫爲非歸當模式,因此將53號數據文件offline drop,將庫強制啓起來了。如今備份的時候報錯了,導出命令以下;

expdp user/passwd parfile=cfg_except_tables.cfg

cat  cfg_except_tables.cfg
EXCLUDE=TABLE
COMPRESSION=METADATA_ONLY
DIRECTORY=DPUMP_DIR1
DUMPFILE=auto_backup.dmp
LOGFILE=auto_backup.log

經過以下SQL查爲空,我把53號數據文件已經清空了,但仍是報上面的錯

select * from dba_extents where file_id=53

診斷結論:ASSM 管理模式下dba_extents是存放在數據文件中的,脫機文件是看不到對象的。由於你這種報錯說明53號文件仍是有對象存在的,原則上是能夠跳過這些對象導出正常的對象的,要確認53號的對象須要使用以下SQL。

問題8、oracle 10G 創建dblink 訪問9i的遠程庫執行sql很慢

oracle 10G 創建了dblink 鏈接9i 數據庫 執行了 select from table --table中只有兩條記錄 耗時 20s 兩臺服務器間網絡正常 再9i 直接執行sql 很快 還多是什麼緣由呢?查看等待事件爲 SQLNet message from dblink
診斷結論:是由於 10g 的服務器操做系統版本是 windows server 2012 從windows server 2008 之後 增長了 接收窗口自動調諧級別 功能致使,調整接收窗口自動調諧級別解決。

問題9、安裝rac,IO有什麼要求?
安裝rac,IO有什麼要求麼?參考過 rac安裝有最佳實踐,可是官方並無指出IO具體參考範圍(IOPS)。因此,想諮詢下,貴司有沒有針對RAC安裝對IO的要求或IO範圍參考值?我想對比下本身的存儲IO性能,看是否達標。
診斷結論:是由於 10g 的服務器操做系統版本是 windows server 2012 從windows server 2008 之後 增長了 接收窗口自動調諧級別 功能致使,調整接收窗口自動調諧級別解決。

問題10、雙機切換後TNS-12537 ORA-609
數據庫是Oracle,操做系統是Windows,高可用是rose雙機。把主服務器切換到備用服務器時,會出現程序鏈接不上,報錯以下:

可是切回來之後就正常了,通過查看日誌,發現以下報錯:

Fatal NI connect error 12537, connecting to:
 (LOCAL=NO)
  VERSION INFORMATION:
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.2.0.1.0 - Production
 Time: 12-3月 -2019 20:15:08
 Tracing not turned on.
 Tns error struct:
    ns main err code: 12537

TNS-12537: TNS: 鏈接關閉
    ns secondary err code: 12560
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
opiodr aborting process unknown ospid (10796) as a result of ORA-609
Tue Mar 12 20:15:28 2019

請問是什麼緣由致使的呢?怎麼去解決這個問題呢
診斷結論:檢查雙機各自監聽日誌,發現節點監聽日誌4G,清空問題節點監聽日誌問題解決。

問題11、oracle 導入數據報ORA-39242錯誤
提示因爲表屬性緣由,沒法導入入成功

ORA-39242: Unable to export/import TABLE_DATA: … due to table attributes.

診斷結論:檢查表上面索引的狀態是否正常,若是不是VALID就作下rebuild再導入

相關文章
相關標籤/搜索