您好,登錄后才能下訂單哦!
剛到公司沒多久,就有一臺oracle服務器要進行導出、導入,以前接觸過oracle,可是對oracle導出、導入沒研究過,這下急壞我了,于是趕緊上網惡補了一下。操作結果如下:
Oracle 數據導出導入
第一步 創建用戶的表空間和數據文件
以oracle的用戶的登錄
[oracle@oracle ~]$ ps -ef|grep pmon|grep -v grep
oracle 4052 1 0 Jun23 ? 00:00:10 ora_pmon_zlzxdb
oracle 4488 1 0 Jun23 ? 00:00:07 ora_pmon_yibiaodb
由pmon進程可以看出我有兩個實例,多實例登錄需要切換環境變量
[oracle@oracle ~]$ export ORACLE_SID=zlzxdb
[oracle@oracle ~]$ sqlplus / as sysdba ## 以dba的身份登錄
SQL> conn / as sysdba 鏈接到數據庫中
已連接。
SQL> select username,default_tablespace from user_users; 查看當前登錄的用戶
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SYS SYSTEM
SQL> show parameter instance_name; 查看當前的實例
NAME TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
instance_name string
zlzxdb
SQL> select name from v$database; 查看當前的數據庫名稱
NAME
---------
ZLZXDB
SQL> select name from v$datafile; 查詢數據文件路徑
create bigfile tablespace xmjidian datafile
‘/u01/app/oracle/oradata/zlzxdb/disk4/oracle_xmjidian_data.dbf’ size 2048M AUTOEXTEND ON; 創建大數據文件并且自動增長
create USER xmjidian IDENTIFIED BY xmjidian; 創建xmjidna并且設置密碼為xmjidan。或者創建用戶的指定用戶的默認表空間使用下面的語法,也可以最后修改為用戶的默認表空間
CREATE USER xmjidian IDENTIFIED BY xmjidian DEFAULT TABLESPACE xmjidna;
SQL>alter user xmjidian default tablespace xmjidian; 修改xmjidian用戶默認的表空間為xmjidian
grant dba to xmjidian; 授予dba的權限,一般情況下這個授權太大,導入完數據之后可以收回dba的權限或者給用戶直接授權
grant connect,resource,create any view to xmjidian;
創建導出導入目錄并授予權限
創建導出目錄
create directory exp_dir as ‘/u01/app/oracle/oradata/zlzxdb/share_data’;
給導出目錄授予權限
grant read,write on directory exp_dir to xmjidian;
創建導入目錄
create or replace directory data_dir as '/u01/app/oracle/oradata/zlzxdb/share_data ';
grant read,write on directory data_dir to xmjidian;
查詢創建的導出導入文件目錄以及名稱
select * from dba_directories;
數據導出導入
導出zlzxdb 下的
expdp zlzxdb/zlzxdb@zlzxdbrw schemas=zlzxdb dumpfile=oracle_xmjidian.dmp
DIRECTORY=exp_dir;
數據導出比較慢耐心等待
數據導入
以xmjidian的用戶導入數據
impdp xmjidian/xmjidian@zlzxdb directory=data_dir dumpfile=oracle_xmjidian.dmp
remap_schema=zlzxdb:xmjidian exclude=user full=y;
impdp yibiaodb01/yibiaodb01 DIRECTORY=dump_dir DUMPFILE=ybljt02_20150706.dmp REMAP_SCHEMA=ybljt02:yibiaodb01 remap_tablespace=ybljt02data:YIBIAODB01DATA01,ybljt02index:YIBIAODB01INDEX01
導出數據故障解決:
ORA-01653: 表 XMJIDIAN.LZ901017 無法通過 8192 (在表空間 ZLZXDATA01 中) 擴展 此類故障時因為zlzxdata01 表空間不足引起的,
解決:給zlzxdata01 增加表空間
ALTER TABLESPACE zlzxdata01 ADD DATAFILE ‘/u01/app/oracle/oradata/zlzxdb/disk4/oracle_xmjidian_zlzxddata01.dbf' size 2048M AUTOEXTEND ON;
select * from dba_role_privs where grantee = 'ZLZXDB'; 查看zlzxdb用戶的權限
參考資料:http://www.ilanni.com/?p=4413
http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL847 oracle官網文檔
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。