Oracle 10g OCP 數據庫認證是甲骨文引進新功能,最具創新性的數據庫產業進入新的自動化集群,高可用性等。Oracle 10g OCP 管理員認證相結合的培訓,經驗和測試,以確保你有一個堅實的基礎和專業知識,在業界最先進的數據庫管理系統。
Oracle 10g OCP認證要求完成1項考試并完成1項課程:
Oracle 10g OCP 認證考試在線報考;http://www.pearsonvue.com/oracle
Oracle 10g OCP 數據庫認證是甲骨文引進新功能,最具創新性的數據庫產業進入新的自動化集群,高可用性等。Oracle 10g OCP 管理員認證相結合的培訓,經驗和測試,以確保你有一個堅實的基礎和專業知識,在業界最先進的數據庫管理系統。
Oracle 10g OCP認證要求完成1項考試并完成1項課程:
Oracle 10g OCP 認證考試在線報考;http://www.pearsonvue.com/oracle
Oracle 10g OCA 數據庫認證是甲骨文引進新功能,最具創新性的數據庫產業進入新的自動化集群,高可用性等。Oracle 10g OCA 管理員認證相結合的培訓,經驗和測試,以確保你有一個堅實的基礎和專業知識,在業界最先進的數據庫管理系統。
Oracle 10g OCA認證要求完成2項考試:
Oracle 10g OCA 認證考試在線報考;http://www.pearsonvue.com/oracle
《Oracle 10g 管理員手冊》英文版《Oracle Application Server 10g Administration Handbook》

Product Description
From the exclusive publisher of Oracle Press books, here is an architectural and technical reference on how to use Oracle Application Server 10g to Web-enable Oracle databases for application server systems. You’ll find coverage of installation, configuration, and tuning, using Java with Oracle Application Server 10g, and much more.
From the Back Cover
Maximize the New and Improved Management Capabilities
Install, configure, and administer Oracle Application Server 10g and take full advantage of its flexible architecture. This exclusive Oracle Press book explains how to manage business applications, portals, and Web sites in the grid computing environment. You’ll learn how to use all the administration features to their full potential, streamline management, improve resource utilization, and deliver higher functionality in the enterprise.
電子書下載: 《Oracle Application Server 10g Administration Handbook》
(下載有效期31天,過期或者無法下載請提醒)
注意*此資源由網友上傳分享,不可用商業用途於僅限於個人學習試用,下載24小時後自行刪除,繼續使用請購買正版!
以產品產量表為例,一個工廠(用code 表示)生產多種產品(用p_id 表示),每種產品具有生產量(v1)和銷售量(v2)產品代碼具有審核關係,如’10’=’30’+’31’,其中’10’代表大類,’30’和’31’代表’10’大類下的小類。
SQL>createtablet603(codevarchar(10),p_idvarchar(7),v1number(10),v2number(1
0));
Tablecreated.
SQL>insertintot603values(‘600001′,’30’,1,1);
SQL>insertintot603values(‘600001′,’31’,1,1);
SQL>insertintot603values(‘600001′,’10’,2,2);
SQL>insertintot603values(‘600002′,’10’,3,2);
SQL>insertintot603values(‘600002′,’31’,2,1);
SQL>insertintot603values(‘600002′,’30’,2,1);
SQL>commit;
Commitcomplete.
SQL>select*fromt603;
CODEP_IDV1V2
————————————-
6000013011
6000013111
6000011022
6000021032
6000023121
6000023021
6rowsselected.
SELECTcode,
p_id,v1
FROMt603
WHEREcodeIN(‘600001′,’600002’)
MODELRETURNUPDATEDROWS
PARTITIONBY(code)
DIMENSIONBY(p_id)
MEASURES(v1)
RULES(
v1[‘err1′]=v1[’30’]+v1[’31’]-v1[’10’])
ORDERBYcode,p_id;
其中rule 表示計算規則,’err1’表示這條審核關係的代號,它的值等於P_ID 為’30’的v1 值+P_ID 為’31’的v1 值-P_ID 為’10’的v1 值PARTITION BY (code)表示按工廠分區,即審核在一個工廠內的產品MODEL 關鍵字後面的RETURN UPDATED ROWS 子句將結果限制為在該查詢中創建或更新的那些行。使用該子句是使結果集只包含新計算的值,在本例中就是審核結果
CODEP_IDV1
—————————
600001err10
600002err11
如果返回值=0,表示v1[’30’] + v1[’31’] =v1[’10’]審核通過,否則,審核不通過
Oracle 透明數據加密提供了實施加密所必需的關鍵管理基礎架構。加密的工作原理是將明文數據以及秘密(稱作密鑰)傳遞到加密程序中。加密程序使用提供的密鑰對明文數據進行加密,然後返回加密數據。以往,創建和維護密鑰的任務由應用程序完成。 Oracle透明數據加密通過為整個數據庫自動生成一個萬能密鑰解決了此問題。在啟動 Oracle 數據庫時,管理員必須使用不同於系統口令或DBA 口令的口令打開一個Oracle Wallet 對象。然後,管理員對數據庫萬能密鑰進行初始化。萬能密鑰是自動生成的。
性能:
由於索引數據未被加密,因此加密通常會影響現有的應用程序索引。 Oracle 透明數據加密對與給定應用程序表關聯的索引值進行加密。這意味著應用程序中的相等搜索對性能的影響很小,甚至沒有任何影響。例如,假設應用程序card_id 存在一個索引,並且此應用程序執行以下語句:
SQL> Select cash from credit_card where card_id = ‘1025023590’;
Oracle 數據庫將使用現有的應用程序索引,儘管card_id 信息已經在數據庫中加密。
準備用於加密的數據庫:
在本部分內容中,您將更新sqlnet.ora、創建一個加密錢夾(ewallet.p12)、打開此錢夾並為 TDE 創建萬能密鑰。執行以下操作:
1. 您需要更新sqlnet.ora 文件以包含一個ENCRYPTED_WALLET_LOCATION 條目。打開一個終端窗口,然後輸入以下命令:
cd $ORACLE_HOME/network/admin
gedit sqlnet.ora
connect / as sysdbaalter system set key identified by “welcome1”;
此命令的作用為:
l 如果指定的目錄中不存在加密錢夾,則將創建加密錢夾(ewallet.p12)、打開此錢夾並創建/重新創建 TDE 的萬能密鑰。
l 如果指定目錄中存在加密錢夾,則將打開此錢夾並創建/重新創建TDE 的萬能密鑰。
之後,就可以測試數據了。
下面是實驗記錄:
alter system set key identified by “welcome1”;
SQL> conn dodd/dodd123
create table test (id number,credit_card_number varchar2(16) ENCRYPT NO SALT);
SQL> insert into test values(1,’1231243242′);
1 row created.
SQL> insert into test values(2,’33245235′);
SQL> commit;
Commit complete.
SQL> select * from test;
ID CREDIT_CARD_NUMB
———- —————-
1 1231243242
2 33245235
可見,數據查看是明文,因為這個時候,加密錢夾已經打開,數據可以解密。 2. 接下來,您需要打開錢夾並創建萬能加密密鑰。從終端窗口中,輸入以下命令: 將以下條目添加到文件末尾:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DAT
A=(DIRECTORY=/opt/oracle/admin/test97/wallet/)))
如果不加這一項的話,則會提示下面錯誤:
SQL>altersystemsetkeyidentifiedby”hurray”
2;
altersystemsetkeyidentifiedby”hurray”
*
ERRORatline1:
ORA-28368:cannotauto-createwallet
/opt/oracle/admin/test97/wallet/ 目錄是用來存放生成的錢夾的。可以為加密錢夾選擇任何目錄,但路徑不應指向在數據庫安裝過程中創建的標準模糊錢夾 (cwallet.sso)。
這時,停止數據庫,再打開:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> SQL> startup
ORACLE instance started.
Total System Global Area 524288000 bytes
Fixed Size 1979968 bytes
Variable Size 138414528 bytes
Database Buffers 377487360 bytes
Redo Buffers 6406144 bytes
Database mounted.
Database opened.
SQL> select * from dodd.test;
select * from dodd.test
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL> select id from dodd.test;
ID
———-
1
2
可以看到,因為數據庫重啟後,加密錢夾處於關閉狀態,這時只要查詢到加密的列,會提示加密錢夾沒有打開。
如果用戶想打開錢夾,必須具有alter system 權限。下面打開wallet:
SQL> conn / as sysdba
Connected.
SQL> alter system set wallet open identified by “welcome1”;
System altered.
SQL> conn dodd/dodd123
Connected.
SQL> select * from test;
ID CREDIT_CARD_NUMB
———- —————-
1 1231243242
2 33245235
可以看到,加密錢夾打開後,數據可以被解密。
還有一條:sys 用戶的表不能被加密。
可見:Oracle TDE 是在數據層面上對錶裡的數據加密,而且不會影響數據庫現有的權限控制策略。
salt 實際上就是在加密過程中引入一個隨機性。簡單的說,就是一般來說,同樣的明文產生同樣的密文,這樣就導致容易被解密者通過分析詞頻之類的方式(加解密我不太懂)來通過密文破解明文,如果指定salt,那麼即使同樣的明文加密後的密文也是不一樣的。no salt 的話,自然就是相同的明文會產生相同的密文了。對於索引來說,要求no salt 也就可以理解了
丟失ewallet 加密錢夾的話,是不能再解密數據的。
Oracle 10gR2 的TDE 特性,對於防止機密信息的洩漏能起到事半功倍的作用!
–The End–