Oracle备份数据库

a:连接数据库对应的环境

b:键入命令行:su - oracle

c:进入数据库备份路径,比如38数据库的备份路径为:/oracle/datebase/backup

d:执行文件:expdp.sh,便可产生备份文件,具体内容如下:

 

#!/bin/bash

echo "******     导出数据库         ******"

expdp fanfan/fanfan123456 directory=DIR_ZY_DP dumpfile=fanfan.dmp schemas=fanfan  logfile=fanfan.log;

echo "******     导出数据库successfull        ******"

 

解释directory:

指定转储文件和日志文件所在的目录
DIRECTORY=directory_object
Directory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS目录
Expdp scott/tiger DIRECTORY= DMP  DUMPFILE=a.dump

 

 

1、创建数据导出目录expnc_dir为目录名,'E:\ncdatabak'为数据库实际目录,命令如下:
create directory expnc_dir as 'E:\ncdatabak';
2、为oracle用户授予访问数据目录的权限,命令如下:
Grant read,write on directory expnc_dir to dxzyjt;
3、查询数据泵路径
 select * from dba_directories;  

 --(如有默认的,则不需要设置direction字段)

 

可能遇到的问题:

1Permission denied

需要给该文件赋权:chmod 777 expdp.sh

如果这时又报错:Operation not permitted

可切换到root用户下,进行赋权

 

 

 

1、创建逻辑目录
create or replace directory EXP_DIR as '/home/oracle/dumpdir';

 

2、创建本地目录
mkdir /home/oracle/dumpdir

 

3、给目录读写权限
GRANT READ,WRITE ON DIRECTORY EXP_DIR TO ops;

 

4、备份脚本
expdp cbmain /cbmain DIRECTORY=EXP_DIR DUMPFILE=20180814cbmain.dmp SCHEMAS=cbmain logfile=20180814cbmain_expdp.log

 

expdp ops/ops DIRECTORY=EXP_DIR DUMPFILE=20180814ops.dmp SCHEMAS=ops logfile=20180814ops_expdp.log

 

5、还原脚本
impdp cbmain /cbmain DIRECTORY=EXP_DIR DUMPFILE=20180814cbmain.dmp logfile=20180814cbmain_impdp.log

 

6、还原到另一个用户
impdp expuser/expuser directory=EXP_DIR dumpfile=20160424cbmain.dmp logfile=20160424cbmain_impdp.log remap_schema=cbmain:kcbtest

 

posted @ 2018-04-04 10:08  pretend_smile  阅读(280)  评论(0)    收藏  举报