当前位置: > 数据库 > Oracle >

虚拟仿真环境搭建

时间:2016-12-09 20:11来源:linux.it.net.cn 作者:IT

此步骤自动从生产服务器备份数据,传输到开发机器,并恢复数据库。

从192.168.200.156备份数据传输到192.168.201.11并自动恢复数据

1.准备ssh无密码传输

(1)在200.156上操作
[root@rh ~]ssh-keygen -t rsa 
一直回车下去,其中公共密钥保存在 ~/.ssh/id_rsa.pub 私有密钥保存在 ~/.ssh/id_rsa
chmod 755 ~/.ssh


(2)scp ~/.ssh/id_rsa.pub root@192.168.201.11:/root/.ssh/authorized_keys
输入201.11密码

2.200.156的备份传输脚本

用expdp impdp前提建好目录,156目录是DUMP在/opt 11目录是dump_dir在/home/impscript/

1
2
3
select * from dba_directories
CREATE DIRECTORY dump_dir AS '/home/impscript/'
grant read,write on directory dump_dir to SNKIMP;

 

vi /home/snkback.sh

1
2
3
4
#!/bin/bash
rm -f /opt/snk.dmp
su - oracle -c "/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/expdp snkData/snk_bfc_Pro DIRECTORY=DUMP DUMPFILE=snk.dmp SCHEMAS=SNKDATA PARALLEL=4"
scp /opt/snk.dmp root@192.168.201.11:/home/impscript/

  

然后chmod -r 777 /home/snkback.sh

3.加入计划,每天1点执行

crontab -e
增加0 1 * * * /home/snkback.sh

3.201.11操作
(1)预先建立好DIRECTORY和用户SNKIMP并授权使用
dump_dir在/tmp下,授权目录oracle可使用
chmod -R 777 /home/impscript/*


(2)vi /home/impscript/imp.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
rm -f /home/impscript/snk.log
chmod -R 777 /home/impscript/snk.dmp
 
su - oracle -c "/u01/app/product/11.2/bin/sqlplus /nolog" <<EOF
connect / as sysdba
drop user SNKIMP cascade;
drop tablespace SNKIMP including contents and datafiles;
create tablespace SNKIMP logging datafile '/extdisk/orclextdata/snkimp01.dbf' size 200m autoextend on next 50m maxsize 20480m extent management local;
create user SNKIMP identified by SNKIMP default tablespace SNKIMP;
grant connect,resource,dba to SNKIMP;
grant read,write on directory dump_dir to SNKIMP;
exit
EOF
su - oracle -c "impdp SNKIMP/SNKIMP@orcl DIRECTORY=dump_dir DUMPFILE=snk.dmp REMAP_SCHEMA=SNKDATA:SNKIMP logfile=snk.log PARALLEL=4"
rm -f /home/impscript/snk.dmp

  

(3)crontab -e
0 2 * * * /home/impscript/imp.sh

 



(责任编辑:IT)
------分隔线----------------------------