痛苦的 Oracle 導入 dmp 文件記錄

前言:不知道dmp 文件的 導出用戶表空間 就別折騰了, 我折騰了半天, 網上方法都試了, 最後都報錯"用戶不存在"; 有知道的麻煩評論告訴小弟.

1. 打開 oracle 命令行

    sqlplus /nolog

   

2. 連接 Oracle

   conn /as sysdba;

   

 

3. 創建表空間

create tablespace oesv6 datafile 'D:\DevFiles\oracleLog\oesv6.dbf'size 2048m autoextend on next 512m maxsize 10240m;

 

4. 創建用戶

create user oes identified by 密碼 default tablespace oesv6 temporary tablespace temp profile default;

5. 給用戶管理表空間權限

        grant connect,resource,alter system,debug connect session,create session,create any view,select any table,delete any table,drop any table,alter any table,dba,sysdba to oes;

 

6. 導入 dmp 文件 (這一步坑很多, 可能會失敗, 具體參照提示自己解決吧)

(1) imp 導入方式

     imp usename/password@localhost/orcl(表示SID)  file= D:\360Downloads\xxxx.dmp  full=y ignore=y

(2) impdp 導入方式( imp導入報錯: IMP-00038:無法轉換爲環境字符集句柄, 則用這種導入 )

     <1> 退出 Oracle 命令行, 使用新創建的用戶再次登錄

     <2> 創建臨時目錄, 即dmp文件所在文件夾(D:\360Downloads),路徑最好不要有中文。

              create directory dpdata1 as 'D:\360Downloads';

      <3>退出 oracle 命令行, 在 cmd 命令行執行導入命令

        impdp oes/密碼 dumpfile=20200219.dmp directory=dpdata1 remap_schema=onlinecol:oes remap_tablespace=ts_onlinecol_prod:OESV6

       其中:ts_onlinecol_prod:原先dmp文件的表空間名稱,如果不知道原先的表空間名稱是什麼,先隨便寫個,到時候導入的時候會提示表空間不存在,把提示不存在的表空間名稱寫上去就可以。

        zaixianzs_data:需要導入到的表空間的名稱(第一步創建的表空間名稱)

        REMAP_SCHEMA: 該選項用於將源方案的所有對象裝載到目標方案中。 

 REMAP_SCHEMA=source_schema:target_schema

       REMAP_TABLESPACE: 將源表空間的所有對象導入到目標表空間中。                   

 REMAP_TABLESPACE=source_tablespace:target:tablespace 

後語: 導入時如果提示  用戶名/密碼第一個字符+後面的.... ,    則執行一次  sqlplus /nolog,  然後  conn /as sysdba,  再 exit 退出來, 然後再導入就好了.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章