共計 2053 個字符,預計需要花費 6 分鐘才能閱讀完成。
這期內容當中丸趣 TV 小編將會給大家帶來有關如何理解 ansible 自動化運維數據庫,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
通過 ansible 簡單對數據庫主機檢查和數據庫表空間的檢查,前提數據庫主機有統一的用戶名和密碼.
運維環境: rhel 7.2, ansible 1.9
數據庫環境:Oracle 11.2.0.4, Suse 11sp4, 統一用戶是 Oracle 和 usercs
ansible 配置文件 /etc/ansible/ansible.cfg, 否則在運行 ansible 時需要制定 host 位置
– 配置 host 組
[root@DBAMONITOR usercs]# more /ansible/hosts
[Suse]
192.168.15.21
192.168.15.22
192.168.15.46
192.168.15.47
– 簡單測試
[root@DBAMONITOR .ssh]# ansible Suse -m ping -u usercs -k
SSH password:
192.168.15.22 | success {
changed : false,
ping : pong
}
192.168.15.46 | success {
changed : false,
ping : pong
}
192.168.15.47 | success {
changed : false,
ping : pong
}
192.168.15.21 | success {
changed : false,
ping : pong
}
– 查看空間
[root@DBAMONITOR .ssh]# ansible Suse -m command -a df -hT -u usercs -k
password:
[root@DBAMONITOR .ssh]# ansible Suse -m command -a ls -l /tmp -u usercs -k
password:
– 復制文件:
[root@DBAMONITOR .ssh]# ansible Suse -m copy -a src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg -u usercs -k
password:
{src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=usercs group=usercs mode=0644}
– 遠程執行腳本
ansible Suse -m shell -a /tmp/rocketzhang_test.sh
password:
– 遠程創建目錄
ansible Suse -m command -a mkdir /home/oracle/scripts -u oracle -k
password:
– 配置腳本
source ~/.profile
sqlplus -S /as sysdba EOF
set lin 200 pages 100
select current_scn,protection_mode,database_role,force_logging,open_mode,switchover_status from gv\$database;
set pagesize 9999
set linesize 132
select
a.tablespace_name,
a.Total_mb,
f.Free_mb,
round(a.total_MB-f.free_mb,2) Used_mb,
round((f.free_MB/a.total_MB)*100) %_Free
from
(select tablespace_name, sum(bytes/(1024*1024)) total_MB from dba_data_files group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/(1024*1024))) free_MB from dba_free_space group by tablespace_name) f
WHERE a.tablespace_name = f.tablespace_name(+)
order by %_Free
/
exit
EOF
– 拷貝文件
ansible Suse -m copy -a src=/ansible/check_db.sh dest=/home/oracle/scripts -u oracle -k
password:
– 執行腳本
ansible Suse -m command -a chmod +x /home/oracle/scripts/check_db.sh -u oracle -k
password:
ansible Suse -m shell -a /home/oracle/scripts/check_db.sh -u oracle -k
password:
上述就是丸趣 TV 小編為大家分享的如何理解 ansible 自動化運維數據庫了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。