Oracle 19C 中共有16個(gè)組件,但并不是所有的都是必要的,多一個(gè)組件就會(huì)一個(gè)漏洞,特別是OJVM的“反序列化”漏洞,最近幾年一直沒有消停過。所以業(yè)務(wù)方面沒有特別要求的話,在安裝初期就可以勾選掉,只安裝必需組件。
如果忘記勾選掉或者只能使用dbca靜默模式創(chuàng)建的話,就會(huì)安裝上那些非必需組件,本文將一一介紹那些非必需組件的刪除方法,下次咱們講組件的安裝方法。
OJVM的組件包括“JServer JAVA Virtual Machine”、“Oracle Database Java Packages”。刪除操作步驟如下:
1)檢查要?jiǎng)h除JVM影響的任何依賴于JVM的架構(gòu)(Oracle提供或自定義)
SELECT owner, object_type, status, COUNT(*)
FROM dba_objects
WHERE object_type LIKE %JAVA%
AND owner NOT IN (SYS, OJVMSYS, EXFSYS)
GROUP BY owner, object_type, status
ORDER BY owner, object_type, status;
2)開啟restricted 模式
connect / as sysdba
startup mount
alter database open;
alter system enable restricted session;
alter system set "_system_trig_enabled" = false scope=memory;
3)開啟日志
spool force_removal.txt
set echo on
4)如果第一步查到DBMS_JAVA_DEV,則執(zhí)行如下步驟
exec dbms_java_dev.enable;
5)執(zhí)行刪除腳本
@?/rdbms/admin/catnoexf.sql
@?/rdbms/admin/catnojav.sql
6)刪除JServer JAVA Virtual Machine 和剩下的java對(duì)象
execute rmjvm.run(TRUE);
7)最后清理
truncate table java$jvm$status;
delete from obj$ where obj#=0 and type#=0;
commit;
8)檢查是否還有java對(duì)象存在
select count(*) from obj$ where type#=29 and owner#=0;
9)更新registry 表
delete from sys.registry$ where cid in (JAVAVM,CATJAVA,EXF);
commit;
10)關(guān)閉日志記錄
set echo off
spool off
11) 重啟數(shù)據(jù)庫(kù)所有節(jié)點(diǎn)
OLAP的組件包括“OLAP Analytic Workspace”、“Oracle OLAP API”。刪除操作步驟如下:
1)檢查是否有需要備份的OLAP數(shù)據(jù)
select owner,aw_name from dba_aws where owner !=SYS;
如果沒有返回?cái)?shù)據(jù),則不需要備份,如果有數(shù)據(jù),需要備份則參考“Note 1935015.1 What and How to Export/Import OLAP Data
2)執(zhí)行刪除腳本
sqlplus /nolog
conn / as sysdba
spool remove_olap.log
----> Remove OLAP Catalog
@?/olap/admin/catnoamd.sql
----> Remove OLAP API
@?/olap/admin/catnoxoq.sql
----> Deinstall APS - OLAP AW component
@?/olap/admin/catnoaps.sql
----> Recompile invalids
@?/rdbms/admin/utlrp.sql
spool off
3)修改expdp中相關(guān)信息,以刪除用于導(dǎo)出OLAP數(shù)據(jù)(如果需要回退,請(qǐng)不要執(zhí)行此步驟)
delete from sys.exppkgact$ where package = DBMS_AW_EXP and schema= SYS;
delete from exppkgact$ where package=DBMS_CUBE_EXP;
commit;
4)如果想從oracle的可執(zhí)行文件中刪除olap,則執(zhí)行如下命令:
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk olap_off
make -f ins_rdbms.mk ioracle
DV組件包括“Oracle Database Vault”,刪除的操作步驟如下:
conn / as sysdba
@?/rdbms/admin/dvremov.sql
ORDIM組件包括“Oracle Multimedia”,刪除的操作步驟如下:
connect / as sysdba
@?/ord/im/admin/imremov.sql
OLS組件包括“Oracle Label Security”,刪除的操作步驟如下:
connect / as sysdba
@?/rdbms/admin/catnools.sql
Note:catnools.sql此腳本在12C~19C的數(shù)據(jù)庫(kù)版本中沒有提供,可以去11.2.0.4的相關(guān)目錄找到catnools.sql來執(zhí)行。
XML組件包括“Oracle XDK”,刪除的操作步驟如下:
1)執(zhí)行刪除腳本
connect / as sysdba
@?xdkadmin
mxml.sql
2)更新registry表
delete from sys.registry$ where cid in (XML);
commit;
SDO組件包括Spatial,刪除的操作步驟如下:
1)檢查Spatial indexes 是否存在
connect / as sysdba
select owner,index_name from dba_indexes
where ityp_name = SPATIAL_INDEX;
若存在,則刪除Spatial indexes,執(zhí)行如下:
drop index .;
-- If some indexes cannot be dropped use the FORCE option:
drop index . force;
自動(dòng)刪除腳本如下:
set pagesize 0
spool DropIndexes.sql
select drop index || owner || . || index_name ||;
from dba_indexes where ityp_name = SPATIAL_INDEX;
spool off@DropIndexes.sql
2)檢查SDO_GEOMETRY類型的字段是否存在
set pages 200
col owner for a20
col table_name for a30
col column_name for a25
select owner, table_name, column_name
from dba_tab_columns
where data_type = SDO_GEOMETRY
and owner != MDSYS
order by 1,2,3;
若存在則執(zhí)行如下命令:
set pagesize 0
spool DropTables.sql
select drop table || owner ||.|| table_name||;
from dba_tab_columns
where data_type = SDO_GEOMETRY
and owner != MDSYS;
spool off
@DropTables.sql
清空存在SDO_GEOMETRY類型的字段的用戶的回收站
purge recyclebin;
3)刪除MDSYS用戶
drop user MDSYS cascade;
4)刪除為Spatial創(chuàng)建的所有公共同義詞
set pagesize 0
set feed off
spool dropsyn.sql
select drop public synonym " || synonym_name || "; from dba_synonyms where table_owner=MDSYS;
spool off;
@dropsyn.sql
5)刪除Spatial 組件在安裝過程中創(chuàng)建的其它用戶
drop user mddata cascade;
-- Only created as of release 11g:
drop user spatial_csw_admin_usr cascade;
drop user spatial_wfs_admin_usr cascade;
APEX組件包括“Oracle Application Express”,刪除的操作步驟如下:
1)檢查apex組件是否在使用
運(yùn)行apex_verify.sql腳本并檢查輸出以確認(rèn)未使用APEX,APEX安裝驗(yàn)證腳本參考文檔ID 1254932.1。
2)檢查apex的用戶有哪些存在于數(shù)據(jù)庫(kù)中,不同的apex版本,apex的用戶名就不一樣。
select username from dba_users where username like ‘APEX%’;
select username from dba_users where username like ‘FLOWS%’;
3) 刪除步驟2中查到的用戶
Drop user XXXXXX cascade;
如果刪除用戶的時(shí)候,提示“ORA-28014: cannot drop administrative user or role”,則在刪除用戶前則執(zhí)行如下命令:
alter session set "_oracle_script"=true;
刪除用戶之后再執(zhí)行:
alter session set "_oracle_script"=false;
4) 刪除APEX公共同義詞
select drop public synonym || synonym_name || CHR(10) || / from sys.dba_synonyms
where table_owner in (步驟2中查到的用戶名);
本文僅在19C中進(jìn)行測(cè)試過,其它版本可能會(huì)有差別。
請(qǐng)操作前在測(cè)試環(huán)境中做充分測(cè)試,請(qǐng)勿在生產(chǎn)環(huán)境中進(jìn)行嘗試。
不推薦在已經(jīng)運(yùn)行一段時(shí)間的生產(chǎn)環(huán)境中做此操作,只建議做為生產(chǎn)環(huán)境上線前的準(zhǔn)備工作之一。
請(qǐng)操作前做好備份工作。
集群環(huán)境操作后,記得要重啟所有實(shí)例,避免內(nèi)存中信息不一致。
cdb環(huán)境需要在pdb下執(zhí)行同樣的操作,也可以使用catcon.pl腳本執(zhí)行。
更多精彩干貨分享
點(diǎn)擊下方名片關(guān)注
IT那活兒
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/129824.html
19C?DG?Broker配置和測(cè)試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...
摘要:一介紹是宜信公司團(tuán)隊(duì)開發(fā)的一款數(shù)據(jù)庫(kù)審核產(chǎn)品,可幫助開發(fā)人員快速發(fā)現(xiàn)數(shù)據(jù)庫(kù)質(zhì)量問題,提升工作效率。此平臺(tái)可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)進(jìn)行多維度對(duì)象結(jié)構(gòu)文本執(zhí)行計(jì)劃及執(zhí)行特征的審核,用以評(píng)估對(duì)象結(jié)構(gòu)設(shè)計(jì)質(zhì)量及運(yùn)行效率。執(zhí)行計(jì)劃指數(shù)據(jù)庫(kù)中的執(zhí)行計(jì)劃。 一、介紹 Themis是宜信公司DBA團(tuán)隊(duì)開發(fā)的一款數(shù)據(jù)庫(kù)審核產(chǎn)品,可幫助DBA、開發(fā)人員快速發(fā)現(xiàn)數(shù)據(jù)庫(kù)質(zhì)量問題,提升工作效率。其名稱源自希臘神話中的正義...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20