1. 如何將 oracle 10g 升級到 orcale 12c
可以直接升級到12C的資料庫版本有:
•Oracle資料庫10g(10.2.0.5)
•Oracle 資料庫 11g (11.1.0.7)
•Oracle 資料庫 11g (11.2.0.2 或後續版本)
如果資料庫版本非以上三種,比如是10.2.0.1.0想要升級到12C,需要先將資料庫升級到10.2.0.5或其他直接版本,才能再次升級到12C。
2. 如何升級oracle版本
升級資料庫:
1. 先檢查資料庫當前版本:SELECT * FROM v$version;
2. 使用RMAN或exp 進行全庫備份
【這一步非常非常重要,因升級到數據部分時,虛擬機沒空間了,導致VM崩潰,升級失敗.orcl庫也掛了,不得不從另一台Oracle上創建了一個Orcl,然後,冷備遷移過來,才得以重新升級。】
3. 怎麼把oracle11.2.0.4 升級 windows
配置安全更新
將介質文件解壓到同一個文件夾下,然後進入介質路徑database目錄下,雙擊setup,稍後會彈出資料庫安裝過程-配置安全更新;
取消選擇,我希望通MyOracle Support接收安全更新。點擊下一步
彈出「尚未提供電子郵件」的對話框,點擊「是」
下載軟體更新
選擇第三項「跳過軟體更新」,然後點擊下一步
安裝選項
在安裝選項界面選擇第三項「升級現有資料庫(U)」,
安裝之後會自動彈出監聽配置和DBUA窗口。點擊下一步。
選擇產品語言
默認選擇簡體中文和英文,點擊下一步
選擇資料庫版本
更具實際情況來設置選項,這里我們選擇第一個「企業版」,點擊下一步
安裝位置
由於是進行資料庫升級,這里的oracle基目錄就需要按照實際情況填寫新的路徑,這里我們設置新目錄為E:\app\,讀者需要根據自己電腦的情況來填寫,填好之後檢查無誤點擊下一步
概要
查看配置信息無誤後,點擊安裝,耐心等待安裝完成;
4. 如何升級oracle版本
配置安全更新
將介質文件解壓到同一個文件夾下,然後進入介質路徑database目錄下,雙擊setup,稍後會彈出資料庫安裝過程-配置安全更新;
取消選擇,我希望通MyOracle Support接收安全更新。點擊下一步
彈出「尚未提供電子郵件」的對話框,點擊「是」
2
下載軟體更新
選擇第三項「跳過軟體更新」,然後點擊下一步
3
安裝選項
在安裝選項界面選擇第三項「升級現有資料庫(U)」,
安裝之後會自動彈出監聽配置和DBUA窗口。點擊下一步。
4
選擇產品語言
默認選擇簡體中文和英文,點擊下一步
5
選擇資料庫版本
更具實際情況來設置選項,這里我們選擇第一個「企業版」,點擊下一步
6
安裝位置
由於是進行資料庫升級,這里的oracle基目錄就需要按照實際情況填寫新的路徑,這里我們設置新目錄為E:\app\,讀者需要根據自己電腦的情況來填寫,填好之後檢查無誤點擊下一步
7
概要
查看配置信息無誤後,點擊安裝,耐心等待安裝完成;
END
二、配置oracle 11g的監聽
1
配置監聽,點擊下一步,使用默認監聽名為「LISTENER」,下一步
按照下圖所示,完成監聽配置。
END
三、使用DBUA進行升級
完成上述監聽配置之後,就會彈出DBUA升級窗口,如下圖所示,點擊下一步
選擇需要升級的資料庫
選擇我們需要進行升級的資料庫,點擊下一步
之後會彈出警告信息,查看警告信息,如果沒有特別的問題可以忽略,點擊「是」
升級選項
勾選在升級結束後重新編譯無效對象,CPU並行度根據實際環境進行配置,我們這里選擇4,我們之前已經備份過數據文件,這里選擇不備份。
移動資料庫文件
根據實際情況選擇是否移動原來的資料庫文件,我們這里選擇不移動
恢復和診斷位置
取消指定快速恢復區,下一步
管理選項
取消選擇使用EM配置資料庫
概要
檢查概要信息無誤後點擊「完成」
等待升級完成
升級過程可能比較漫長,需要耐心等待
END
注意事項
升級前需要備份資料庫文件,保證數據安全;
備份前徹底停掉與oracle相關的監聽、程序以及進程;
升級過程中如遇到報錯,可到網上查詢錯誤代碼,一般都有解決方法;
介質文件的下載地址一般在官網,需要support id賬號才能下載,沒有賬號的朋友可以到貼吧或者論壇求助!
5. oracle資料庫會自動升級嗎
不會,需要手動升級;並且升級前要做物理全備,以策安全。
6. Oracle資料庫基本知識
Oracle資料庫基本知識
Oracle Database,又名OracleRDBMS,或簡稱Oracle。是甲骨文公司的一款關系資料庫管理系統。本文為大家分享的是Oracle資料庫的基本知識,希望對大家有所幫助!
它是在資料庫領域一直處於領先地位的產品。可以說Oracle資料庫系統是目前世界上流行的關系資料庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的適應高吞吐量的資料庫解決方案。
介紹
ORACLE資料庫系統是美國ORACLE公司(甲骨文)提供的以分布式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器(CLIENT/SERVER)或B/S體系結構的資料庫之一。比如SilverStream就是基於資料庫的一種中間件。ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品;作為分布式資料庫它實現了分布式處理功能。但它的所有知識,只要在一種機型上學習了ORACLE知識,便能在各種類型的機器上使用它。
Oracle資料庫最新版本為OracleDatabase 12c。Oracle資料庫12c引入了一個新的多承租方架構,使用該架構可輕松部署和管理資料庫雲。此外,一些創新特性可最大限度地提高資源使用率和靈活性,如Oracle Multitenant可快速整合多個資料庫,而Automatic Data Optimization和Heat Map能以更高的密度壓縮數據和對數據分層。這些獨一無二的技術進步再加上在可用性、安全性和大數據支持方面的主要增強,使得Oracle資料庫12c 成為私有雲和公有雲部署的理想平台。
就業前景
從就業與擇業的角度來講,計算機相關專業的大學生從事oracle方面的技術是職業發展中的最佳選擇。
其一、就業面廣:ORACLE幫助拓展技術人員擇業的廣度,全球前100強企業99家都在使用ORACLE相關技術,中國政府機構,大中型企事業單位都能有ORACLE技術的工程師崗位,大學生在校期間興趣廣泛,每個人興趣特長各異,不論你想進入金融行業還是電信行業或者政府機構,ORACLE都能夠在你的職業發展中給你最強有力的支撐,成為你最貼身的金飯碗。
其二、技術層次深:如果期望進入IT服務或者產品公司,Oracle技術能夠幫助提高就業的深度。Oracle技術已經成為全球每個IT公司必選的軟體技術之一,熟練掌握Oracle技術能夠為從業人員帶來技術應用上的優勢,同時為IT技術的深入應用起到非常關鍵的作用。掌握 Oracle技術,是IT從業人員了解全面信息化整體解決方案的基礎。
其三、職業方向多:Oracle資料庫管理方向、Oracle開發及系統架構方向、Oracle數據建模數據倉庫等方向。
Oracle資料庫漏洞分析:無需用戶名和密碼進入你的資料庫
一般性的資料庫漏洞,都是在成功連接或登錄資料庫後實現入侵;本文介紹兩個在2012年暴露的Oracle漏洞,通過這兩種漏洞的結合,可以在不掌握用戶名/密碼的情況下入侵Oracle,從而完成對數據的竊取或者破壞。這兩個漏洞就是CVE-2012-1675和CVE-2012-3137。
引言
國內外很多重要的系統都採用Oracle作為數據存儲的資料庫;在Oracle中存儲著企業或政府大量敏感的信息,在金錢或政治的誘導下,內外部黑客會想法利用管理、網路、主機或資料庫的自身漏洞嘗試入侵到資料庫中,以達到自身的目的。
本文的作者通過對Oracle倆種漏洞的組合研究,設計了一套在不掌握用戶名/密碼的方式入侵到Oracle中;這種方法,比傳統的需要登錄到資料庫中的入侵方法,具有更大的安全隱患和破壞性。
本文希望通過對這兩個漏洞和攻擊方法的介紹,能夠引起相關人員的重視,完善對資料庫安全的措施。
1、概要介紹
本文提供的方法是基於漏洞CVE-2012-1675和CVE-2012-3137對oracle資料庫的攻擊測試的方法。
CVE-2012-1675漏洞是Oracle允許攻擊者在不提供用戶名/密碼的'情況下,向遠程“TNS Listener”組件處理的數據投毒的漏洞。攻擊者可利用此漏洞將資料庫伺服器的合法“TNS Listener”組件中的數據轉向到攻擊者控制的系統,導致控制遠程組件的資料庫實例,造成組件和合法資料庫之間的中間人攻擊、會話劫持或拒絕服務攻擊。
CVE-2012-3137漏洞是Oracle Database 10g/11g身份驗證協議實現中存在一個設計缺陷,攻擊者無需認證即可遠程獲取資料庫用戶密碼哈希相關數據,從而可以離線暴力破解用戶密碼,進一步控制資料庫系統。
我們通過如下的步驟和過程可以實現對Oracle的入侵:
(1)利用CVE-2012-1675進行TNS劫持,在監聽下利用遠程注冊,注冊同名資料庫實例;
(2)新登陸的用戶,在TNS的負載均衡策略下,有可能流量登錄到偽造的監聽服務上;
(3)該監聽服務對用戶的登陸過程進行監控,並將相關數據流量轉發到真實的資料庫上;
(4)利用CVE-2012-3137獲得通訊過程中的認證相關信息;
(5)對認證相關信息進行離線的暴力破解,獲得登陸的密碼;
(6)試用破解的用戶名/密碼登陸Oracle,完成對Oracle中數據的訪問;
2、通過CVE-2012-1675進行TNS劫持
該漏洞存在於Oracle的所有版本,並且Oracle至今僅是發布了警告性通知,並未提供解決方案。
要想利用CVE-2012-1675漏洞做TNS劫持,首先需要了解TNS機制。如下圖所示oracle 通過在本地解析網路服務名到目標主機IP地址,服務埠號,目標資料庫名,把這些信息發送到oracle伺服器端監聽程序,最後再由監聽程序遞送DBMS。
其中關鍵點在於監聽會按照目標資料庫名遞送到名稱正確的資料庫。那麼如果一個監聽下有2個同名資料庫。監聽將自動按照負載均衡把這次訪問發送到負載低的資料庫上,進行連接訪問。資料庫注冊到監聽的方法就決定了,能否同時注冊同名資料庫在同一個監聽下。注冊方式分為本地注冊和遠程注冊,通過修改參數可以調整為遠程注冊。
下面是一段可用的TNS劫持的過程:
1.在劫持機上創建一個和目標資料庫實例同名的資料庫實例。
2.在劫持機上修改 tnsnames.ora 文件
添加
listener_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=目標機器IP)(PORT=目標機器埠)))
3.在劫持機上用sql*Plus 順序執行下面步驟。
1.$ sqlplus / as sysdba
2. SQL> ALTER SYSTEM SETREMOTE_LISTENER='LISTENER_NAME';
3. SQL> ALTER SYSTEM REGISTER;
4.多個客戶端,向資料庫發起登錄。會劫持到一部分客戶端的登錄信息。
最終達到效果如下圖所示:
按照猜想同一個監聽下有2個同名實例。客戶端訪問監聽,監聽按照客戶端中的資料庫名信息分配資料庫,由於監聽下有2個同名資料庫,客戶端鏈接很可能會被分配到劫持者的資料庫實例下,再通過配置劫持者的本地監聽把客戶端請求指回原資料庫。結構圖如下:
測試客戶端鏈接196次。目標資料庫實例獲得113次,劫持資料庫實例獲得83次基本滿足負載均衡的假設。(註上面實例是local server 下面實例是 remote server)
通過以上方式我們可以截獲約一半左右客戶端發送到伺服器的合法鏈接。其中獲得了伺服器IP、埠號、資料庫位置、實例名、登錄用戶名等一系列明文信息和4組密文信息(AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA)。
3、通過CVE-2012-3137進行密碼破解
CVE-2012-3137受影響的資料庫版本有11.2.0.3,11.2.0.2,11.1.0.7,有使用了SHA-1加密演算法的10.2.0.5和10.2.0.4,還有使用了SHA-1的10.2.0.3(運行在z/OS下)版本。
雖然這個漏洞在11.2.0.3中已經解決,但是僅僅資料庫客戶端和伺服器都升級到11.2.0.3並且sqlnet.ora文件中增加SQLNET.ALLOWED_LOGON_VERSION=12才有效。
正如CVE-2012-3137所描述Oracle為了防止第三方通過網路獲取登錄信息包。而對密碼進行了加密處理。本部分只以oracle11.1密碼如何破解為例進行說明。
在發起連接之後(oracle牽手完成),客戶端和伺服器經過協商確定要使用的驗證協議。要完成這個任務,客戶端首先向資料庫發送一個包。包中包含客戶端主要信息和所請求的加密方式。資料庫確認加密方式有效後,發送一個確認服務包如下圖所示:
在通過安全網路服務完成任何所要求的協議之後,資料庫用戶被O3logon(oracle驗證方式) 進行驗證,這個協議執行一個序列來向資料庫證明客戶端擁有密碼。為了避免網路第三方截獲到密碼。首先客戶端發送用戶名到資料庫來表明用戶身份。資料庫端根據加密協議,其中96位的作為資料庫端密鑰,20位的作為偏移量,它對每個連接都是不同的。一個典型的資料庫端發給客戶端的密鑰如下:
AUTH_SESSKEY.....COCDD89FIGODKWASDF……………………
客戶端根據加密演算法向伺服器端發送96位的客戶端密鑰和64位的密碼密鑰。伺服器端計算客戶端傳入的密碼密鑰。如果計算後密碼密文和資料庫中存儲的16位密碼密文一致則驗證通過。
根據這個過程可知上面TNS劫持包中取得的加密信息:AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA這四個值是解密的關鍵。我們把他們按照SHA1,MD5,AES192進行一系列處理。最終通過數據字典碰撞得到密碼明文。
下面這段網上公布的一段示例代碼,這段代碼與筆者的思路不完全相同,但也能大概地說明這個漏洞的攻擊過程:
import hashlib
from Crypto.Cipher import AES
def decrypt(session,salt,password):
pass_hash= hashlib.sha1(password+salt)
key =pass_hash.digest() + 'x00x00x00x00'
decryptor= AES.new(key,AES.MODE_CBC)
plain =decryptor.decrypt(session)
returnplain
session_hex ='6EAAB5422553A7598143E78767'
salt_hex = 'A7193E546377EC56639E'
passwords = ['test','password',''oracle','demo']
for password in passwords:
session_id= decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)
print'Decrypted session_id for password "%s" is %s' %(password,session_id.encode('hex'))
ifsession_id[40:] == 'x08x08x08x08x08x08x08x08':
print'PASSWORD IS "%s"' % password
break
4、建議的預防措施
根據以上兩段分析,我們可以有如下的預防措施:
(1)在條件許可的情況下,對Oracle進行補丁升級,對Oracle打cpuoct2012-1515893補丁;注意對於cpuoct2012-1515893補丁要求伺服器端和應用伺服器端同時升級,否則應用系統將無法訪問Oracle;
(2)若無法對Oracle升級,要購買或安裝具備虛擬補丁功能的資料庫安全產品,防止對CVE-2012-3137和CVE-2012-1675的利用;
(3)建立足夠強健的口令,不要使用8位以下密碼,或者字典庫中的口令。
;7. 如何升級oracle版本
本文檔旨在提供指南和核對清單,用於將之前升級的資料庫從Oracle12c降級回以前的版本:11.2.0.3,11.2.0.2,11.1.0.7必須加以說明的是,將資料庫實例從當前版本降級到升級前的版本時,資料庫不會返回到升級前的完全相同狀態。根據所涉及的版本,升級過程會進行不可逆的更改。用戶使用降級過程可以打開和訪問以前版本的資料庫實例。這通常便已足夠。可能需要採取其他更正操作(例如卸載/重新安裝或重新升級到當前補丁集級別來解決降級後的遺留問題。如果目標是讓實例返回與升級前完全相同的狀態,則還應使用包括完全恢復到升級前狀態在內的其他過程。本文中討論的過程是基於腳本的降級。本文不介紹使用導出/導入、數據泵或其他方法將數據從一個版本移動到另一個版本。您所降級到的版本的Oracle二進制文件,在開始降級過程之前應該在伺服器上可用/已安裝。如果您卸載了要降級到的Oracle可執行文件,請重新安裝Oracle二進制文件到正確的版本/補丁程序級別以降級。此過程旨在降級已成功升級到12c的資料庫,並非用於從失敗的升級退回。您只能降級到升級前所用的版本和補丁程序級別。直接升級可以在版本10.2.0.5、11.1.0.7或版本11.2.0.2及更高版本上執行。可以對這些版本中除10.2.0.5之外的版本進行降級。例如,如果通過應用中間補丁程序11.1.0.7從Oracle11.1.0.6升級到Oracle12c(12.1.0),則不能降級到Oracle11.1.0.6。降級只能對直接升級版本執行。例外:雖然可以對10.2.0.5直接升級,但降級不適用於10.2.0.5。這是因為在升級過程中,compatible參數已設置為最低11.0.0。這使得無法降級到10.2.0.5。可以降級的版本為11.1.0.7、11.2.0.2、11.2.0.3或更高版本。如果有任何補丁程序應用到了從升級後的主目錄運行的源資料庫,則需要先回退,然後才能開始降級過程。卸載和回退補丁程序的步驟記錄在所涉及補丁程序的自述文件中。未能卸載和回退補丁程序可能會導致無法降級,包括無法重新驗證字典對象。Exadata捆綁補丁程序示例,其過程為:卸載補丁程序示例:$opatchauto/u01/app/oracle/patches/14103267-rollback回退任何在補丁程序應用過程中應用的SQL:示例:SQL>@rdbms/admin/catbundle_EXA__ROLLBACK.sql,用於回退SQL更改。解決方案降級前步驟-XMLDB組件在12c中是必需的。在升級到12c期間,將安裝XMLDB組件(如果未安裝)。從12c降級將刪除安裝的XDB組件-EnterpriseManager不支持降級。在降級之前,請重新配置OracleEM控制項。請參閱(12.1)E17642-.6.-升級到12c期間,將刪除DatabaseControl資料檔案庫。降級之後,請重新配置DBControl。Note870877.?Note876353.eDatabaseToPrevious/SourceRelease?-compatible參數不能已經更改到12.1.0。-禁用DataVault(如果已啟用)。Note803948.(UNIX)Note453902.-如果資料庫使用OracleLabelSecurity,則在新OracleDatabase12cOracle主目錄中運行OracleLabelSecurity(OLS)預處理降級olspredowngrade.sql腳本(在$ORACLE_HOME/rdbms/admin上提供)。-時區版本應相同。-取消設置並指向12c主目錄的ORA_TZFILE(如果已設置)。-如果資料庫上有OracleApplicationExpress,則必須將apxrelod.sql文件從OracleDatabase12c$ORACLE_HOME/apex/目錄復制到Oracle主目錄之外的目錄,例如系統上的臨時目錄以稍後執行。-如果基於固定對象創建了對象,則刪除這些對象以避免可能的ORA-00600錯誤。您可以在降級之後重新創建這些對象。-如果降級集群資料庫,則徹底關閉實例並將CLUSTER_DATABASE初始化參數更改為FALSE。降級之後,必須將此參數設置回TRUE。滿足以上先決條件之後,可以繼續進行降級。資料庫的降級步驟1)確保所有資料庫組件有效。只能從成功升級的資料庫執行降級。要驗證資料庫組件狀態,請執行以下查詢以SYS用戶身份連接到資料庫colcomp_idformata10colcomp_(comp_id,1,15)comp_id,substr(comp_name,1,30)comp_name,substr(version,1,10)version,statusfromdba_registry2)驗證沒有屬於sys/system的無效對象selectowner,count(object_name)"Invalidobjectcount"fromdba_objectswherestatus!='VALID'andownerin('SYS','SYSTEM')groupbyowner;如果計數為零,則可以繼續降級。如果有無效對象,則執行utlrp.sql多次,如果對象無法解析為有效狀態,則不能繼續降級。建立SR或在DBA社區上發帖以尋求幫助。或者,對於1和2,運行以下腳本:Note556610.1ScripttoCollectDBUpgrade/MigrateDiagnosticInformation(dbupgdiag.sql)3)關閉資料庫Shutdownimmediate4)對12c資料庫做備份5)以降級模式啟動資料庫Startupdowngrade;6)執行降級腳本Sql>Spooldowngrade.logSql>@$ORACLE_HOME/rdbms/admin/catdwgrd.sql註:$ORACLE_HOME應指向12c主目錄catdwgrd.sql腳本將資料庫中的所有組件降級到支持的主版本或補丁集版本(您最初升級時的版本)Sql>spooloffSql>>exit;7)如果操作系統為LINUX/UNIX:將以下環境變數更改為要降級到的源資料庫:ORACLE_HOMEPATH編輯/etc/oratabor/var/opt/oracle/oratab以更改將資料庫映射到源資料庫Oracle主目錄如果操作系統是Windows,則完成以下步驟:a.停止所有Oracle服務,包括OracleDatabase12c資料庫的OracleServiceSIDOracle服務,其中SID是實例名稱。例如,如果SID為ORCL,則在命令行提示符中輸入以下內容:C:\>NETSTOPOracleServiceORCLb.在命令提示符下,通過運行ORADIM命令刪除Oracle服務。如果出現提示,則輸入此Windows系統上活動標准用戶帳戶的口令。例如,如果SID為ORCL,則輸入以下命令:C:\>ORADIM-DELETE-SIDORCLc.在命令提示符下,使用ORADIM命令創建要降級的資料庫的Oracle服務。C:\>ORADIM-NEW-SIDSID-INTPWDPASSWORD-MAXUSERSUSERS-STARTMODEAUTO-PFILEORACLE_HOME\DATABASE\INITSID.ORA8)還原配置文件將配置文件(口令文件、參數文件等)還原到降級版本的ORACLE_HOME。9)如果這是OracleRAC資料庫,則執行以下命令以將資料庫修改為單實例模式:SETCLUSTER_DATABASE=FALSE10)從降級版本$ORACLE_HOME/rdbms/admin目錄執行catrelod腳本。啟動sqlplus,以具有sysdba許可權的用戶SYS身份連接到資料庫實例,然後以升級模式啟動資料庫::cd$ORACLE_HOME/rdbms/admin:sqlplussql>connectsysassysdbasql>startupupgradesql>spoolcatrelod.logsql>@?/rdbms/admin/catrelod.sqlsql>spooloffcatrelod.sql腳本在降級的資料庫中重新載入各個資料庫組件的合適版本。11)運行utlrp.sql腳本:SQL>@utlrp.sqlSql>exit;utlrp.sql腳本重新編譯先前處於INVALID狀態的所有現有PL/SQL模塊,例如package、procere、type等。12)檢查已降級資料庫的狀態:Note556610.1ScripttoCollectDBUpgrade/MigrateDiagnosticInformation(dbupgdiag.sql)此sql腳本是一組查詢語句,用於提供用戶友好的輸出,以在升級前後診斷資料庫的狀態。腳本將創建名為db_upg_diag__.log的文件。13)降級之後,可能在sys用戶下發現無效的QT視圖。這是因為視圖已從基表中選擇了錯誤的列。您需要重新創建這些視圖。請參閱說明:Note1520209.1QT_*降級後步驟:1)如果您是降級到OracleDatabase11g版本1(11.1.0.7)並且資料庫中有OracleApplicationExpress,則轉到您將apxrelod.sql腳本復制到的目錄(在降級前步驟中)。運行apxrelod.sql腳本以手動重新載入OracleApplicationExpress:SQL>@apxrelod.sql運行apxrelod.sql腳本以避免程序包APEX_030200.WWV_FLOW_HELP由於以下錯誤而成為INVALID狀態:PLS-00201:identifier'CTX_DDL'mustbedeclared2)如果資料庫中啟用了OracleLabelSecurity,則執行以下腳本a.從OracleDatabase12c的Oracle主目錄下將olstrig.sql腳本復制到要將資料庫降級到的版本的Oracle主目錄。b.從降級到的版本的Oracle主目錄,運行olstrig.sql以在表上使用OracleLabelSecurity策略重新創建DML觸發器:SQL>@olstrig.sql3)如果降級集群資料庫,則必須運行以下命令以降級OracleClusterwaredatabase配置:$srvctldowngradedatabase-ddb-unique-name-ooraclehome-tto_version其中db-unique-name是資料庫名稱(而非實例名稱),oraclehome是已降級資料庫的舊Oracle主目錄的位置,to_version是資料庫所降級到的資料庫版本