Oracle

將 Oracle 數據庫轉儲到文本 SQL 腳本中

  • September 9, 2017

我在想什麼mysqldumppg_dump正在做什麼。因此,他們將活動數據庫轉儲到包含 SQL 查詢的文本文件中,從而重現整個數據庫。在 MySQL 和 PostgreSQL 中,這是正常的數據庫轉儲格式。

它存在於 Oracle 上嗎?如何做呢?

如果它不是標準的 Oracle 東西,那絕對不是問題。我需要解決這個問題。導出單個表是不夠的,我要求轉儲整個數據庫。

它是一個大型項目(具有數百萬行數據庫)的簡化開發環境,但仍然具有數百個表和非常複雜的結構。而且,我想快速玩它。當我在玩它時,我還需要能夠對其執行棘手的修改。在二進制轉儲上我不能這樣做,在文本上我可以。

數據庫本身沒有這樣的東西。

您可以使用數據庫導出工具在 SQL Developer 中執行類似的操作。

如何使用 SQL Developer 導出數據

使用工具/數據庫導出工具,您可以指定要導出的對象,然後 SQL Developer 生成用於重新創建它們的 SQL 文件,其中數據作為插入語句。

它存在於 Oracle 上嗎?

Oracle 環境中存在類似的實用程序,稱為數據泵。

如何做呢?

使用 expdp 命令行工具執行完整的數據庫導出。

例子:

expdp hr DIRECTORY=dpump_dir2 DUMPFILE=expfull.dmp FULL=YES NOLOGFILE=YES

然後可以使用impdp將其導入另一個數據庫。

例子:

impdp hr DUMPFILE=dpump_dir1:expfull.dmp FULL=YES LOGFILE=dpump_dir2:full_imp.log

如果您指定DUMPFILE參數,它會寫入一個名為轉儲文件的二進製文件。使用SQLFILE參數 ( SQLFILE=/my/file/name.sql),您可以獲得 Import 將執行的所有 SQL DDL。

更多取決於它的要求。

Oracle 文件在這裡解釋的比我所能解釋的更多。

Oracle 數據泵概述

引用自:https://dba.stackexchange.com/questions/131726