系統日誌及資料庫相關資訊收集
定期收集使用者和dblink資訊:
sqlplus / as sysdba @user_and_link_collect.sql
----------------------------------------------------------------------------
cat user_and_link_collect.sql
set pages 1000
column dat1 new_value dblink_collect;
select instance_name ||'_dblink_collect' as dat1 from v$instance;
set markup html on;
spool /tmp/&&dblink_collect..html
select * from dba_db_links order by owner,db_link,USERNAME;
spool off
set markup html off
set pages 1000
column dat2 new_value user_collect;
select instance_name ||'_user_collect' as dat2 from v$instance;
set markup html on;
spool /tmp/&&user_collect..html
select * from dba_users order by ACCOUNT_STATUS desc,PROFILE desc,username;
select * from dba_profiles order by PROFILE,RESOURCE_NAME;
spool off
set markup html off
eixt
----------------------------------------------------------------------------
sqlplus / as sysdba @user_and_link_collect.sql
----------------------------------------------------------------------------
cat bak_tns.sh
#!/bin/bash
cp $ORACLE_HOME/network/admin/tnsnames.ora /tmp/"$HOSTNAME"_tnsnames.ora
----------------------------------------------------------------------------
統一上傳到FTP:
#!/bin/bash
#定義引數
datetime=`date +%Y%m%d_%H%M%S_%N |cut -b1-8`
ftp_user=username #ftp使用者名稱
ftp_pass=P@ssw0rd #ftp密碼
ftp_ip=192.160.x.x #ftp地址
ftp_bak_dir="/" #ftp上存放備份的目錄,需要先建好,以計算機名區分
FTP_SID=$ORACLE_SID
FTP_HOSTNAME=$HOSTNAME
data_bak_dir="/tmp" #本地要備份的資料目錄
#上傳FTP
ftp -v -n $ftp_ip << END
user $ftp_user $ftp_pass
type binary
cd $ftp_bak_dir
lcd $data_bak_dir
prompt
mput "$FTP_SID"_dblink_collect.html
mput "$FTP_SID"_user_collect.html
mput "$FTP_HOSTNAME"_tnsnames.ora
bye
END
----------------------------------------------------------------------------
收集錯誤日誌資訊:
set pages 1000
column dat3 new_value alert_collect;
select instance_name ||'_alert_collect' as dat3 from v$instance;
set markup html on;
spool /tmp/&&alert_collect..html
WITH diag_alert_ext AS
(SELECT /*+ materialize */
originating_timestamp,
message_text
FROM v$diag_alert_ext
WHERE originating_timestamp > systimestamp - INTERVAL '1' DAY)
SELECT originating_timestamp,
message_text
FROM diag_alert_ext
WHERE message_text LIKE '%Error%'
OR message_text LIKE '%Fail%'
OR message_text LIKE '%WARNING%'
OR message_text LIKE '%Invalid%'
OR message_text LIKE '%ORA-%'
OR message_text LIKE '%Global Enqueue Services%'
OR message_text LIKE '%dead%'
OR message_text LIKE '%Starting ORACLE instance%'
ORDER BY originating_timestamp DESC;
spool off
set markup html off
----------------------------------------------------------------------------
#!/bin/bash
#定義引數
datetime=`date +%Y%m%d_%H%M%S_%N |cut -b1-8`
ftp_user=username #ftp使用者名稱
ftp_pass=P@ssw0rd #ftp密碼
ftp_ip=192.169.x.x #ftp地址
ftp_bak_dir="/" #ftp上存放備份的目錄,需要先建好,以計算機名區分
FTP_SID=$ORACLE_SID
FTP_HOSTNAME=$HOSTNAME
data_bak_dir="/tmp" #本地要備份的資料目錄
#上傳FTP
ftp -v -n $ftp_ip << END
user $ftp_user $ftp_pass
type binary
cd $ftp_bak_dir
lcd $data_bak_dir
prompt
mput "$FTP_SID"_alert_collect.html
mput "$FTP_HOSTNAME"_messages.log
bye
END
----------------------------------------------------------------------------
收集當前的系統日誌:
cat bak_message.sh
sh /home/oracle/scripts/bak_message.sh
#!/bin/bash
LANG=en_US.UTF-8
sed -n '/^'"`date +"%b %d" -d "-1 days"`"'/,/^'"`date +"%b %d" -d "+1 days"`"'/p' /var/log/messages > /tmp/"$HOSTNAME"_messages.log
put_user_and_link_collect.sh
user_and_link_collect.sql
bak_tns.sh
bak_message.sh
put_alter_message.sh
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70031606/viewspace-2984207/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 日誌系統相關
- 6 收集資料庫統計資訊資料庫
- 【SQL】Oracle資料庫資料量及效能資訊收集SQLOracle資料庫
- 如何開關資料庫告警日誌及修改日誌級別資料庫
- Docker應用容器日誌資訊收集Docker
- Centos系統關閉Mysql資料庫查詢操作日誌的方法CentOSMySql資料庫
- 大資料01-Flume 日誌收集大資料
- 收集全庫統計資訊
- 日誌資訊記錄表|全方位認識 mysql 系統庫MySql
- 【PG效能】Postgresql效能相關(作業系統及資料庫簡單說明)SQL作業系統資料庫
- 日誌收集系統PLG(Promtail+Loki+Grafana)介紹及部署AILokiGrafana
- 透過 Filebeat 收集 ubuntu 系統日誌Ubuntu
- MySQL資料庫部署及初始化相關MySql資料庫
- Linux作業系統相關資料Linux作業系統
- TFA-收集日誌及分析
- Oralce資料庫關閉歸檔日誌並且刪除歸檔日誌資料庫
- 大資料03-整合 Flume 和 Kafka 收集日誌大資料Kafka
- ELK日誌系統之使用Rsyslog快速方便的收集Nginx日誌Nginx
- 達夢資料庫[-718]收集到的歸檔日誌不連續資料庫
- oracle資料庫mmnl日誌很大Oracle資料庫
- HGDB怎麼獲取資料庫中關鍵系統資訊資料庫
- Sqlserver系統資料庫和使用者資料庫日誌檔案全部丟失的恢復SQLServer資料庫
- 【SCRIPT】Oracle資料庫基本資訊收集指令碼Oracle資料庫指令碼
- 資料庫 (相關練習)資料庫
- Springboot日誌相關Spring Boot
- Windows版PostgreSQL資料庫下載及安裝教程(關係型資料庫管理系統)WindowsSQL資料庫
- Windows系統搭建ELK日誌收集伺服器Windows伺服器
- openGauss資料庫日誌管理指導資料庫
- 瀚高資料庫日誌挖掘方法資料庫
- Linux 檔案系統與日誌分析的相關知識Linux
- 手動收集——收集統計資訊
- 資料庫事物相關問題資料庫
- 【VMware VCF】使用 SoS 實用程式檢查 VCF 環境的執行狀態以及收集相關元件的日誌資訊。元件
- 檢視mysql資料庫連線數、併發數相關資訊MySql資料庫
- 【VMware VCF】使用 SoS 實用程式檢查 VCF 環境的執行狀態以及收集相關元件的日誌資訊。Av元件
- Sql Server2014資料庫清理日誌SQLServer資料庫
- springboot+logback日誌非同步資料庫Spring Boot非同步資料庫
- SQLServer資料庫日誌太大處理方式SQLServer資料庫