導入與導出詳解
導出表
1、導出自己的表
exp userid=用戶名/密碼@數據庫實例名 tables=(表名1,表名2,..) file=備份路徑
例:exp userid=scott/tiger@orcl tables=(emp,dept) file=d:/scott_emp_dept.dmp
2、導出其它方案的表
如果用戶要導出其它方案的表,則需要DBA的權限或是exp_full_database的權限,比如system就可以導出scott的表
exp useris=用戶名/密碼@數據庫實例名 tables=(方案名.表名1,方案名.表名2,..) file=備份路徑
例:
dept2.dmp
特別說明:備份文件的後綴名一般是.dmp,但是這不是必須的。
3、導出表的結構
exp userid=用戶名/密碼@數據庫實例名 tables(表名1,表名2,..) file=備份路徑 rows=n
例:exp userid=system/orcl@orcl tables(scott.emp,scott.dept) file=d:/scott_em
p_dept.demp rows=n
4、使用直接導出方式
exp userid=用戶名/密碼@數據庫實例名 tables(表名1,表名2,..) file=備份路徑 direct=y
例:exp userid=system/orcl@orcl tables(scott.emp,scott.dept) file=d:/scott_em
p_dept.demp direct=y
這種方式比默認的常規方式速度要快,當數據量大時,可以考慮使用這樣的方法。
這時需要數據庫的字符集要與客戶端字符集完全一致,否則會報錯。
導出方案
導出方案是指使用export工具導出一個方案或是多個方案中的所有對象(表、索引、約束..)和數據,並存放到文件中。
1、導出自己的方案
exp 用戶名/密碼@數據庫實例名 owner=所有者 file=備份路徑
例:exp scott/tiger@orcl owner=scott file=d:/scott_owner.dmp
2、導出其它方案
如果用戶要導出其它方案,則需要dba的權限或者exp_full_database的權限。例如system用戶就可以導出任何方案
exp 用戶名/密碼@數據庫實例名 owner=(所有者1,所有者2,..) file=備份路徑
例:exp system/orcl@orcl owner=scott,system file=d:/system_scott_owner.dmp
特別註意:如果用戶的權限夠大,則可一次性導出多外用戶的方案。比如system。
導出完整數據庫
需要dba的權限或者exp_full_database的權限。
exp 用戶名/密碼@數據庫實例名 full=y file=備份路徑
例:exp system/orcl@orcl full=y file=d:/orcl_full.dmp
導出表
[oracle@oracle ~]$ exp hr/oracle file=/home/oracle/hr2.dmp TABLES="(employees,departments)";
Export: Release 11.2.0.4.0 - Production on Thu Jul 12 13:38:07 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table EMPLOYEES 107 rows exported
. . exporting table DEPARTMENTS 27 rows exported
Export terminated successfully without warnings.
導出不含約束的表
exp hr/oracle file=/home/oracle/hr2.dmp TABLES="(employees,departments)" constraints=n
創建HR2用戶
SYS@VDEDU>create user hr2 identified by oracle;
賦予權限
SYS@VDEDU>grant dba to hr2;
_________________________________________________________________________________________________________________________________
_________________________________________________________________________________________________________________________________
導入表
導入自身表
imp 用戶名/密碼@數據庫實例名 file=備份路徑 tables=(表名1,表名2,..)
例:imp scott/tiger@orcl file=d:/emp_dept.dmp
特別註意:如果目的地有相同的表,則導入不成功。
導入其它方案的表
需要有dba權限或者imp_full_database的權限。
imp 用戶名/密碼@數據庫實例名 file=備份路徑 tables=(表名1,表名2,..) fromuser=方案名 touser=system
例:imp system/orcl@orcl file=d:/scott_emp_dept.demp tables=emp,dept fromuser=scott touser=system
註意:提示成功,但警告,表示此對象有scott導出,而不是當前用戶。
導入方案
導入自身方案
imp 用戶名/密碼@數據庫實例名 file=備份路徑
例:imp scott/tiger@orcl file=scott_owner.dmp
導入其它方案
需要有dba權限或者imp_full_database權限
imp 用戶名/密碼@數據庫實例名 file=備份路徑 fromuser=方案名 touser=system
例:imp system/orcl@orcl file=scott.dmp fromuser=scott touser=system
導入完整數據庫
需要有dba權限或者imp_full_database權限
imp 用戶名/密碼@數據庫實例名 file=備份路徑 full=y
例:imp system/orcl@orcl file=orcl_full.dmp full=y
導入表
imp system/oracle file=hr2.dmp tables=departments fromuser=hr touser=hr2
[oracle@oracle ~]$ imp system/oracle file=hr2.dmp tables=departments fromuser=hr touser=hr2;
Import: Release 11.2.0.4.0 - Production on Thu Jul 12 14:01:10 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export file created by EXPORT:V11.02.00 via conventional path
Warning: the objects were exported by HR, not by you
import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
. importing HR‘s objects into HR2
. . importing table "DEPARTMENTS" 27 rows imported
Import terminated successfully without warnings.
remap_schema當你從A用戶導出的數據,想要導入到B用戶中去,就使用這個:remap_schema=A:B
remap_tablespace 與上面類似,數據庫對象本來存在於tbs_a表空間,現在你不想放那兒了,想換到tbs_b,就用這個remap_tablespace=tbs_a:tbs_b 結果是所有tbs_a中的對象都會建在tbs_b表空間中。
導入與導出詳解