日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Oracle10g:數據的導入導出

瀏覽:27日期:2023-11-12 18:41:54
Oracle10g:數據的導入導出 給數據泵加壓Oracle 數據庫 10g 中的新的實用程序使其性能和多功能性達到了新的水平。 Oracle 數據庫 10g 中增加的叫做 Oracle Data Pump (數據泵)的新的導入和導出特性,徹底改變了數據庫用戶已經習慣的過去幾代 Oracle 數據庫的客戶 / 服務器工作方式。現在服務器可以運行導出和導入任務。你可以通過并行方式快速裝入或卸載大量數據,而且你可以在運行過程中調整并行的程度。導出和導入任務現在可以重新啟動,所以發生故障不一定意味著要從頭開始。 API 是公諸于眾的,并且易于使用;用 PL/SQL 建立一個導入和導出任務非常簡單。一旦啟動,這些任務就在后臺運行,但你可以通過客戶端實用程序從任何地方檢查任務的狀態和進行修改。 體系結構 在 Oracle 數據庫 10g 之前(從 Oracle7 到 Oracle9I ),導入和導出實用程序都作為客戶端程序運行,并且完成大量工作。導出的數據由數據庫實例讀出,通過連接傳輸到導出客戶程序,然后寫到磁盤上。所有數據在整個導出進程下通過單線程操作。今天的數據量比這個體系結構最初采用的時候要大得多,使得單一導出進程成了一個瓶頸,因為導出任務的性能受限于導出實用程序所能支持的吞吐量。 在 Oracle 數據庫 10g 和全新的數據泵( Data Pump )體系結構下,如今所有的工作都由數據庫實例來完成。數據庫實例可以用兩種方法來并行處理這些工作:通過建立多個數據泵工作進程來讀 / 寫正在被導出 / 導入的數據,以及建立并行 I/O 服務器進程以更快地選?。?SELECT )或插入( INSERT )這些數據。這樣,單進程瓶頸再也就不存在了。 數據泵任務用新的 DBMS_DATAPUMP PL/SQL API 來建立、監測和調整。新的導入和導出實用程序(分別為 impdp 和 eXPdp )對于這個 API 來說只是命令行接口。你可以使用數據泵導出實用程序初始化一個任務,例如一個導出任務。然后你就可以關閉你的客戶端,回家過夜和享用晚餐,而你的任務會一直運行。到了深夜,你可以重新連接到那個任務,檢查其狀態,甚至可以提高并行程度,以便在深夜系統沒有用戶在用的情況下多完成一些工作。第二天早上,你可以降低并行度甚至掛起該任務,為白天在線的用戶釋放資源。 重新啟動任務的功能是數據泵體系結構的一個重要特性。你可以隨時停止和重啟動一個數據泵任務,比如為在線用戶釋放資源。你還可以從文件系統的空間問題中輕松地恢復。假如一個 12 小時的導出任務在進行了 11 小時后因磁盤空間不夠而失敗,那么你再也不用從頭開始重新啟動該任務,重復前面 11 小時的工作。而是你可以連接到這個失敗的任務,增加一個或多個新的轉儲( dump )文件,從失敗的地方重新啟動,這樣只需一個小時你就可以完成任務了。這在你處理很大數據量時非常有用。 對文件系統的訪問 由服務器處理所有的文件 I/O 對于遠程執行導出和導入任務的數據庫治理員來說非常有利。如今,用戶可以很輕松地在類似 UNIX 的系統 ( 如 Linux) 上 telnet 或 ssh 到一個服務器,在命令行方式下初始化一個運行在服務器上的導出或導入任務。然而,在其他操作系統上就不那么輕易, Windows 是最明顯的例子。在推出數據泵之前,要從一個 Windows 系統下的 Oracle 數據庫中導出大量數據,你很可能必須坐在服務器控制臺前發出命令。通過 TCP/IP 連接導出數據只對小數據量是可行的。數據泵改變了這一切,因為即使你通過在你的客戶端上運行該導出和導入實用程序來初始化一個導出或導入任務,該任務其實也運行在服務器上,所有的 I/O 也都發生在該服務器上。 出于安全性考慮,數據泵要求你通過 Oracle 的目錄對象來指定其中存放著你要建立或讀取的轉儲文件的目標目錄。例如: CREATE DirectorY export_dumps AS 'c:a'; ; GRANT read, write ON DIRECTORY export_dumps TO gennick; 我以 SYSTEM 身份登錄到我的實驗室數據庫上,并執行以上語句來建立一個目錄對象,這個目錄對象指向了我磁盤上的一個臨時目錄,以用來存放導出的轉儲文件。 GRANT 語句為用戶 gennick- 就是我 - 分配了訪問該目錄的權限。我給自己分配讀 / 寫權限,因為我將導出和導入數據。你可以為一個用戶分配讀權限,限制他只能導入數據。 啟動一個導出任務 你可以使用新的 expdp 實用程序來啟動一個導出任務。因為參數與老的 exp 實用程序不同,所以你得熟悉這些新的參數。你可以在命令行中指定參數,但在本文中我使用了參數文件。我想導出我的整個模式( schema ),使用了以下參數: DUMPFILE=gnis%U.dmp DIRECTORY=export_dumps LOGFILE=gnis_export.log JOB_NAME=gnis_export DUMPFILE 指定我將向其中寫入被導出數據的文件。 %U 語法給出了一個增量計數器,得到文件名 gnis01.dmp 、 gnis02.dmp 等。 DIRECTORY 指定了我的目標目錄。 我的 LOGFILE 參數指定了日志文件的名字,這個文件是為每個導出任務默認創建的。 JOB_NAME 給任務指定了一個名字。我選擇了一個易于記憶(和輸入)的名字,因為我可能需要在后面才連接這個任務。要注重在指定任務名稱時不要與你登錄模式( schema )中的模式對象名稱沖突。數據泵在你的登錄模式中建立一個被稱為任務主表的數據表,該表的名字與任務的名字相匹配。這個數據表跟蹤該任務的狀態,并最終被寫入轉儲文件中,作為該文件所含內容的一個記錄。 清單 1 顯示了一個導出任務已被啟動。該任務所做的第一件事是估計所需的磁盤空間大小。當估計值顯示出來后,我按 ctrl-C 進入一個交互式的導出提示窗口,然后使用 EXIT_CLIENT 命令回到我操作系統的命令窗口。該導出任務仍然運行在服務器上。 注重,假如我要做并行導出并且將我的 I/O 分布在兩個磁盤上,那么我可以對 DUMPFILE 參數值做出修改,并如下添加 PARALLEL 參數和值,如下所示: DUMPFILE=export_dumps01:gnis%U.dmp, export_dumps02:gnis%U.dmp PARALLEL=2 注重,在這個并行導出任務中,目錄名作為文件名的一部分來被指定。 檢查狀態 你可以隨時連接到一個運行中的任務來檢查其狀態。要連接到一個導出任務,必須執行一條 expdp 命令,使用 ATTACH 參數來指定任務名稱。 清單 2 顯示了到 GNIS_EXPORT 任務的連接。當你連接到一個任務, expdp 顯示該任務的相關信息和當前狀態,并為你提供一個 EXPORT> 提示符。 當你連接到了一個任務后,你可以隨時執行 STATUS 命令查看當前狀態,如 清單 3 所示。你還可以執行 CONTINUE_CLIENT 命令返回到顯示任務進度的日志輸出狀態,該命令可以被縮寫成如 清單 4 所示的 CONTINUE 。 你可以通過查詢 DBA_DATAPUMP_JOBS 視圖快速查看所有數據泵任務的狀態。你不能獲得 STATUS 命令所給出的具體信息,但你可以快速查看到哪些任務在執行、哪些處于空閑狀態等。另一個需要了解的視圖是 DBA_DATAPUMP_SESSIONS ,它列出了所有活躍的數據泵工作進程。 從故障中恢復 重啟動任務的能力使你可以從某些類型的故障中恢復過來。例如, 清單 5 顯示了一個用完了轉儲文件空間的導出任務的日志文件的結尾部分。然而,什么也沒有丟失。該任務只是進入了一個空閑狀態,當你連接到該任務并查看狀態輸出時就可以看到這一點。這個狀態不顯示任務空閑的原因。要確定這是因為轉儲文件的空間不夠了,則你需要查看日志文件。 連接到因轉儲文件空間不夠用了而停止的任務后,你可以在兩個操作中選擇其一:你可以使用 KILL_JOB 命令來中止該任務,或者增加一個和多個轉儲文件來繼續該任務的運行。假如空間不夠的問題是因為磁盤空間不足,則當然你要確保你增加的文件是在另一個有可用空間的磁盤上。你也許需要創建一個新的 Oracle 目錄對象來指向這一新位置。 清單 6 使用 ADD_FILES 命令為我的空閑任務增加兩個文件。這兩個文件位于不同的目錄中,它們都不同于為該任務的第一個轉儲文件所指定的目錄。我使用 START_JOB 命令來重新啟動該任務,然后使用 CONTINUE 查看屏幕上滾動的其余日志輸出。 導入任務不會受到卸載( dump )文件空間不足的影響。但是,它們可能會受到數據表空間不足或無法擴展表空間的影響。導入的恢復過程和導出任務的基本上相同。首先,通過向表空間增加一個數據文件、擴展一個數據文件或其他方法來提供可用空間。然后連接到該任務,執行 START_JOB 命令。導入任務將從它中斷的地方繼續執行。 導入選定的數據 本文中的例子到目前為止顯示的是對用戶 GENNICK 擁有的所有對象進行模式( schema )數據庫級別的導出。為了展示數據泵的一些新的功能,我要導入那些數據,而且為了使問題更有意思,我列出了以下要求: 僅導入 GNIS 數據表 將該數據表導入到 MICHIGAN 模式中 僅導入那些與密歇根州相關的數據行 不導入原始的存儲參數 一開始,我可以在我的導入參數文件中寫出以下四行: DUMPFILE=gnis%U.dmp DIRECTORY=export_dumps LOGFILE=gnis_import.log JOB_NAME=gnis_import 這四行沒有什么新意。他們指定了轉儲文件、目錄、日志文件和該任務的名稱。根據我們的四個要求,我可以使用 INCLUDE 參數將導入操作限制在我們感愛好的一個數據表上: INCLUDE=TABLE:'= 'GNIS'' INCLUDE 是個很有意思的參數。當你需要導入一個轉儲文件的部分內容時,你可以有兩個方法: 你可以使用一個或多個 INCLUDE 參數列出你要導入的那些對象。 你可以使用 EXCLUDE 參數列出那些你不需要的內容,然后導入其余的內容。 因為我只需要一個對象,明確包含該對象比起明確不包括其它對象要輕易得多。我的 INCLUDE 參數值的第一部分是要害字 TABLE ,表明我要導入的對象是一個數據表(其它的可能是一個函數或一個過程)。 接下來是一個冒號,然后是一個 WHERE 子句的謂詞。我明確希望數據表名為 GNIS ,所以這個謂詞是 '= 'GNIS'' 。假如必要,則你可以寫出多個具體的謂詞。通過 INCLUDE 和 EXCLUDE 參數,你可以確切地指出以什么樣的粒度導入或導出。我建議你仔細地閱讀關于這兩個參數的文檔。它們的功能之強大和多功能性是我在本文中所無法描述的。 我可以很輕松地完成該模式的改變,將來自 GNIS 模式的數據表重新映射到 MICHIGAN 模式: REMAP_SCHEMA=gennick: michigan 我只需要關于密歇根州的數據行。為此,我可以使用 QUERY 參數來指定一個 WHERE 子句: QUERY='WHERE gnis_state_abbr='MI'' QUERY 在老的實用程序中也有,但只能用于導出操作。數據泵使 QUERY 也能用于導入操作,因為數據泵利用了 Oracle 較新的外部數據表功能。只要可能,數據泵會選擇直接路徑來導出或導入數據,包括從數據庫數據文件中讀取數據然后直接寫到一個導出轉儲文件中,或讀取轉儲文件然后直接寫入數據庫數據文件中。但是,當你指定了 QUERY 參數時,數據泵將使用一個外部數據表。對于一個導入任務,數據泵將使用 ORACLE_DATAPUMP 存取驅動程序建立一個外部數據表,并執行一條 INSERT...SELECT...FROM 語句。 我的最后一個要求是避免導入與已被導出的數據表相關的存儲參數。我希望 MICHIGAN 模式中的新 GNIS 表沿用該模式的默認表空間的默認存儲參數。原因是 MICHIGAN 的默認表空間不足以容納該數據表的本來大小,但是是以僅僅容納與密歇根有關的數據行。通過 TRANSFORM 參數,我可以告訴導入任務不要包含與原始表相關的任何數據段屬性: TRANSFORM=SEGMENT_ATTRIBUTES:N 這看起來是件小事,但以前有很多次我都希望老的導入實用程序的 TRANSFORM 參數有這樣的功能。我在試圖將少量生產數據導入到測試系統中時經常失敗,因為即使存儲生產數據的各個區段當中許多是空的,其數據量也比我測試系統所能支持的大得多。對于只導入一張數據表的情況,預先建立數據表是解決這個問題的一個辦法。然而,隨著數據表的增多,預先建表會很麻煩。而 TRANSFORM 這樣的簡單開關可以輕松地將轉儲文件中所有數據段的屬性全體忽略掉。 將我上面描述的所有選項放到一個參數文件中后,我可以調用導入實用程序,如下所示: impdp michigan/passWord parfile=gnis_import.par 當作為一個沒被授權的用戶進行導入時,你需要連接到目標模式。假如你擁有 IMP_FULL_DATABASE 角色,那么你可以用自己的身份登錄,然后導入到任何目標模式。 性能和多功能性 Oracle 數據泵比起以前的導出和導入實用程序在性能上有很大的提高。這種性能提高大部分來自于讀寫轉儲文件的并行操作。你可以指定并行程度來達到你所要求的速度與資源消耗的折中。下一步 下載本文所使用的示例數據 數據泵還很好地利用了 Oracle 數據庫其他最新開發的創新特性。 Flashback (回閃)用于確保導出數據的一致性,而 FLASHBACK_SCN 和 FLASHBACK_TIME 參數使你能夠完全控制這一功能。直接路徑( direct-path ) API 用于在任何可能的時候提高性能,當直接路徑 API 不能使用時,用外部數據表和新的 ORACLE_DATAPUMP 外部數據表存取驅動程序來傳輸數據。 數據泵除了提供全新的性能外還為你提供靈活性。這表現在 INCLUDE 和 EXCLUDE 參數、 QUERY 參數、 TRANSFORM 參數和其他參數的實現中,這些參數使你能夠精細地控制被加載和卸載的數據和對象。 人們一直在不斷地對 ' 大數據 ?quot; 的含意進行重新定義,這種數據庫容量之大在十年前還只能是夢想。在這樣的世界里,數據泵對于你的數據庫治理員所用的工具庫是個不錯的補充,使你能夠以前所未有的速度對數據庫進行數據導入和導出。 Jonathan Gennick ( Jonathan@Gennick.com ) 是一名經驗豐富的 Oracle 數據庫治理員和 Oracle 認證的專家,居住在密歇根州的上部半島。他在治理著 Oracle 文章電子郵件列表,你可以訪問 gennick.com 來了解其中的有關內容。 Gennick 最近參與編寫了《 Oracle Regular Expressions Pocket Reference , Oracle 正則表達式袖珍手冊》 (O'Reilly & Associates, 2003 出版 ) 一書。
標簽: Oracle 數據庫
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲深夜福利在线观看| 欧美激情 亚洲a∨综合| 欧美xxxx性| 国产私拍福利精品视频二区| 一区二区精品| 在线免费观看亚洲| 91麻豆精品激情在线观看最新| 日韩欧美激情| 日韩中文字幕av电影| 亚洲视频二区| 97久久亚洲| 激情综合五月| 日韩高清不卡| 欧美日韩激情在线一区二区三区| 99国产精品免费视频观看| 免费av一区| 亚洲日本欧美| 精品国产一区二区三区噜噜噜| 久久一区精品| av亚洲一区二区三区| 中文日韩欧美| 欧美中文高清| 成年男女免费视频网站不卡| 国产v日韩v欧美v| 不卡在线一区| 国产欧美二区| 99热精品久久| 日本伊人午夜精品| 91亚洲国产高清| 久久亚洲风情| 麻豆91在线播放| 久久99影视| 欧美精品一线| 国产精品亚洲一区二区在线观看| 国产传媒av在线| 视频在线观看一区二区三区| 国产欧美综合一区二区三区| 国产精品伦理久久久久久| 久久黄色影院| 欧美亚洲国产日韩| 免费久久精品| 精品一区视频| 亚洲欧美日韩在线观看a三区| 国产探花在线精品一区二区| 91精品国产调教在线观看 | 亚洲一区日韩| 国产精品久av福利在线观看| 在线日韩中文| 亚洲一区有码| 麻豆精品蜜桃| 久久免费影院| 午夜在线视频观看日韩17c| 国产精品白丝久久av网站| 欧美亚洲专区| 最新亚洲激情| 日韩电影免费网址| 欧美精品影院| 最新日韩av| 亚洲综合在线电影| 热久久久久久| 久久香蕉精品| 久久精品欧美一区| 久久久久97| 日本不卡在线视频| 在线成人直播| 天堂av在线| 国产精品一区二区精品| 久久国产66| 色婷婷精品视频| 久久精品国产福利| 欧美亚洲福利| 日韩精品亚洲专区在线观看| 免费黄色成人| 午夜精品成人av| 精品免费视频| 欧美激情一区| 欧美国产极品| 久久99性xxx老妇胖精品| 日韩中文字幕视频网| 欧美在线网站| 久久久久国产精品一区三寸| 欧美日韩xxxx| 亚洲免费毛片| 中文不卡在线| 99国内精品| 尹人成人综合网| 狠狠色狠狠色综合日日tαg| 久久久夜精品| 亚洲成人国产| 欧美sm一区| 日韩欧美精品综合| 日韩大片在线播放| 欧美日韩视频网站| 亚洲永久av| 日韩中文在线电影| 日韩在线观看不卡| 久久蜜桃精品| 免费黄色成人| 老鸭窝毛片一区二区三区| 日韩午夜电影| 视频一区二区三区在线| 蜜桃视频一区二区三区在线观看| 久久亚洲影院| 日韩精品一区第一页| 99国产精品久久久久久久| 亚洲激情社区| 亚洲ww精品| 国产亚洲精品美女久久| 国产日韩一区二区三区在线播放| 91精品视频一区二区| 国产日韩中文在线中文字幕| 青青草伊人久久| 另类欧美日韩国产在线| 国产一区二区三区亚洲| 日韩成人精品一区| 久久精品国产亚洲夜色av网站| 99精品小视频| 亚洲一区中文| 91麻豆精品激情在线观看最新| 国产精品视频3p| 国产传媒av在线| av成人国产| 视频一区中文字幕精品 | 日韩黄色在线观看| 国产精品久久久久77777丨| 国产精品mv在线观看| 精品久久电影| 狠狠操综合网| 亚洲精品动态| 麻豆91小视频| 91精品一区国产高清在线gif| 亚洲欧美日韩高清在线| 亚洲一二三区视频| 美女久久久精品| 91成人精品视频| 日韩精品免费视频人成| 国产一区二区三区国产精品| 久久久久午夜电影| 一级成人国产| 毛片不卡一区二区| 日韩国产欧美| 另类av一区二区| 久久不卡日韩美女| 亚洲黑丝一区二区| 欧美日一区二区三区在线观看国产免| 久久精品国产99| 亚洲欧美日韩专区| 国产成人久久精品麻豆二区| 国产综合婷婷| 国产日韩欧美| 在线精品视频在线观看高清| 日韩和欧美一区二区三区| 国产成人久久精品麻豆二区 | 久久国产欧美| 国产精品亚洲综合在线观看| 国产亚洲一区二区手机在线观看 | 成人久久一区| 欧美天堂一区| 伊人影院久久| 精品亚洲成人| 视频一区免费在线观看| 精品国产亚洲一区二区在线观看| 久久九九精品| 美女视频一区在线观看| 亚洲免费网址| 美女高潮久久久| 综合国产精品| 激情久久婷婷| 国产精品久久久久av蜜臀| 伊人影院久久| 中文字幕人成乱码在线观看| 亚洲永久精品唐人导航网址| 日韩一区亚洲二区| 国产精品一国产精品| 国产精品日本| 日韩一区二区中文| 欧美日韩18| 免费成人在线影院| 日韩大片在线播放| 麻豆中文一区二区| 日韩不卡免费视频| 91久久午夜| 欧美综合另类| 国产成人久久精品麻豆二区 | 麻豆91在线播放| 日韩超碰人人爽人人做人人添| 国产精品7m凸凹视频分类| 91亚洲国产成人久久精品| 亚洲91网站| 亚洲人www| 亚洲精品乱码日韩| 伊人久久亚洲| 久久亚洲图片| 国产偷自视频区视频一区二区| 夜鲁夜鲁夜鲁视频在线播放| 麻豆精品在线| 久久亚洲道色| 国产一区二区三区天码| 久久精品亚洲| 日本黄色精品|