【問題處理】diagcollection.pl採集指令碼執行出錯——Argument list too long
1.問題現象
1)在root使用者下設定必須的環境變數
[root@rac1 ~]# export ORACLE_BASE=/oracle/app/oracle
[root@rac1 ~]# export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
[root@rac1 ~]# export ORA_CRS_HOME=/oracle/app/crs
2)確認環境變數設定正確
[root@rac1 ~]# echo $ORACLE_BASE
/oracle/app/oracle
[root@rac1 ~]# echo $ORACLE_HOME
/oracle/app/oracle/product/10.2.0/db_1
[root@rac1 ~]# echo $ORA_CRS_HOME
/oracle/app/crs
[root@rac1 ~]# echo $HOSTNAME
rac1
3)問題報錯如下
[root@rac1 ~]# cd $ORA_CRS_HOME/bin
[root@rac1 bin]# ./diagcollection.pl -collect --all --crshome $ORA_CRS_HOME
Production Copyright 2004, 2005, Oracle. All rights reserved
Cluster Ready Services (CRS) diagnostic collection tool
The following CRS diagnostic archives will be created in the local directory.
crsData_rac1.tar.gz -> logs,traces and cores from CRS home. Note: core files will be packaged only with the -core option.
ocrData_rac1.tar.gz -> ocrdump, ocrcheck etc
coreData_rac1.tar.gz -> contents of CRS core files in text format
Collecting crs data
sh: /bin/tar: Argument list too long
gzip: crsData_rac1.tar: No such file or directory
Collecting OCR data
Collecting information from core files
No corefiles found
The following Oracle Home diagnostic archives will be created in the local directory.
oraData_rac1.tar.gz -> logs, traces and cores from Oracle Home
Collecting oracle home data
/bin/tar: Removing leading `/' from member names
2.問題原因
該問題是由於Shell本身的限制,當引數列表(Argument list)過長後,便會導致diagcollection.pl指令碼執行出錯。
本例中CRS日誌目錄下的大量檔案是導致該問題的罪魁禍首。
3.處理方法
主要有兩種處理方法:①手工收集CRS日誌目錄下的所需檔案;②刪除無用檔案,避免出現超出Shell限制的問題
針對第二種方法,我們僅需要關心“$CRS_HOME/log//clien”目錄下的檔案即可,因為該目錄下儲存的檔案內容最為龐大。可以清除一個月之前的檔案(或將一個月之前的檔案手工備份到其他目錄)後再嘗試收集。
4.更多的參考資訊
有關該問題的更多參考資訊請參見MOS:diagcollection.pl Fails With "Argument list too long" [ID 751981.1]
5.小結
我們的目標:不放過任何細節!
Good luck.
secooler
10.11.20
-- The End --
1)在root使用者下設定必須的環境變數
[root@rac1 ~]# export ORACLE_BASE=/oracle/app/oracle
[root@rac1 ~]# export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
[root@rac1 ~]# export ORA_CRS_HOME=/oracle/app/crs
2)確認環境變數設定正確
[root@rac1 ~]# echo $ORACLE_BASE
/oracle/app/oracle
[root@rac1 ~]# echo $ORACLE_HOME
/oracle/app/oracle/product/10.2.0/db_1
[root@rac1 ~]# echo $ORA_CRS_HOME
/oracle/app/crs
[root@rac1 ~]# echo $HOSTNAME
rac1
3)問題報錯如下
[root@rac1 ~]# cd $ORA_CRS_HOME/bin
[root@rac1 bin]# ./diagcollection.pl -collect --all --crshome $ORA_CRS_HOME
Production Copyright 2004, 2005, Oracle. All rights reserved
Cluster Ready Services (CRS) diagnostic collection tool
The following CRS diagnostic archives will be created in the local directory.
crsData_rac1.tar.gz -> logs,traces and cores from CRS home. Note: core files will be packaged only with the -core option.
ocrData_rac1.tar.gz -> ocrdump, ocrcheck etc
coreData_rac1.tar.gz -> contents of CRS core files in text format
Collecting crs data
sh: /bin/tar: Argument list too long
gzip: crsData_rac1.tar: No such file or directory
Collecting OCR data
Collecting information from core files
No corefiles found
The following Oracle Home diagnostic archives will be created in the local directory.
oraData_rac1.tar.gz -> logs, traces and cores from Oracle Home
Collecting oracle home data
/bin/tar: Removing leading `/' from member names
2.問題原因
該問題是由於Shell本身的限制,當引數列表(Argument list)過長後,便會導致diagcollection.pl指令碼執行出錯。
本例中CRS日誌目錄下的大量檔案是導致該問題的罪魁禍首。
3.處理方法
主要有兩種處理方法:①手工收集CRS日誌目錄下的所需檔案;②刪除無用檔案,避免出現超出Shell限制的問題
針對第二種方法,我們僅需要關心“$CRS_HOME/log/
4.更多的參考資訊
有關該問題的更多參考資訊請參見MOS:diagcollection.pl Fails With "Argument list too long" [ID 751981.1]
5.小結
我們的目標:不放過任何細節!
Good luck.
secooler
10.11.20
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-680054/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於Argument list too long的問題
- 刪除大量檔案Argument list too long錯誤解決
- MySQL問題處理——1040錯誤Too many connectionsMySql
- 執行遷移檔案報錯 1071 Specified key was too long.
- ORACLE問題處理十個指令碼Oracle指令碼
- IntelliJ IDEA 執行專案的時候提示 Command line is too long 錯誤IntelliJIdea
- Too many open files報錯處理
- 【k8s】etcd叢集took too long to execute慢日誌告警問題分析K8S
- [20220414]toad呼叫執行指令碼問題.txt指令碼
- 執行 shell 指令碼 \r 問題解決指令碼
- git拉取程式碼報錯filename too long unable to create fileGit
- sh指令碼執行報錯指令碼
- Linux 問題處理集錦Linux
- 解決 Specified key was too long ... 767 bytes 的本質問題
- Bash 指令碼中的錯誤處理指令碼
- data too long for column
- xcall叢集執行命令指令碼指令碼
- Spring Boot Intellij 執行應用的時候 Command line is too long. Shorten command line for 錯誤Spring BootIntelliJ
- docker 遷移映象到其他機器執行報錯OCI 問題處理Docker
- Arcgis toolbox匯入python script執行出錯,實在找不出指令碼哪裡有問題。求助Python指令碼
- SOLIDWORKS啟動時出現指令碼錯誤問題Solid指令碼
- exp匯出報錯EXP-00106問題處理
- [20221126]tpt pr.sql指令碼執行問題.txtSQL指令碼
- 一個“指令碼執行夯死”問題的分析指令碼
- RMAN備份出現ORA-01801: date format is too long for internal buffer錯誤ORM
- idea在使用git clone 時出現Filename too long的報錯資訊IdeaGit
- missing ) after argument list
- Linux 作業系統指令碼格式問題導致指令碼無法執行Linux作業系統指令碼
- repmgr 叢集雙主問題處理
- 最近執行VBA程式碼時候出現這樣錯誤,現已經找到了問題所在處
- Android執行出現android Installation failed due to invalid URI! 錯誤處理AndroidAI
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- Windos bat批處理指令碼,判斷是終端命令列執行,還是雙擊執行BAT指令碼命令列
- MySQL:亂碼問題處理流程MySql
- 計劃任務執行批處理指令碼,執行記錄顯示“上次執行結果(0x1)”指令碼
- 執行錯誤集
- Error running ‘Application’Command line is too longErrorAPP
- 檔案格式引起的指令碼執行錯誤指令碼
- Camunda 流程執行錯誤處理ERROR BOUNDARY EVENTError