Oracle導出/導入數據庫的三種模式


導出

  模式一:全量導出(慎用)

    exp 用戶名/密碼@數據庫實例 owner=用戶名 file=文件存儲路徑 log=日志存儲路徑 full=y

    栗子:exp Mark/123456@151.2.*.156:1521/markdb owner=Mark file=d:/export/mark_db.emp log=d:/export/mark_db.log full=y owner=ds_planweb

  模式二:導出指定用戶(推薦)

    exp 用戶名/密碼@數據庫實例 owner=用戶名 file=文件存儲路徑 log=日志存儲路徑 owner=指定用戶

    栗子:exp Mark/123456@151.2.*.156:1521/markdb owner=Mark file=d:/export/mark_db.emp log=d:/export/mark_db.log owner=Mark

  模式三:導出指定表

    exp 用戶名/密碼@數據庫實例 owner=用戶名 file=文件存儲路徑 log=日志存儲路徑 owner=指定用戶 tables=(指定表)

    栗子:exp Mark/123456@151.2.*.156:1521/markdb owner=Mark file=d:/export/mark_db.emp log=d:/export/mark_db.log owner=Mark tables=(mark_user)

導入

  模式一:全量導入(慎用)

    imp 用戶名/密碼@數據庫實例 file=文件存儲路徑 full=y ignore=y

    栗子:imp Mark/123456@151.2.*.156:1521/markdb file=d:/export/mark_db.emp full=y ignore=y

    注:ignore:是否忽略創建錯誤

  模式二:導入指定用戶(推薦)

    imp 用戶名/密碼@數據庫實例 file=文件存儲路徑 fromuser=資源用戶名 touser=目標用戶名 ignore=y

    栗子:imp Mark/123456@151.2.*.156:1521/markdb file=d:/export/mark_db.emp fromuser=Mark touser=Mark_target ignore=y

    注:這樣用戶SONIC的所有對象被導入到文件中。必須指定FROMUSER、TOUSER參數,這樣才能導入數據。

  模式三:導入指定表

    imp 用戶名/密碼@數據庫實例 file=文件存儲路徑 owner=指定用戶 tables=(指定表)

    栗子:imp Mark/123456@151.2.*.156:1521/markdb file=d:/export/mark_db.emp owner=Mark tables=(mark_user)

 創建用於接收導入數據庫的用戶

  創建用戶

  1. 通過指令: create user 用戶名 identified by 口令[即密碼];
  2. 登錄system賬號,直接創建用戶

  刪除用戶

    drop user 用戶名 cascade;

    注:若用戶擁有對象,則不能直接刪除,否則將返回一個錯誤值。指定關鍵字cascade,可刪除用戶所有的對象,然后再刪除用戶。

  用戶授權

  1. 授權:grant connect, resource to 用戶名;
  2. 撤銷:revoke connect, resource from 用戶名;

  注:oracle為兼容以前版本,提供三種標准角色(role):connect/resource和dba.

  經過以上操作,該用戶則可以作為imp指令 touser的值來接收導入數據庫了。

——————----過渡線-----——————

以上用戶沒有操作表的權限,賦權腳本如下:

GRANT CREATE ANY TABLE TO DS_PORTAL_SH_DEV_GZW;
GRANT SELECT ANY TABLE TO DS_PORTAL_SH_DEV_GZW;
GRANT COMMENT ANY TABLE TO DS_PORTAL_SH_DEV_GZW;
GRANT LOCK ANY TABLE TO DS_PORTAL_SH_DEV_GZW;
GRANT SELECT ANY DICTIONARY TO DS_PORTAL_SH_DEV_GZW;

 

注:如果dmp文件由dba用戶導出,而導入的用戶不是dba,那么則會報以下的錯誤:(圖片來自參考博客)

解決方案:

  1. 使用DBA賬號進行導入
  2. 將dba權限賦值給需要導入的用戶

賦權語句:

  grant dba to Mark

參考:

Oracle 導出、導入某用戶所有數據(包括表、視圖、存儲過程...)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM