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

導出

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

    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_planweboracle

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

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

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

  模式三:導出指定表日誌

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

    栗子: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)對象

導入

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

    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 導出、導入某用戶全部數據(包括表、視圖、存儲過程...)

相關文章
相關標籤/搜索