oracle expdp exclude 导出导入整个库

2025-05-17 15:21:07

oracle expdp exclude导入导出整个库 这里说“库”只是对开发人员将,绝大多数开发人员分不清什么是库,库说白了就是一樱厮吞簌些数据文件。开发人员说导入导出库,对DBA来讲其实是导入导出库中的数据。 废话短说,需求是这样滴:将某地的数据库数据拿来做开发测试库! 我只问了开发人员哪些表不要,哪些表要,要的话需要多少数据量,为什么这么说呢?(1)我的方案:(所有应用数据对象都在oracle一个用户sa上)导出数据方案1、先导出sa用户,但是导出的时候通过exclude 排除哪些不要的表和数据量大的表 (大于5G)2、对那些大表,一个一个导出,并且通过query控制每个大表导出的数据量导入方案:1、先导入用户sa的dump文件2、在一个个导入各个大表dump文件(2)方案实施步骤:导出方案实施:1、创建导出对象专用用户(用哪个用户来导出sa用户的数据)2、创建dump文件存放目录3、排除哪些大表不导,确定大表导出的数据量4、开始导出sa用户数据5、开始导出表之分区表6、开始导出表之非分区表导入方案实施:1、创建表空间2、创建导入对象专用用户(用哪个用户来导入sa用户的数据,与导出用户一致)3、创建dump文件存放目录4、创建profile文件5、开始导入用户sa的dump文件6、逐个导入各个大表的dump文件注意:用户模式导入,一定要确保和导出的一直性:1、用户什么用户来导出需要导出的对象,就要用什么用户来导入需要导入的对象2、前面两个用户的默认表空间、默认临时表空间、默认profile一定要一一对应,当然如果表空间不想重新创建的话需要使用:REMAP_TABLESPACE指定使用哪个表空间3、导入库不能有需要导入的对象。当然,如果有的话需要使用REMAP_SCHEMA来指定将导出用户的所有对象导入到另一个用户中!

导出方案实施:

1、创建导入导出对象专用用户(用哪个用户来导出导入sa用户的数据)create user zxx identified by zxx default tablespaceREMOTE320DB;grant connect,dba to zxx;创建用户zxx并对zxx用户赋予连接和dba权限。这样zxx用户就有权限导出sa用户数据了。注意:zxx用户使用的非表空间、默认临时表空间、默认profile文件,也就是说zxx用户的默认表空间为REMOTE320DB、默认临时表空间为TEMP、默认profile文件为DEFAULT。那么导入用户zxx也必须使用这样的配置。

2、创建dump文件存放目录SQL> create directory dump_dir as '/backup/zxx_dump';SQL> grant read,write on directory dump_dir to zxx;第一句是创建dump目录为虚拟dump_dir,这个目录其实指向/backup/zxx_dump路径第二句是赋予zxx用户对这个虚拟目录的读写权限

oracle expdp exclude 导出导入整个库

4、开始导出sa用户数据注意转义字符:expdp zxx/zxx DIRECTORY=dump_dir DUMPFILE=sa.dmp LOGFILE=sa.log SCHEMAS=sa EXCLUDE=TABLE:\"IN \(\'TPXZXX\',\'TXSBZT\',\'CLWFXX\',\'SPSBZT\', \'YJXX\',\'CLXSGJ\',\'GJXX\',\'T_CLXX\'\)\" ;exclude表示过滤哪些对象,TABLE:表示过滤哪些表

oracle expdp exclude 导出导入整个库

5、开始导出釉涑杵抑表之分区表需要导出至少一个月的,采用parfile方便[dbadmin@DB01 zxx_dump]$ cat exp_clxsgj.txt userid=sa/wiscomdirectory=dump_dirdumpfile=clxsgj.dmpLOGFILE=clxsgj.logTABLES=CLXSGJ:CLXSGJ20150401,CLXSGJ:CLXSGJ20150402,CLXSGJ:CLXSGJ20150403,CLXSGJ:CLXSGJ20150404,CLXSGJ:CLXSGJ20150405,CLXSGJ:CLXSGJ20150406,CLXSGJ:CLXSGJ20150407,CLXSGJ:CLXSGJ20150408,CLXSGJ:CLXSGJ20150409,CLXSGJ:CLXSGJ20150410,CLXSGJ:CLXSGJ20150411,CLXSGJ:CLXSGJ20150412,CLXSGJ:CLXSGJ20150413,CLXSGJ:CLXSGJ20150414,CLXSGJ:CLXSGJ20150415,CLXSGJ:CLXSGJ20150416,CLXSGJ:CLXSGJ20150417,CLXSGJ:CLXSGJ20150418,CLXSGJ:CLXSGJ20150419,CLXSGJ:CLXSGJ20150420,CLXSGJ:CLXSGJ20150421,CLXSGJ:CLXSGJ20150422,CLXSGJ:CLXSGJ20150423,CLXSGJ:CLXSGJ20150424,CLXSGJ:CLXSGJ20150425,CLXSGJ:CLXSGJ20150426,CLXSGJ:CLXSGJ20150427,CLXSGJ:CLXSGJ20150428,CLXSGJ:CLXSGJ20150429,CLXSGJ:CLXSGJ20150430,CLXSGJ:CLXSGJ20150501,CLXSGJ:CLXSGJ20150502,CLXSGJ:CLXSGJ20150503,CLXSGJ:CLXSGJ20150504,CLXSGJ:CLXSGJ20150505,CLXSGJ:CLXSGJ20150506[dbadmin@DB01 zxx_dump]$ expdp parfile=exp_clxsgj.txt注意:tables不能用括号括起来

oracle expdp exclude 导出导入整个库oracle expdp exclude 导出导入整个库oracle expdp exclude 导出导入整个库

5、开始导入用户sa的dump文件impdp zxx/zxx directory=dump_dir dumpfile=sa.dmp schemas=sa logfile=sa.log;导入的时候忽略 角色创建失败。因为角色创建失败对数据对象的导入没有影响!从下图中就可以看出!注意:用户模式导入,导入库一定不能存在sa用户

oracle expdp exclude 导出导入整个库oracle expdp exclude 导出导入整个库
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢