【ASK_ORACLE】Relink ASM單例項資料庫詳細步驟
前言
在介紹relink操作前,我們先來了解一下什麼是relink,為什麼要relink,以及relink的場景。來看一下 Oracle官方是怎麼定義和說明的,分為三個部分:
1. Relink 的定義
任何語言所預定義的函式都被定義在那種語言的庫檔案中,必須編譯程式碼來建立一個二進位制格式的檔案(物件檔案)。這個物件檔案然後被連線到 OS 的庫檔案來建立一個可執行檔案。成功的連結應使得所有的函式定義都能被找到,連結從它的元件中生成一個可執行檔案。在這個語境中連結(linking)和 relinking 意義相同,可以互換。可執行檔案都會從預編譯元件中建立起來。
Relink設計到的檔案型別包括:
* .c (原始碼)
* .o (物件檔案)
* .a (歸檔檔案)
* .so 或 .sl on HP/UX (PA-RISC) (庫檔案)
2. Relink Oracle Home庫
Oracle 軟體是以物件檔案(.o檔案),歸檔檔案(.a檔案)形式釋出的,最後以壓縮的 jar 格式提供。然後在安裝過程中,這些物件檔案被在作業系統級別“relink”,建立可執行檔案。這使得 Oracle 可以與 OS 系統庫提供的函式形成可靠的整合。通常,relinking 過程中,當前的可執行檔案被重新命名和儲存,而新的可執行檔案被生成。一旦新的可執行檔案出現,並且你成功的測試過這些新的可執行檔案工作正常,就可以刪除 GI_HOME/bin 目錄下的舊的可執行檔案。每個舊的可執行檔案的檔名上都會附加一個‘O’,例如,’exp’重新命名為’expO’。
提供物件檔案的優點是它減小了補丁和包的大小;不提供完整的庫檔案和程式,而是隻釋出物件檔案,之後與 OS 庫檔案連結來生成可執行檔案。
所以,為了將 Oracle 提供的物件檔案與 OS 系統庫檔案連結,需要執行Oracle Home relinking。Relinking確保了與 OS 系統庫檔案提供的函式的可靠整合。
3. 什麼時候需要relink
(1)自動relink
使用 Oracle Universal Installer ( OUI ) 安裝 Oracle Database
透過 Oracle Universal Installer ( OUI ) 安裝 Oracle Database Patchset
使用“opatch 工具”安裝 Oracle Database Patch
(2)手動relink
A) 在 OS 升級之後,通常 OS 供應商會保證作業系統庫檔案完整性,因此,除非有特殊說明,不需要重新安裝或者 relink Oracle 軟體。
而且,Oracle 推薦在 OS 升級後對 Oracle Home 的庫執行手動的 relinking。硬體的改變不需要 relinking。
B) 在作業系統安裝了補丁之後(推薦)。
C) Oracle Home 的安裝過程的 relinking 階段出現錯誤或者警告。
D) 安裝一個 RDBMS 補丁在 relinking 階段失敗。
E) 應用報錯說 RDBMS home 缺失庫檔案。
F) 診斷 RDBMS Home 二進位制可執行程式(binary)的問題。
G) 在手動修改 RDBMS home 的二進位制可執行程式的許可權之後。
H) 驗證 Oracle Home 二進位制可執行程式的完整性。
I) 重置 Oracle Home 二進位制可執行程式的許可權。
J) 重新建立 Oracle Home 二進位制可執行程式。
K ) Oracle 推薦在在 OS 升級,降級,打補丁或者解除安裝補丁,或者任何影響 OS 庫行為的改變之後。
看懂了官方的說明後,下面我們正式開始relink操作!
Relink ASM單例項DB步驟
實驗環境
搭建平臺:VMware Workstation
OS:RHEL 7.6
Grid&DB:Oracle 12.2.0.1
1. 停資料庫例項和ASM例項
$ su - ##ASM單例項可以直接用grid使用者啟停,這裡由於啟停RAC的習慣,選擇用root使用者操作 # $GI_HOME/bin/crsctl stop has ##停止OHASD程式,這樣可以同時停止DB例項和ASM例項;需要把$GI_HOME的路徑設定到root的環境變數中 CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'testdb' CRS-2673: Attempting to stop 'ora.SPFILE.dg' on 'testdb' CRS-2673: Attempting to stop 'ora.db1.db' on 'testdb' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'testdb' CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'testdb' succeeded CRS-2677: Stop of 'ora.db1.db' on 'testdb' succeeded CRS-2673: Attempting to stop 'ora.DATA.dg' on 'testdb' CRS-2673: Attempting to stop 'ora.RECO.dg' on 'testdb' CRS-2677: Stop of 'ora.DATA.dg' on 'testdb' succeeded CRS-2677: Stop of 'ora.RECO.dg' on 'testdb' succeeded CRS-2677: Stop of 'ora.SPFILE.dg' on 'testdb' succeeded CRS-2673: Attempting to stop 'ora.asm' on 'testdb' CRS-2677: Stop of 'ora.asm' on 'testdb' succeeded CRS-2673: Attempting to stop 'ora.cssd' on 'testdb' CRS-2677: Stop of 'ora.cssd' on 'testdb' succeeded CRS-2673: Attempting to stop 'ora.evmd' on 'testdb' CRS-2677: Stop of 'ora.evmd' on 'testdb' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'testdb' has completed CRS-4133: Oracle High Availability Services has been stopped.
2. 執行unlock操作
需要新開啟一個session視窗來操作!
$ su - # $GI_HOME/crs/install/roothas.sh -unlock Using configuration parameter file: /oracle/app/grid/product/12.2.0/grid/crs/install/crsconfig_params Successfully unlock /oracle/app/grid/product/12.2.0/grid
注:
11g的roothas.sh就變成了roothas.pl,執行命令一樣
3. 刪除檔案config.o
刪除的目的是讓relink操作重新生成該檔案,但為了保險起見,重名了這個config.o檔案即可
# su - grid
$ mv $GI_HOME/rdbms/lib/config.o $GI_HOME/rdbms/lib/config.o_bak220301
4. 執行relink all
# su - grid $ $GI_HOME/bin/relink all writing relink log to: /oracle/app/grid/product/12.2.0/grid/install/relink.log
5. 執行lock操作
(1)需要新開啟一個session視窗來操作
$ su - # $GI_HOME/rdbms/install/rootadd_rdbms.sh
(2) 再開一個新session視窗操作
$ su - # $GI_HOME/crs/install/roothas.sh -postpatch
注:
1)11g命令是 $GI_HOME/crs/install/roothas.pl -patch
2)執行完roothas.sh後,OHAS程式會啟動,ASM例項和DB例項也會啟動。保險起見,我們來驗證一下:
# $GI_HOME/bin/crsctl status res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.ACFSBIG.dg ONLINE ONLINE testdb ora.DATA.dg ONLINE ONLINE testdb ora.LISTENER.lsnr ONLINE ONLINE testdb ora.RECO.dg ONLINE ONLINE testdb ora.SPFILE.dg ONLINE ONLINE testdb ora.asm ONLINE ONLINE testdb Started ora.ons OFFLINE OFFLINE testdb -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE testdb ora.db1.db 1 ONLINE ONLINE testdb Open ora.diskmon 1 OFFLINE OFFLINE ora.evmd 1 ONLINE ONLINE testdb
關鍵程式都已啟動,relink成功!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69992972/viewspace-2871957/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【ASK_ORACLE】Relink RAC叢集詳細步驟Oracle
- 單例項恢復RAC資料庫步驟(三)單例資料庫
- 單例項恢復RAC資料庫步驟(二)單例資料庫
- 單例項恢復RAC資料庫步驟(一)單例資料庫
- ORACLE資料庫升級詳細步驟Oracle資料庫
- Oracle資料庫例項啟動步驟分析Oracle資料庫
- Centos MySQL資料庫遷移詳細步驟CentOSMySql資料庫
- rman複製資料庫詳細的步驟資料庫
- 建立ASM例項及ASM資料庫ASM資料庫
- 恢復RAC資料庫到單例項(ASM)資料庫單例ASM
- ASM之建立ASM例項及ASM資料庫ASM資料庫
- Window下安裝Oracle ASM單例項資料庫OracleASM單例資料庫
- 建立ASM例項和資料庫ASM資料庫
- 11g 兩個節點RAC 搭建單例項DG詳細步驟以及注意事項單例
- 使用create database語句建立資料庫的詳細操作步驟Database資料庫
- MySQL資料庫複製操作的詳細實現步驟介紹MySql資料庫
- 單例項刪除ASM例項單例ASM
- ORACLE資料庫閃回步驟詳解Oracle資料庫
- 單例項資料庫工具轉化多例項資料庫單例資料庫
- 單例項資料庫手工轉化多例項資料庫單例資料庫
- 使用rman將資料庫遷移到ASM例項資料庫ASM
- ORACLE11GR2 RAC解除安裝ASM例項步驟OracleASM
- 【Oracle ASM】關於asm例項與db例項中的磁碟狀態_詳細分析過程OracleASM
- oracle 10g資料庫表空間遷移之詳細步驟Oracle 10g資料庫
- oracle 10g資料庫之表空間遷移詳細步驟Oracle 10g資料庫
- 【ASM學習】普通資料庫向ASM例項的遷移(二)ASM資料庫
- 【ASM學習】普通資料庫向ASM例項的遷移(一)ASM資料庫
- 12C 單例項-測試庫-圖形介面-安裝步驟單例
- 使用rman copy將資料庫遷移到ASM例項資料庫ASM
- 詳細講解DB2資料庫效能監控的具體步驟DB2資料庫
- 利用RMAN將資料庫從檔案系統遷移到ASM(單例項)資料庫ASM單例
- RAC資料庫恢復到單例項資料庫資料庫單例
- 配置PLSQL Developer詳細步驟SQLDeveloper
- Oracle Stream配置詳細步驟Oracle
- IOS之GCD詳細步驟iOSGC
- 【DataGuard】調整Data Guard資料保護模式詳細步驟模式
- 單例項資料庫expdp遷移到RAC庫單例資料庫
- A*演算法(超級詳細講解,附有舉例的詳細手寫步驟)演算法