【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
- Centos MySQL資料庫遷移詳細步驟CentOSMySql資料庫
- ORACLE11GR2 RAC解除安裝ASM例項步驟OracleASM
- RAC+DG(asm單例項)ASM單例
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- Linux上透過binlog檔案恢復mysql資料庫詳細步驟LinuxMySql資料庫
- 【BUILD_ORACLE】Oracle RAC配置ASM Filter Driver(ASMFD)(二)詳細配置步驟UIOracleASMFilter
- 達夢資料庫使用DBMS_LOGMNR進行日誌挖掘詳細步驟資料庫
- 大資料(Hadoop)元件安裝 Linux環境準備 步驟簡單 詳細大資料Hadoop元件Linux
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- A*演算法(超級詳細講解,附有舉例的詳細手寫步驟)演算法
- 配置PLSQL Developer詳細步驟SQLDeveloper
- LVM建立的詳細步驟LVM
- 19C 單例項資料庫安裝單例資料庫
- 單核心,ospf子公司通訊詳細實驗步驟單核
- Github配置ssh key詳細步驟Github
- OpenHarmony執行docker詳細步驟Docker
- docker安裝portainer詳細步驟DockerAI
- MySQL的安裝步驟(詳細)MySql
- Oracle 11G資料庫單例項安裝Oracle資料庫單例
- Oracle資料庫啟動步驟Oracle資料庫
- 騰訊雲資料永珍內容稽核詳細步驟(JAVA版)Java
- CentOS 7 安裝MongoDB詳細步驟CentOSMongoDB
- Linux安裝jdk的詳細步驟LinuxJDK
- Linux安裝jdk的詳細步驟。LinuxJDK
- ubuntu 18.04安裝kalibr(詳細步驟)Ubuntu
- MyBatis的逆向工程詳細步驟操作MyBatis
- 安裝fbprophet模組詳細步驟
- oracle 11g 單例項資料庫的安裝Oracle單例資料庫
- MySQL資料庫安裝步驟-WindowsMySql資料庫Windows
- 資料庫設計的基本步驟資料庫
- PHP連線資料庫的步驟PHP資料庫
- python連線mysql資料庫步驟PythonMySql資料庫
- kubernetes-部署Oracle資料庫步驟Oracle資料庫
- mongodb關閉資料庫例項MongoDB資料庫
- oracle資料庫與oracle例項Oracle資料庫
- phpExcel實現Excel資料的匯入匯出(全步驟詳細解析)PHPExcel
- oracle資料庫建立資料庫例項-九五小龐Oracle資料庫