
现在需要通过expdp 导出 数据库dmp文件, 按照 用户导出。
*** 作步骤: 在客户机上导出一直报 协议适配器错误的, 最后网上说必须在 数据库服务器上导出才行,在数据库服务器上, 按照如下步骤 *** 作,最后还是报错
mkdir exp_db
2. 执行以下语句,为“exp_db”文件夹赋予读、写和执行权限。
chmod 777 exp_db
3. 执行以下语句,以sysdba用户登录oracle数据库服务器。
sqlplus sys/system@orcl as sysdba
4. 执行以下语句,将“exp_db”指定为“/oracle/app/exp_db”。
create or replace directory exp_db as '/oracle/app/exp_db'
commit
5. 执行以下语句,将“exp_db”的读、写和执行权限赋给xx(数据用户名)用户。
grant all on directory exp_db to xir_app
6. 执行以下语句,退出oracle数据库服务器。
quit
7.执行以下语句,将xir_app用户的数据全部备份“exp_db”目录下。
下面两条语句都有报错
expdp xir_app/xpar%123@orcldb schemas=xir_app directory=EXP_DB dumpfile=xirapp.dmp logfile=xirapp.log
expdp system/system @orcldb schemas=xir_app directory=EXP_DB dumpfile=xirapp.dmp logfile=xirapp.log
由于图片发不了, 我手工输入下 错误提示吧, 希望大家给予帮助啊
第一条语句的错误是 ora-39002: invalid operation
ora-39070: unable to open the log file
ora-29283: invalid file operation
ora-06512: at ''sys.utl_file'',line 536
第二条语句的错误提示是 UDE-00014: invalid value for parameter, 'attach'
可以的。 exp支持条件导出QUERY 属性可以支持你的想法。 exp system/manager@TestDB file=E:/sampleDB.dmp tables=(tableA) query=' where creatime1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh
expdp_db_bak.sh内容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile oracle@172.16.1.5:/data1/backup/db_bak
exit 0
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U'
全备份,默认Format
backup incremental level 0 database
增量备份
backup incremental level 1 database
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' oracle@172.16.1.1:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)