赞
踩
#查询某个用户下所有的表 select * from all_tables a where a.OWNER = 'META_DM_D'; #创建逻辑目录Oracle_expdp,存放数据物理目录为/orabakdir create or replace directory Oracle_expdp as '/orabakdir'; #查询逻辑目录是否成功 select * from dba_directories #赋权,如果用A用户导出B用户的数据,需要将这个权限同时给予A用户和B用户 Grant read,write on directory Oracle_expdp to user; #数据泵导出 expdp 'user/passwd@lndss' directory=Oracle_expdp DUMPFILE=$user.dump LOGFILE=$user.log schemas=$user #参考内容 #删除逻辑目录 drop directory Oracle_expdp; #expdp导出数据 userid=test/test --导出的用户,本地用户!! directory=dmpfile --导出的逻辑目录,一定要在oracle中创建完成的,并且给用户授权读写权限 dumpfile=xx.dmp --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp logfile=xx.log --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到 schemas=userxx --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别 network_link=db_local --这个参数是使用的dblink来远程导出,需要指定dblink的名称 EXCLUDE=TABLE:"IN('T1','T2','T3')" --exclude 可以指定不导出的东西,table,index等,后面加上不想导出的表名 CONTENT={ALL | DATA_ONLY | METADATA_ONLY} --当设置CONTENT为ALL 时,将导出对象定义及其所有数据.;为DATA_ONLY时,只导出对象数据;为METADATA_ONLY时,只导出对象定义 #脚本1,用于存放需要备份的用户名 vi oracle_users META_DM_D META_DM_D_2 META_DM_D_3 #脚本2,用于循环执行oracle用户备份 vi oracle_exp.sh #!/bin/sh export PATH unset USERNAME export ORACLE_BASE=/ora18c/oracle/ export ORACLE_HOME=/ora18c/oracle/db_1 export ORACLE_SID=lndss1 export PATH=$ORACLE_HOME/bin:$PATH cd /orabakdir for user in `cat oracle_users` do echo $user expdp 'user/passwd@lndss' directory=Oracle_expdp DUMPFILE=$user.dump LOGFILE=$user.log schemas=$user done;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。