【解除安裝】在LINUX/UNIX環境下解除安裝Oracle的OLAP元件

secooler發表於2011-03-15
不知道朋友們有沒有發現一個現象,即便在部署安裝資料庫例項的時候任何元件都不選擇,資料庫中的OLAP元件依然存在,不離不棄。
如何徹底地刪除OLAP這個資料庫元件呢?本文就此刪除任務進行詳細記錄,供參考。

友情提示:沒有特殊需求建議保留OLAP元件,沒有必要特意刪除這個元件。
特別提醒:在真正執行刪除任務之前,請對資料庫伺服器進行全面備份,防止意外發生。

1.確認資料庫中是否存在OLAP元件
1)第一種檢視方法:使用SQL*Plus登入資料庫時的提示資訊
ora10g@secdb /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 15 19:00:09 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

sys@ora10g>

上面提示的OLAP資訊表示系統中安裝有OLAP元件。

2)第二種檢視方法:檢視v$option檢視
sys@ora10g> select * from v$option where PARAMETER='OLAP';

PARAMETER                VALUE
------------------------ ------------------------
OLAP                     TRUE

2.停掉資料庫伺服器上所有服務
此處所指的“所有服務”包括監聽程式、執行在資料庫伺服器上的所有資料庫例項等。
如果對所停掉的程式不夠放心,可以考慮重啟資料庫伺服器。此方法有暴力傾向,慎用,但有效。
1)停掉監聽程式
ora10g@secdb /home/oracle$ lsnrctl stop

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 15-MAR-2011 19:03:37

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
The command completed successfully

2)停掉資料庫例項
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

如果該伺服器上同時存在多個資料庫例項,需要一併停止。

3.刪除OLAP元件命令列部分
1)進入到$ORACLE_HOME/rdbms/lib目錄
ora10g@secdb /home/oracle$ cd $ORACLE_HOME/rdbms/lib

2)執行“make -f ins_rdbms.mk olap_off”命令
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib$ make -f ins_rdbms.mk olap_off
/usr/bin/ar d /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/libknlopt.a xsyeolap.o
/usr/bin/ar cr /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/libknlopt.a /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/xsnoolap.o


3)執行“make -f ins_rdbms.mk ioracle”命令
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib$ make -f ins_rdbms.mk ioracle
chmod 755 /oracle/ora10gR2/product/10.2.0/db_1/bin

 - Linking Oracle
rm -f /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/oracle
gcc  -o /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/oracle -L/oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/ -L/oracle/ora10gR2/product/10.2.0/db_1/lib/ -L/oracle/ora10gR2/product/10.2.0/db_1/lib/stubs/ -L/usr/lib -lirc   -Wl,-E `test -f /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/sskgpsmti.o && echo /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/sskgpsmti.o` /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/opimai.o /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/ssoraed.o /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/ttcsoi.o /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/defopt.o  -Wl,--whole-archive -lperfsrv10 -Wl,--no-whole-archive /oracle/ora10gR2/product/10.2.0/db_1/lib/nautab.o /oracle/ora10gR2/product/10.2.0/db_1/lib/naeet.o /oracle/ora10gR2/product/10.2.0/db_1/lib/naect.o /oracle/ora10gR2/product/10.2.0/db_1/lib/naedhs.o /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/config.o  -lserver10 -lodm10 -lnnet10 -lskgxp10 -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lhasgen10 -lcore10 -lskgxn2 -locr10 -locrb10 -locrutl10 -lhasgen10 -lcore10 -lskgxn2   -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt `if /usr/bin/ar tv /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap10" ; fi` -lslax10 -lpls10  -lplp10 -lserver10 -lclient10  -lvsn10 -lcommon10 -lgeneric10 -lknlopt -lslax10 -lpls10  -lplp10 -ljox10 -lserver10 -lclsra10 -ldbcfg10 -locijdbcst10 -lwwg  `cat /oracle/ora10gR2/product/10.2.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /oracle/ora10gR2/product/10.2.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lmm -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `cat /oracle/ora10gR2/product/10.2.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10 -lnro10 `cat /oracle/ora10gR2/product/10.2.0/db_1/lib/ldflags`    -lnsslb10 -lncrypt10 -lnsgr10 -lnzjs10 -ln10 -lnnz10 -lnl10   -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 `if /usr/bin/ar tv /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo10"; fi` -lctxc10 -lctx10 -lzx10 -lgx10 -lctx10 -lzx10 -lgx10 -lordimt10 -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -lsnls10 -lunls10  -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10 -laio    `cat /oracle/ora10gR2/product/10.2.0/db_1/lib/sysliblist` -Wl,-rpath,/oracle/ora10gR2/product/10.2.0/db_1/lib -lm    `cat /oracle/ora10gR2/product/10.2.0/db_1/lib/sysliblist` -ldl -lm   -L/oracle/ora10gR2/product/10.2.0/db_1/lib
/oracle/ora10gR2/product/10.2.0/db_1/lib//libcore10.a(lcd.o): In function `lcdprm':
lcd.c:(.text+0x8e8): warning: the `gets' function is dangerous and should not be used.
mv -f /oracle/ora10gR2/product/10.2.0/db_1/bin/oracle /oracle/ora10gR2/product/10.2.0/db_1/bin/oracleO
mv /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib/oracle /oracle/ora10gR2/product/10.2.0/db_1/bin/oracle
chmod 6751 /oracle/ora10gR2/product/10.2.0/db_1/bin/oracle
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_1/rdbms/lib$


4.刪除OLAP元件圖形化介面部分
此處需要使用Oracle Universal Installer (OUI)圖形介面來完成OLAP元件的刪除。
由於本例資料庫例項在部署的過程中未安裝OLAP元件,因此此步驟可以省略,完成整個OLAP的刪除任務。

5.確然OLAP元件是否解除安裝成功
1)第一種檢視方法:使用SQL*Plus登入資料庫時的提示資訊
ora10g@secdb /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 15 19:43:20 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning and Data Mining options

sys@ora10g>

大家可以與文章開始處的資訊進行比較,此時提示資訊中已經不存在OLAP元件資訊。

2)第二種檢視方法:檢視v$option檢視
sys@ora10g> select * from v$option where PARAMETER='OLAP';

PARAMETER            VALUE
-------------------- -------------
OLAP                 FALSE

此時OLAP元件資訊也由原先的“TRUE”顯示為“FALSE”,表示OLAP元件解除安裝成功。

6.小結
原則不變,OLAP本身沒有必要一定解除安裝掉。這裡只是給大家簡單介紹一下解除安裝OLAP的方法。供大家參考。

Good luck.

secooler
11.03.15

-- The End --

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

相關文章