sync data from db1 to db2
use exp\scp\imp
#(1) exp.sh ,this is the exp script
#!/bin/bash
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
DUMPFILE=/export/ORCL_`date +%Y-%m-%d`.dmp
DUMPLOG=/export/ORCL_`date +%Y-%m-%d`.log
exp term/term file=$DUMPFILE log=$DUMPLOG owner=term COMPRESS=y
bzip2 $DUMPFILE
/usr/bin/expect /export/scp.sh ${DUMPFILE}.bz2
#(2) scp.sh ,this is the scp script
#!/usr/bin/expect
set DUMPFILE [lindex $argv 0]
spawn /usr/bin/scp $DUMPFILE oracle@10.120.249.169:/home/oracle/dump
set timeout 5
expect {
"yes/no" {send "yes\r";exp_continue}
}
expect "*password:"
send "oracle\r"
expect "eof"
#(3) crontab on db1
[oracle@localhost export]$ crontab -l
51 15 * * * sh /export/export.sh >/dev/null 2>&1
#(5) imp.sh ,this is the imp script on db2
#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=ocmdb
export PATH=${PATH}:$ORACLE_HOME/bin
export NLS_LANG='AMERICAN_AMERICA.UTF8'
DUMPFILE=ORCL_`date +%Y-%m-%d`.dmp
DUMPLOG=ORCL_`date +%Y-%m-%d`.log
BZFILE=ORCL_`date +%Y-%m-%d`.dmp.bz2
FILEPATH=/home/oracle/dump
if [ -f "$FILEPATH/$BZFILE" ]; then
echo $BZFILE is ok >> /home/oracle/dump/scp.log
sqlplus -s "/as sysdba" < drop user term cascade;
create user term identified by term default tablespace users;
grant resource,connect,create view to term;
quit;
EOF
cd $FILEPATH
bunzip2 $BZFILE
imp term/term file=$DUMPFILE log=$DUMPLOG fromuser=term touser=term;
bzip2 $DUMPFILE
else
echo $BZFILE is false >> /home/oracle/dump/scp.log
fi
use exp\scp\imp
#(1) exp.sh ,this is the exp script
#!/bin/bash
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0.1/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
DUMPFILE=/export/ORCL_`date +%Y-%m-%d`.dmp
DUMPLOG=/export/ORCL_`date +%Y-%m-%d`.log
exp term/term file=$DUMPFILE log=$DUMPLOG owner=term COMPRESS=y
bzip2 $DUMPFILE
/usr/bin/expect /export/scp.sh ${DUMPFILE}.bz2
#(2) scp.sh ,this is the scp script
#!/usr/bin/expect
set DUMPFILE [lindex $argv 0]
spawn /usr/bin/scp $DUMPFILE oracle@10.120.249.169:/home/oracle/dump
set timeout 5
expect {
"yes/no" {send "yes\r";exp_continue}
}
expect "*password:"
send "oracle\r"
expect "eof"
#(3) crontab on db1
[oracle@localhost export]$ crontab -l
51 15 * * * sh /export/export.sh >/dev/null 2>&1
#(5) imp.sh ,this is the imp script on db2
#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=ocmdb
export PATH=${PATH}:$ORACLE_HOME/bin
export NLS_LANG='AMERICAN_AMERICA.UTF8'
DUMPFILE=ORCL_`date +%Y-%m-%d`.dmp
DUMPLOG=ORCL_`date +%Y-%m-%d`.log
BZFILE=ORCL_`date +%Y-%m-%d`.dmp.bz2
FILEPATH=/home/oracle/dump
if [ -f "$FILEPATH/$BZFILE" ]; then
echo $BZFILE is ok >> /home/oracle/dump/scp.log
sqlplus -s "/as sysdba" < drop user term cascade;
create user term identified by term default tablespace users;
grant resource,connect,create view to term;
quit;
EOF
cd $FILEPATH
bunzip2 $BZFILE
imp term/term file=$DUMPFILE log=$DUMPLOG fromuser=term touser=term;
bzip2 $DUMPFILE
else
echo $BZFILE is false >> /home/oracle/dump/scp.log
fi
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22193071/viewspace-1247364/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22193071/viewspace-1247364/