oracle有条件导出导入,含参数文件导入导出

0. 准备:

sys/passwd: system/oracle123

schema/passwd: cloud/cloud123

1. 创建导出导入目录directory(使用)

create or replace directory dpump_dir as 'd:\dpump_dir';

grant read, write on directory dpump_dir to cloud;

2. 导出模式

    full 全库导入导出,使用system用户或具有dba权限的用户进行导出命令

    schema 按用户导出导入

    table 按表导出导入

    tablespace 按表空间导出导入

    注:在导出或导入时,四种模式只能选择其一,任何两者或者两者以上不可同时使用

3. 导出语法

expdp system/oracle123 directory=dpump_dir dumpfile=expdp.dmp logfile=expdp.log

| full=y 全库导出

| schema=cloud 导出用户cloud

| tables=table_name1,table_name2,...,tables_namen 导出表1,表2,...,表n

| tablespace=cloud,user 导出表空间cloud,user

| exclude=table,view,function,procedure,queue,sequence,materialized views,trigger

| include=table,view,function,procedure,queue,sequence,materialized views,trigger

| content=all | data_only | metadata_only

| filesize= integer B | KB | MB | GB | TB

| flashback_scn=scn_value

| include=TABLE:"IN ('EMPLOYEES', 'DEPARTMENTS')"

| include=INDEX:"LIKE 'EMP%'"

| query=(cloud.user:"WHERE last_name IN(SELECT last_name FROM cloud.user@dblink1)")

注:除了四种导出导出模式不能两者或两者以上组合使用外,其他方式可以根据需求自由组合使用

4. 使用参数文件

由于业务需求参数可能过去冗长(如根据需要导出cloud用户下查出的几十个表),因此使用参数文件可以更好的编辑导入导出命令

命令:expdp cloud/cloud123 parfile=cloud.par

参数文件cloud.par:

directory=dpump_dir

dumpfile=cloud.dmp

logfile=cloud.log

tables=table_name1,table_name2,...,tables_namen

注:参数文件其实就是将除了导出导入expdp|impdp和导出导入用户密码(即:expdp|impdp username/passwd)之外的命令放到参数文件中

5. 导出示例

(1)全库导出:

expdp system/oracle123 directory=dpump_dir dumpfile=full.dmp logfile=full.log full=y full默认为y

    (2)导出cloud用户:

​expdp system/oracle123 directory=dpump_dir dumpfile=cloud.dmp logfile=cloud.log schema=cloud

   (3)仅导出cloud用户下的指定表

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_specify_table.dmp logfile=cloud_specify_table.log tables=table_name1,table_name2,...,tables_namen

(4)仅导出cloud用户下的所有表(以及视图,存储过程)

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_table.dmp logfile=cloud_table.log include=table(,view,procedure)

     (5)导出cloud用户下除了表之外的所有对象

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_except_table.dmp logfile=cloud_except_table.log exclude=table

     (6)导出cloud用户指定表以及其他说对象内容

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_specify_table.dmp logfile=cloud_specify_table.log include=table:"in ('table_name1', 'table_name2')"

     (7)导出cloud用户下的所有对象,但不导出数据

expdp cloud/cloud directory=dpump_dir dumpfile=cloud_except_data.dmp logfile=cloud_except_data.log content=metadata_only

6. 导入示例

导出和导入是对应的,只需将expdp换成impdp即可

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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