迄今為止,導出/導入工具集仍是跨多個平臺轉移數據所需勞動強度最小的首選實用工具,盡管人們常常抱怨它速度太慢。導入只是將每條記錄從導出轉儲文件中讀出來,然后使用常見的 INSERT INTO 命令將其插入到目標表中,因此導入可能是個很慢的過程,這一點并不讓人感到吃驚。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、網頁空間、營銷軟件、網站建設、建安網站維護、網站推廣。
進入 Oracle Data Pump,Oracle Database 10g 中的導出/導入工具包的更新更快的同類工具,它被設計來成倍地加速這個過程。
Data Pump 反映了整個導出/導入過程的徹底革新。它不是使用常見的 SQL 命令,而是應用專用 API 來以更快得多的速度加載和卸載數據。在我的測試中,我看到導出性能比在直接模式下提高了 10-15 倍,導入過程性能提高了 5 倍。此外,與使用導出實用工具不同,它還能夠只取出特定類型的對象(如過程)。
Data Pump 導出
這個新的實用工具稱為 expdp,以和原來的導出 exp 區分開。在本例中,我們將用 Data Pump 來導出一個大表 CASES,大小約為 3GB。Data Pump 在服務器端使用文件處理來創建和讀取文件;因此,目錄作為位置使用。在這種情況下,我們將使用文件系統 /u02/dpdata1 來保存轉儲文件。
create directory dpdata1 as /u02/dpdata1;
grant read, write on directory dpdata1 to ananda;
接下來,我們將導出數據:
expdp ananda/abc123 tables=CASES directory=DPDATA1
dumpfile=expCASES.dmp job_name=CASES_EXPORT
讓我們來分析該命令的各個部分。用戶 ID/口令組合、表和轉儲文件參數的意義是顯而易見的。與原來的導出不同,文件是在服務器(不是客戶端)上創建的。位置由目錄參數值 DPDATA1 指定,它指向之前創建的 /u02/dpdata1。這個進程還在目錄參數指定的位置上創建一個日志文件(同樣在服務器上)。默認地,這個進程使用一個名稱為 DPUMP_DIR 的目錄;因此可以創建它來代替 DPDATA1。
注意上面的參數 job_name,這是個特殊的參數,在原來的導出中沒有。所有的 Data Pump 工作都通過作業來完成。Data Pump 作業 — 與 DBMS 作業不同 — 只是服務器進程,它代表主進程處理數據。主進程(稱為主控制進程)通過高級隊列 (AQ) 來協調這項工作;它通過在運行期內創建的一個特殊的表(稱為主表)來實現這個目的。在我們的例子中,如果您在 expdp 運行時檢查用戶 ANANDA 的模式 ,您將注意到一個表 CASES_EXPORT 的存在(對應參數 job_name)。當 expdp 結束時,這個表被丟棄。
導出監控
當 Data Pump Export (DPE) 運行時,按 Control-C;它將阻止消息在屏幕上顯示,但不停止導出進程本身。相反,它將顯示 DPE 提示符(如下所示)。進程現在被認為處于“交互式”模式:
Export
這種方法允許在這個 DPE 作業上輸入幾條命令。要查看概要,在提示符下使用 STATUS 命令:
Export status
Job:CASES_EXPORT
Operation:EXPORT
Mode:TABLE
State:EXECUTING
Degree: 1
Job Error Count: 0
Dump file:/u02/dpdata1/expCASES.dmp
bytes written = 2048
Worker 1 Status:
State:EXECUTING
Object Schema:DWOWNER
Object Name:CASES
Object Type:TABLE_EXPORT/TBL_TABLE_DATA/TABLE/TABLE_DATA
Completed Objects: 1
Total Objects: 1
Completed Rows: 4687818
記住,這只是狀態顯示。導出在后臺工作。要繼續在屏幕上查看消息,從 Export 提示符下使用命令 CONTINUE_CLIENT。
并行操作
您可以通過 PARALLEL 參數為導出使用一個以上的線程來顯著地加速作業。每個線程創建一個單獨的轉儲文件,因此參數 dumpfile 應當擁有和并行度一樣多的項目。您可以指定通配符作為文件名,而不是顯式地輸入各個文件名,例如:
expdp ananda/abc123 tables=CASES directory=DPDATA1
dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
注意 dumpfile 參數擁有一個通配符 %U,它指示文件將按需要創建,格式將為 expCASES_nn.dmp,其中 nn 從 01 開始,然后按需要向上增加。
在并行模式下,狀態屏幕將顯示四個工作進程。(在默認模式下,只有一個進程是可見的。)所有的工作進程同步取出數據,并在狀態屏幕上顯示它們的進度。
分離訪問數據文件和轉儲目錄文件系統的輸入/輸出通道是很重要的。否則,與維護 Data Pump 作業相關的開銷可能超過并行線程的效益,并因此而降低性能。并行方式只有在表的數量多于并行值并且表很大時才是有效的。
數據庫監控
您還可以從數據庫視圖獲得關于運行的 Data Pump 作業的更多信息。監控作業的主視圖是 DBA_DATAPUMP_JOBS,它將告訴您在作業上有多少個工作進程(列 DEGREE)在工作。另一個重要的視圖是 DBA_DATAPUMP_SESSIONS,當它與上述視圖和 V$SESSION 結合時將給出主前臺進程的會話 SID。
select sid, serial#
from v$session s, dba_datapump_sessions d
where s.saddr = d.saddr;
這條指令顯示前臺進程的會話。更多有用的信息可以從警報日志中獲得。當進程啟動時,MCP 和工作進程在警報日志中顯示如下:
kupprdp:master process DM00 started with pid=23,
OS id=20530 to execute -
SYS.KUPM$MCP.MAIN(CASES_EXPORT, ANANDA);
kupprdp:worker process DW01 started with worker
id=1, pid=24, OS id=20532 to execute -
SYS.KUPW$WORKER.MAIN(CASES_EXPORT, ANANDA);
kupprdp:worker process DW03 started with worker
id=2, pid=25, OS id=20534 to execute -
SYS.KUPW$WORKER.MAIN(CASES_EXPORT, ANANDA);
它顯示為數據泵操作啟動的會話的 PID。您可以用以下查詢找到實際的 SID:
select sid, program from v$session where paddr in
(select addr from v$process where pid in (23,24,25));
PROGRAM 列將對應警報日志文件中的名稱顯示進程 DM (為主進程)或 DW (為工作進程)。如果一個工作進程使用了并行查詢,比如說 SID 23,您可以在視圖 V$PX_SESSION 中看到它,并把它找出來。它將為您顯示從 SID 23 代表的工作進程中運行的所有并行查詢會話:
select sid from v$px_session where qcsid = 23;
從視圖 V$SESSION_LONGOPS 中可以獲得其它的有用信息來預測完成作業將花費的時間。
select sid, serial#, sofar, totalwork
from v$session_longops
where opname = CASES_EXPORT
and sofar != totalwork;
列 totalwork 顯示總工作量,該列的 sofar 數量被加和到當前的時刻 — 因而您可以用它來估計還要花多長時間。
Data Pump 導入
不過,數據導入性能是 Data Pump 真正出色的地方。要導入先前導出的數據,我們將使用
impdp ananda/abc123 directory=dpdata1
dumpfile=expCASES.dmp job_name=cases_import
導入進程的默認行為是創建表和所有相關的對象,然后在表已存在時產生一個錯誤。如果您想把數據添加到一個現有的表中,您可以在上述命令行中使用 TABLE_EXISTS_ACTION=APPEND。
和使用 Data Pump 導入一樣,在進程中按 Control-C 將進入 Date Pump Import (DPI) 的交互模式;同樣,提示符是 Import。
處理特定對象
您是否有過只需要從一個用戶導出特定的過程,以在一個不同的數據庫或用戶中重新創建這些過程的情況?與傳統的導出實用工具不同,Data Pump 允許您只導出特定類型的對象。例如,以下命令讓您只導出過程,而不導出其它任何東西 — 不導出表、視圖、甚至函數:
expdp ananda/iclaim directory=DPDATA1
dumpfile=expprocs.dmp include=PROCEDURE
要只導出一些特定的對象 — 比如說,函數 FUNC1 和過程 PROC1 — 您可以使用
expdp ananda/iclaim directory=DPDATA1 dumpfile=expprocs.dmp
include=PROCEDURE:"=PROC1\",FUNCTION:"=FUNC1\"
這個轉儲文件充當了源對象的一個備份。您甚至可以用它來創建 DDL 腳本,以供之后使用。一個稱為 SQLFILE 的特殊參數允許創建 DDL 腳本文件。
impdp ananda/iclaim directory=DPDATA1
dumpfile=expprocs.dmp sqlfile=procs.sql
該指令在 DPDATA1 指定的目錄中創建一個名稱為 procs.sql 的文件,并將對象的腳本包含在導出轉儲文件中。這種方法幫助您快速地在另一個模式中創建源對象。
利用參數 INCLUDE 允許您從轉儲文件中定義要包含或排除的對象。您可以使用子句 INCLUDE=TABLE:"LIKE TAB%" 來僅導出那些名稱以 TAB 開頭的表。類似地,您可以使用結構 INCLUDE=TABLE:"NOT LIKE
由于目前官網只提供oracle11g和oracle12c的方法,所以oracle10g版本只能通過網盤或其他方式獲取,在官網目前沒有直接下載的方式,如果要下載oracle11g和oracle12c可通過如下方法:
1、進入oracle官網:
2、在頁面上方找到downloads按鈕,如圖:
3、在列表中選擇自己需要的版本,點擊“see all”按鈕;
4、如要下載,選擇類似圖中紅框部分,確認下載即可。
1、打開搜索,輸入“oracle”,在結果中,找到?【oracle官方網站】點擊進入。
2、進入“oracle官網”,點擊上方菜單欄【downloads】(下載),在下拉菜單中找到【Database】(數據庫),然后點擊下方【oracle Database】(oracle 數據庫)。
3、進入oracle 數據庫下載節目,勾選?Accept?License Agreement(同意oracle協議)。
4、勾選協議完成,鼠標往下拉找到【Oracle Database 11g?Release 2】界面,"在下方選擇需要安裝oracle的操作系統類型",選擇玩吧點擊后發的【select All】。
5、進入下載節目,勾選?Accept?License Agreement ?然后在下方分別下載【win32_11gR2_database_2of1.zip?】【win32_11gR2_database_2of2.zip?】。
6、此時要求我們“登錄oracle賬戶”,如果我們有oracle賬戶,直接輸入賬戶密碼進行登錄即可,
沒有oracle賬戶的話,點擊右方【創建賬戶】。
7、進入注冊賬戶界面,按照注冊要求,填寫相關信息,填寫完畢,點擊下方【創建】(密碼必須是大寫字母+小寫字母+數字)。
8、創建賬戶成功,此時會提示我們要求我們進入注冊郵箱進行賬戶驗證。
9、此時返回登錄界面,輸入我們oracle賬戶密碼,進行登錄。
10、此時返回下載節目,就可以點擊【oracle下載文件】進行下載了,建議在本地路徑下,新建一個oracle文件夾,將兩個文件“保存到同一目錄下即可。
迄今為止 導出/導入工具集仍是跨多個平臺轉移數據所需勞動強度最小的首選實用工具 盡管人們常常抱怨它速度太慢 導入只是將每條記錄從導出轉儲文件中讀出來 然后使用常見的 INSERT INTO 命令將其插入到目標表中 因此導入可能是個很慢的過程 這一點并不讓人感到吃驚
進入 Oracle Data Pump Oracle Database g 中的導出/導入工具包的更新更快的同類工具 它被設計來成倍地加速這個過程
Data Pump 反映了整個導出/導入過程的徹底革新 它不是使用常見的 SQL 命令 而是應用專用 API 來以更快得多的速度加載和卸載數據 在我的測試中 我看到導出性能比在直接模式下提高了 倍 導入過程性能提高了 倍 此外 與使用導出實用工具不同 它還能夠只取出特定類型的對象(如過程)
Data Pump 導出
這個新的實用工具稱為 expdp 以和原來的導出 exp 區分開 在本例中 我們將用 Data Pump 來導出一個大表 CASES 大小約為 GB Data Pump 在服務器端使用文件處理來創建和讀取文件 因此 目錄作為位置使用 在這種情況下 我們將使用文件系統 /u /dpdata 來保存轉儲文件
create directory dpdata as /u /dpdata ; grant read write on directory dpdata to ananda;
接下來 我們將導出數據
expdp ananda/abc tables=CASES directory=DPDATA dumpfile=expCASES dmp job_name=CASES_EXPORT
讓我們來分析該命令的各個部分 用戶 ID/口令組合 表和轉儲文件參數的意義是顯而易見的 與原來的導出不同 文件是在服務器(不是客戶端)上創建的 位置由目錄參數值 DPDATA 指定 它指向之前創建的 /u /dpdata 這個進程還在目錄參數指定的位置上創建一個日志文件(同樣在服務器上) 默認地 這個進程使用一個名稱為 DPUMP_DIR 的目錄 因此可以創建它來代替 DPDATA
注意上面的參數 job_name 這是個特殊的參數 在原來的導出中沒有 所有的 Data Pump 工作都通過作業來完成 Data Pump 作業 — 與 DBMS 作業不同 — 只是服務器進程 它代表主進程處理數據 主進程(稱為主控制進程)通過高級隊列 (AQ) 來協調這項工作 它通過在運行期內創建的一個特殊的表(稱為主表)來實現這個目的 在我們的例子中 如果您在 expdp 運行時檢查用戶 ANANDA 的模式 您將注意到一個表 CASES_EXPORT 的存在(對應參數 job_name) 當 expdp 結束時 這個表被丟棄
導出監控
當 Data Pump Export (DPE) 運行時 按 Control C 它將阻止消息在屏幕上顯示 但不停止導出進程本身 相反 它將顯示 DPE 提示符(如下所示) 進程現在被認為處于 交互式 模式
Export
這種方法允許在這個 DPE 作業上輸入幾條命令 要查看概要 在提示符下使用 STATUS 命令
Export status Job:CASES_EXPORT Operation:EXPORT Mode:TABLE State:EXECUTING Degree: Job Error Count: Dump file:/u /dpdata /expCASES dmp bytes written = Worker Status: State EXECUTING Object Schema:DWOWNER Object Name:CASES Object Type:TABLE_EXPORT/TBL_TABLE_DATA/TABLE/TABLE_DATA Completed Objects: Total Objects: Completed Rows:
記住 這只是狀態顯示 導出在后臺工作 要繼續在屏幕上查看消息 從 Export 提示符下使用命令 CONTINUE_CLIENT
并行操作
您可以通過 PARALLEL 參數為導出使用一個以上的線程來顯著地加速作業 每個線程創建一個單獨的轉儲文件 因此參數 dumpfile 應當擁有和并行度一樣多的項目 您可以指定通配符作為文件名 而不是顯式地輸入各個文件名 例如
expdp ananda/abc tables=CASES directory=DPDATA dumpfile=expCASES_%U dmp parallel= job_name=Cases_Export
注意 dumpfile 參數擁有一個通配符 %U 它指示文件將按需要創建 格式將為 expCASES_nn dmp 其中 nn 從 開始 然后按需要向上增加
在并行模式下 狀態屏幕將顯示四個工作進程 (在默認模式下 只有一個進程是可見的 )所有的工作進程同步取出數據 并在狀態屏幕上顯示它們的進度
分離訪問數據文件和轉儲目錄文件系統的輸入/輸出通道是很重要的 否則 與維護 Data Pump 作業相關的開銷可能超過并行線程的效益 并因此而降低性能 并行方式只有在表的數量多于并行值并且表很大時才是有效的
數據庫監控
您還可以從數據庫視圖獲得關于運行的 Data Pump 作業的更多信息 監控作業的主視圖是 DBA_DATAPUMP_JOBS 它將告訴您在作業上有多少個工作進程(列 DEGREE)在工作 另一個重要的視圖是 DBA_DATAPUMP_SESSIONS 當它與上述視圖和 V$SESSION 結合時將給出主前臺進程的會話 SID
select sid serial# from v$session s dba_datapump_sessions d where s saddr = d saddr;
這條指令顯示前臺進程的會話 更多有用的信息可以從警報日志中獲得 當進程啟動時 MCP 和工作進程在警報日志中顯示如下
kupprdp:master process DM started with pid= OS id= to execute SYS KUPM$MCP MAIN( CASES_EXPORT ANANDA ); kupprdp:worker process DW started with worker id= pid= OS id= to execute SYS KUPW$WORKER MAIN( CASES_EXPORT ANANDA ); kupprdp:worker process DW started with worker id= pid= OS id= to execute SYS KUPW$WORKER MAIN( CASES_EXPORT ANANDA );
它顯示為數據泵操作啟動的會話的 PID 您可以用以下查詢找到實際的 SID
select sid program from v$session where paddr in (select addr from v$process where pid in ( ));
PROGRAM 列將對應警報日志文件中的名稱顯示進程 DM (為主進程)或 DW (為工作進程) 如果一個工作進程使用了并行查詢 比如說 SID 您可以在視圖 V$PX_SESSION 中看到它 并把它找出來 它將為您顯示從 SID 代表的工作進程中運行的所有并行查詢會話
select sid from v$px_session where qcsid = ;
從視圖 V$SESSION_LONGOPS 中可以獲得其它的有用信息來預測完成作業將花費的時間
select sid serial# sofar totalwork from v$session_longops where opname = CASES_EXPORT and sofar != totalwork;
列 totalwork 顯示總工作量 該列的 sofar 數量被加和到當前的時刻 — 因而您可以用它來估計還要花多長時間
Data Pump 導入
不過 數據導入性能是 Data Pump 真正出色的地方 要導入先前導出的數據 我們將使用
impdp ananda/abc directory=dpdata dumpfile=expCASES dmp job_name=cases_import
導入進程的默認行為是創建表和所有相關的對象 然后在表已存在時產生一個錯誤 如果您想把數據添加到一個現有的表中 您可以在上述命令行中使用 TABLE_EXISTS_ACTION=APPEND
和使用 Data Pump 導入一樣 在進程中按 Control C 將進入 Date Pump Import (DPI) 的交互模式 同樣 提示符是 Import
處理特定對象
您是否有過只需要從一個用戶導出特定的過程 以在一個不同的數據庫或用戶中重新創建這些過程的情況?與傳統的導出實用工具不同 Data Pump 允許您只導出特定類型的對象 例如 以下命令讓您只導出過程 而不導出其它任何東西 — 不導出表 視圖 甚至函數
expdp ananda/iclaim directory=DPDATA dumpfile=expprocs dmp include=PROCEDURE
要只導出一些特定的對象 — 比如說 函數 FUNC 和過程 PROC — 您可以使用
expdp ananda/iclaim directory=DPDATA dumpfile=expprocs dmp include=PROCEDURE:\ =\ PROC \ \ FUNCTION:\ =\ FUNC \ \
這個轉儲文件充當了源對象的一個備份 您甚至可以用它來創建 DDL 腳本 以供之后使用 一個稱為 SQLFILE 的特殊參數允許創建 DDL 腳本文件
impdp ananda/iclaim directory=DPDATA dumpfile=expprocs dmp sqlfile=procs sql
該指令在 DPDATA 指定的目錄中創建一個名稱為 procs sql 的文件 并將對象的腳本包含在導出轉儲文件中 這種方法幫助您快速地在另一個模式中創建源對象
利用參數 INCLUDE 允許您從轉儲文件中定義要包含或排除的對象 您可以使用子句 INCLUDE=TABLE: LIKE TAB% 來僅導出那些名稱以 TAB 開頭的表 類似地 您可以使用結構 INCLUDE=TABLE: NOT LIKE TAB% 來排除所有名稱以 TAB 開頭的表 作為另一種選擇 您可以使用 EXCLUDE 參數來排除特定的對象
lishixinzhi/Article/program/Oracle/201311/17547
包含64位/32位官方版本,并附詳細的Oracle 11g安裝圖解教程,同時希望能幫助到剛接觸到Oracle數據庫的朋友。安裝過程稍需一段時間,具體時間決取于你的電腦配置,請大家稍安勿躁。
Oracle 11g版本是甲骨文公司憑借自已30年的設計經驗,成功打造的功能強大的關系數據庫管理系統,目前共發行了linux版本和windows版本,Oracle數據庫的高效性、安全性、穩定性、延展性,是其成功的關鍵因素,世界上的幾乎所有大型信息化系統都在應用Oracle技術。
在甲骨文推出的產品中,Oracle 11g是最具創新性和質量最高的軟件,它具有400多項功能,經過了1500萬個小時的測試,開發工作量前所未有。Oracle數據庫11g可以幫助企業管理企業信息、更深入地洞察業務狀況并迅速自信地做出調整以適應不斷變化的競爭環境,最新版數據庫增強了Oracle數據庫獨特的數據庫集群、數據中心自動化和工作量管理功能,更多詳細的功能請大家查看下面的Oracle 11g新增功能介紹。
Oracle 11g 64位/32位官方版
Oracle 11g安裝圖解教程
安裝以win7 64位系統為例
1、將win64_11gR2_database_1of2和win64_11gR2_database_2of2解壓到同個文件夾下合并(可以直接左鍵框住右鍵點擊一起解壓),打開運行其中的setup開始安裝,如圖所示:
2、稍后進入Oracle 11g安裝界面(如下圖:)
3、【配置安全更新】郵箱以及口令可以不寫,點擊下一步,出現提醒,直接點是即可。
4、【安裝選項】直接選擇默認創建和配置一個數據庫(安裝完Oracle后,系統會自動創建一個數據庫實例)。
5、【系統類】個人用戶直接選擇默認的桌面類就可以了,如圖所示:
6、【典型安裝】Oracle基目錄,軟件目錄,和數據庫文件目錄,Oracle一般會自動幫你選擇空間最大的盤和你解壓文件的盤符,全部默認即可。管理口令需要輸入(大寫+小寫+數字)的八位密碼,也有網友指出此處可以隨意設置簡單好記的密碼,無視軟件提醒即可。
7、【先決條件檢查】安裝程序會檢查軟硬件系統是否滿足此Oracle版本的最低要求,安裝需要占用約2G的C盤空間,內存2G以上即可。如果還是通不過要求,選擇全部忽略。
8、【概要】安裝前的一些相關選擇配置信息,點擊完成。
9、安裝正在進行中,請耐心等待。。。。如圖所示:
10、Oracle實例創建啟動完成后,會自動創建安裝一個實例數據庫名稱orcl123,(小編用的是orcl123,默認為orcl名稱的數據庫)。
11、 安裝完成,運行開始菜單Oracle - OraDb11g_home1Database Control - orcl123,以IE運行進入登錄界面或打開ie直接輸入即可 (此處如果出現證書錯誤的話,點擊繼續瀏覽此網站即可)。
12、登錄界面,輸入用戶名"SYS",口令為之前注冊設置的管理密碼,將連接身份改為SYSDBA,點擊登錄,成功之后你就可以管理你的數據庫實例了。
Oracle 11g新版功能
1.數據庫管理部分
◆數據庫重演(Database Replay)
這一特性可以捕捉整個數據的負載,并且傳遞到一個從備份或者standby數據庫中創建的測試數據庫上,然后重演負責以測試系統調優后的效果。
◆SQL重演(SQL Replay)
和前一特性類似。但是只是捕捉SQL負載部分,而不是全部負載。
◆計劃管理(Plan Management)這一特性允許你將某一特定語句的查詢計劃固定下來,無論統計數據變化還是數據庫版本變化都不會改變她的查詢計劃。
◆自動診斷知識庫(Automatic Diagnostic Repository ADR)
當Oracle探測到重要錯誤時,會自動創紀一個事件(incident),并且捕捉到和這一事件相關的信息,同時自動進行數據庫健康檢查并通知DBA。此外,這些信息還可以打包發送給Oracle支持團隊。
◆事件打包服務(Incident Packaging Service)
如果你需要進一步測試或者保留相關信息,這一特性可以將與某一事件相關的信息打包。并且你還可以將打包信息發給oracle支持團隊。
◆基于特性打補丁(Feature Based Patching)
在打補丁包時,這一特性可以使你很容易區分出補丁包中的那些特性是你正在使用而必須打的。企業管理器(EM)使你能訂閱一個基于特性的補丁服務,因此企業管理器可以自動掃描那些你正在使用的特性有補丁可以打。
◆自動SQL優化(Auto SQL Tuning)
10g的自動優化建議器可以將優化建議寫在SQL profile中。而在11g中,你可以讓oracle自動將能3倍于原有性能的profile應用到SQL語句上。性能比較由維護窗口中一個新管理任務來完成。
◆訪問建議器(Access Advisor)
11g的訪問建議器可以給出分區建議,包括對新的間隔分區(interval partitioning)的建議。間隔分區相當于范圍分區(range partitioning)的自動化版本,她可以在必要時自動創建一個相同大小的分區。范圍分區和間隔分區可以同時存在于一張表中,并且范圍分區可以轉換為間隔分區。
◆自動內存優化(Auto Memory Tuning)
在9i中,引入了自動PGA優化。10g中,又引入了自動SGA優化。到了11g,所有內存可以通過只設定一個參數來實現全表自動優化。你只要告訴oracle有多少內存可用,她就可以自動指定多少內存分配給PGA、多少內存分配給SGA和多少內存分配給操作系統進程。當然也可以設定最大、最小閾值。
◆資源管理器(Resource Manager)
11g的資源管理器不僅可以管理CPU,還可以管理IO。你可以設置特定文件的優先級、文件類型和ASM磁盤組。
◆ADDMADDM在10g被引入。
11g中,ADDM不僅可以給單個實例建議,還可以對整個RAC(即數據庫級別)給出建議。另外,還可以將一些指示(directive)加入ADDM,使之忽略一些你不關心的信息。
◆AWR 基線(AWR Baselines)
AWR基線得到了擴展??梢詾橐恍┢渌褂玫降奶匦宰詣觿摻ɑ€。默認會創建周基線。
2.PLSQL部分
◆結果集緩存(Result Set Caching)
這一特性能大大提高很多程序的性能。在一些MIS系統或者OLAP系統中,需要使用到很多"select count(*)"這樣的查詢。在之前,我們如果要提高這樣的查詢的性能,可能需要使用物化視圖或者查詢重寫的技術。在11g,我們就只需要加一個/*+result_cache*/的提示就可以將結果集緩存住,這樣就能大大提高查詢性能。當然,在這種情況下,我們可能還要關心另外一個問題:完整性。因為在oracle中是通過一致性讀來保證數據的完整性的。而顯然,在這種新特性下,為提高性能,是從緩存中的結果集中讀取數據,而不會從回滾段中讀取數據的。關于這個問題,答案是完全能保證完整性。因為結果集是被獨立緩存的,在查詢期間,任何其他DML語句都不會影響結果集中的內容,因而可以保證數據的完整性。
◆對象依賴性改進
在11g之前,如果有函數或者視圖依賴于某張表,一旦這張表發生結構變化,無論是否涉及到函數或視圖所依賴的屬性,都會使函數或視圖變為invalid。在11g中,對這種情況進行了調整:如果表改變的屬性與相關的函數或視圖無關,則相關對象狀態不會發生變化。
◆正則表達式的改進
在10g中,引入了正則表達式。這一特性大大方便了開發人員。11g,oracle再次對這一特性進行了改進。其中,增加了一個名為regexp_count的函數。另外,其他的正則表達式函數也得到了改進。
◆新SQL語法 =
我們在調用某一函數時,可以通過=來為特定的函數參數指定數據。而在11g中,這一語法也同樣可以出現在sql語句中了。例如,你可以寫這樣的語句:select f(x=6) from dual;
◆對TCP包(utl_tcp、utl_smtp…)
支持FGAC(Fine Grained Access Control)安全控制
◆增加了只讀表(read-only table)
在以前,我們是通過觸發器或者約束來實現對表的只讀控制。11g中不需要這么麻煩了,可以直接指定表為只讀表。
◆觸發器執行效率提高了
內部單元內聯(Intra-Unit inlining)在C語言中,你可以通過內聯函數(inline)或者宏實現使某些小的、被頻繁調用的函數內聯,編譯后,調用內聯函數的部分會編譯成內聯函數的函數體,因而提高函數效率。在11g的plsql中,也同樣可以實現這樣的內聯函數了。
◆設置觸發器順序
可能在一張表上存在多個觸發器。在11g中,你可以指定它們的觸發順序,而不必擔心順序混亂導致數據混亂。
◆混合觸發器(compound trigger)
這是11g中新出現的一種觸發器。她可以讓你在同一觸發器中同時具有申明部分、before過程部分、after each row過程部分和after過程部分。
◆創建無效觸發器(Disabled Trigger)
11g中,開發人員可以可以閑創建一個invalid觸發器,需要時再編譯她。
◆在非DML語句中使用序列(sequence)
在之前版本,如果要將sequence的值賦給變量,需要通過類似以下語句實現:select seq_x.next_val into v_x from dual;在11g中,不需要這么麻煩了,下面語句就可以實現:v_x := seq_x.next_val
◆PLSQL_Warning
11g中,可以通過設置PLSQL_Warning=enable all,如果在"when others"沒有錯誤爆出就發警告信息。
◆PLSQL的可繼承性
可以在oracle對象類型中通過super(和java中類似)關鍵字來實現繼承性。
◆編譯速度提高
因為不在使用外部C編譯器了,因此編譯速度提高了。
◆改進了DBMS_SQL包其中的改進之一就是DBMS_SQL可以接收大于32k的CLOB了。另外還能支持用戶自定義類型和bulk操作。
◆新的PLSQL數據類型——simple_integer這是一個比pls_integer效率更高的整數數據類型。
3.其他部分
◆增強的壓縮技術
可以最多壓縮2/3的空間。
◆高速推進技術
可以大大提高對文件系統的數據讀取速度。
◆增強了DATA Guard
可以創建standby數據庫的快照,用于測試。結合數據庫重演技術,可以實現模擬生成系統負載的壓力測試?! 粼诰€應用升級
也就是熱補丁——安裝升級或打補丁不需要重啟數據庫。
◆數據庫修復建議器
可以在錯誤診斷和解決方案實施過程中指導DBA。
◆邏輯對象分區
可以對邏輯對象進行分區,并且可以自動創建分區以方便管理超大數據庫(Very Large Databases VLDBs)。
◆新的高性能的LOB基礎結構
◆新的PHP驅動
標題名稱:怎么高速下載oracle 怎么高速下載onedrive文件
鏈接地址:http://m.kartarina.com/article44/hgcjhe.html
成都網站建設公司_創新互聯,為您提供靜態網站、Google、標簽優化、App開發、用戶體驗、手機網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯