主備切換的準備工作(二) (r7筆記第85天)
相關文章:主備切換的準備工作(r7筆記第83天)
之前也強調過元資料的重要性,而且強調過備庫需要考慮的很多方面,如果考慮不周到,其實我們的備庫還沒有做好切換的準備,而且最近也連連處理了多起問題, 發現災備中還是有很多的思考的東西,所謂實踐出真知,這些地方不注意,只能保證資料不丟失,對於業務連線,應用響應和影響範圍來說都是不可估量的。
很多次的災備切換中,如果在同機房的情況下,在failover的場景中,為了儘可能減少應用的影響範圍,一般都是直接修改備庫的IP為原來主庫的IP, 那麼防火牆的配置就尤為重要,防火牆是一個方面,應用連線的埠是否主備統一,可能對於不同的應用指定了不同的訪問埠,哪些主機配置了更多的信任關係, 可以走域名解析,所以這些看起來很細小的問題,如果在大半夜問題發生的時候再去處理,還是讓人有些上火,尤其在這個時候就特別希望能有個簡單的備份改多 好。
有兩篇文章可以參考,以前寫的一些思路。現在都在實踐這些,具體技術的各個擊破還是好做,能把它做成體系和標準真心不易。
/home/oracle/.bash_profile: line 25: /root/.bidbprofile: No such file or directory
/home/oracle/.bash_profile: line 13: /root/.testprofile: No such file or directory
##get primary db list
for ip in `sh /home/yangjr/new.lst|grep -i PRIMARY|grep -v AIX|grep -v nopingdb |awk '{print $1}'|sort|uniq` ;
#for ip in `cat a.sh|grep -i PRIMARY|grep -v Solaris|grep -v nopingdb |awk '{print $1}'|sort|uniq` ;
do
#echo $ip;cat a.sh|grep -w $ip ;done > server_sum.txt
#ssh $ip "cat /home/oracle/.bash_profile|grep -w ORACLE_HOME=|awk -F= '{print $2}'"
mkdir -p /home/conf/$ip;
ORACLE_HOME=`ssh $ip "cat /etc/oratab | tail -1 | awk -F: '{print \$2}'" 2>&1 `
echo $ip" "$ORACLE_HOME
if [ -n "$ORACLE_HOME" ]; then
ssh $ip "cat $ORACLE_HOME/network/admin/tnsnames.ora 2>&1" > /home/conf/$ip/tnsnames.ora
ssh $ip "cat $ORACLE_HOME/network/admin/listener.ora 2>&1" > /home/conf/$ip/listener.ora
ssh $ip "cat $ORACLE_HOME/network/admin/sqlnet.ora 2>&1" > /home/conf/$ip/sqlnet.ora
scp $ip:$ORACLE_HOME/dbs/init*.ora /home/conf/$ip 2>&1
scp $ip:$ORACLE_HOME/dbs/spfile*.ora /home/conf/$ip 2>&1
fi
ssh $ip "cat /etc/hosts" > /home/conf/$ip/hosts
ssh $ip "cat /etc/sysconfig/iptables" > /home/conf/$ip/iptables
ssh $ip "cat /etc/sysconfig/network" > /home/conf/$ip/network
#validate if tnsnames.ora,listener.ora is empty or not
if [ ! -s /home/conf/$ip/sqlnet ];then
rm -f /home/conf/$ip/sqlnet.ora
fi
if [ ! -s /home/conf/$ip/listener.ora ] ||[ ! -s /home/conf/$ip/tnsnames.ora ];then
echo 'WARNING: there is empty files, tnsnames.ora,listener.ora, please check again.'
fi
done