數據庫學習其一 oracle11g數據泵導入導出

1、檢查環境一致性
sql

檢查數據庫客戶端與服務端字符編碼,以免後續各類各樣的問題數據庫

查詢服務端編碼服務器

注意最好用sqlplus查詢,用plsql有時候會出現查詢不一致問題,以下圖同一個語句在plsqlsqlplus中得到了不一樣的查詢結果oracle

 

也能夠在NLS_DATABASE_PARAMETERS中查詢,以下字符集爲AMERICAN_AMERICA.AL32UTF8app

 

查詢客戶端編碼(環境爲WINDOWS)ide

環境變量之中字符集變量設置,變量名NLS_LANG 值設置與服務器端字符集編碼一致測試

 

註冊表中的Oracle字符集設置,NLS_LANG 值設置與服務器端字符集編碼一致
編碼

2、數據導出:

1、運行cmdspa

2、登陸數據庫,輸入命令:sqlplus日誌

 

使用管理員角色登陸須要在用戶名後加as sysdba」  例如:sys as sysdba,也能夠輸入sqlplus 非用戶密碼登錄也能夠 sqlplus / as sysdba

 

3、一樣建立目錄路徑:輸入命令:create directory data_dir as 'D:\ora\data' ;

 

  1)data_dir爲路徑名稱,可自命名,D:\ora\data爲數據庫導出文件存放路徑(路徑必須存在)

  2)、使用命令:select * from dba_directories可查詢用戶建立目錄。

 

4、爲oracle用戶授予訪問數據目錄的權限,輸入命令:Grant read,write on directory data_dir to dbuser;

  dbuser爲數據庫用戶名

 

5、導入導出操做受權,輸入命令:grant exp_full_database,imp_full_database to dbuser;  
6、數據導出,執行命令:expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

注意該命令是在cmd下執行,不是在sqlplus窗口中執行 

命令詳情:

  expdp [爲用戶名]/[密碼]@[服務名]  

  schemas=[用戶名]  

  dumpfile=[導出數據庫文件名]  

  directory=[設置目錄名]  

  logfile=[日誌文件文件名

3、數據導入:

1運行cmd

2登陸數據庫,輸入命令:sqlplus

使用管理員角色登陸須要在用戶名後加「 as sysdba」  例如:sys as sysdba

非用戶密碼登錄也能夠sqlplus / as sysdba  

三、建立表空間,用戶以及用戶受權dba(本地測試如單獨授予權限 導入導出操做受權,輸入命令:grant exp_full_database,imp_full_database to user;

create tablespace table_space
logging
datafile 'E:\app\oradata\orcldb\space.DBF'
size 50m
autoextend on
next 50m maxsize 30000m
extent management local;

create user user
identified by "123456"
default tablespace table_space
temporary tablespace TEMP
profile DEFAULT;


grant dba to user;

後期若是須要擴充表空間能夠用:

alter tablespace table_space add datafile 'E:\app\oradata\orcldb\space1.DBF'
size 50m
autoextend on
next 50m maxsize 30000m;

 

4建立目錄路徑:輸入命令:create directory data_dir as 'D:\ora\data' ; 路徑裏存放以前導出的數據庫dmp文件

  1)data_dir爲路徑名稱,可自命名,D:\ora\data爲數據庫導出文件存放路徑(路徑必須存在);

  2)、使用命令:select * from dba_directories可查詢用戶建立目錄。

 

5oracle用戶授予訪問數據目錄的權限,輸入命令:Grant read,write on directory data_dir to user;

 user以前創建的導入數據庫用戶名。

 

6數據導入,執行命令:impdp user/123456@orcl REMAP_SCHEMA = dbuser:user table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log

 

命令詳情:

  impdp [用戶名]/[密碼]@[服務名]  

  REMAP_SCHEMA=[源用戶名1]:[目標用戶名2]  

  table_exists_action=replace /*存在的表動做(覆蓋)*/

  directory=[建立目錄名]  

  dumpfile=[.dmp文件名]  

  logfile=[.log文件名]           

相關文章
相關標籤/搜索