-- 1.创建目录dump
create or replace directory dump as '/home/oracle/dump';
-- 2.授权:
Grant read,write on directory dump to dissuser;
-- 3.导出
expdp userid=hbyz/hbyz_20161212 schemas=hbyz directory=dump dumpfile=HB135_RT.dmp logfile=hbyz135_RT.log parfile='/home/oracle/dump/pra.txt' cluster=N;
注:
-- cluster=N; RAC多节点时使用;并且有时候需要去掉 @oracle_sid
-- compression=ALL
-- dumpfile=HBYZ135_FULL_%U.dmp logfile=HBYZ135_FULL_%U.dmp parallel=8;
-- parfile='/home/oracle/dump/pra.txt' : --pra文件:
include=table:"in(select table_name from tabs where
table_name in(
'VE_VEHICLE','SYS_ORGANIZE'
))"
-- 4.导入
impdp userid=tmisuser/tmispass@tmis remap_schema=hbyz:tmisuser directory=dump dumpfile=HB135_RT.dmp table_exists_action=replace logfile=impdp_RT.log;
注:
--table_exists_action选项:
{skip 是如果已存在表,则跳过并处理下一个对象;
append是为表增加数据;
truncate是截断表,然后为其增加新数据;
replace是删除已存在表,重新建表并追加数据}
-- TRANSFORM=DISABLE_ARCHIVE_LOGGING:Y
减少impdp导入时 TABLE/INDEX产生的redo,注意这仅仅是减少不是禁绝。
不管是非归档还是归档情况下使用DISABLE_ARCHIVE_LOGGING都会减小导入时间,减少归档量,
但是需要注意如果数据库是force logging情况下,DISABLE_ARCHIVE_LOGGING参数会无效。
--添加自动备份
[root@gnss-3 gnss]# chown oracle:dba -R /backup/ [oracle@gnss-3 gnss]$ sqlplus / as sysdba SQL> alter session set container=gnss; SQL> create or replace directory dumpback_gnss as '/backup/gnss/'; SQL> Grant read,write on directory dumpback_gnss to gnssuser; [oracle@gnss-3 gnss]$ vim backupexpdp_gnss.sh #!/bin/bash echo "*****setting the env*****" export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export ORACLE_OWNER=orclcdb export ORACLE_SID=gnss export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1 echo "*****start deleting data *****" find /backup/gnss/ -mtime +5 -type f | xargs rm -rf for username in gnssuser do export DATE=`date +%Y%m%d%H%M` echo "*****start exporting ${username}'s object*****" /home/oracle/app/product/12.2.0/db_1/bin/expdp gnssuser/gnsspass@gnss directory=dumpback_gnss dumpfile=gnss\_$DATE.dmp SCHEMAS=${username} logfile=expdp_gnss_$DATE.log compression=all #echo "*****start compressing ${username}'s object*****" #gzip /backup/gnss/gnss_$DATE_*.dmp done --添加执行权限 [oracle@gnss-3 gnss]$ chmod u+x backupexpdp_gnss.sh --添加定时任务,每天8点执行: [oracle@gnss-3 gnss]$ crontab -e [oracle@gnss-3 gnss]$ crontab -l 0 8 * * * /backup/gnss/backupexpdp_gnss.sh