成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle 數據庫巡檢命令手冊

數據庫 Oracle
如果給你一個全新的Oracle單機數據庫環境,作為DBA,您需要關注哪些點?本文僅討論 Linux 主機,首先申明本文所述并非標準答案,只是個人的一些見解。

[[438985]]

 前言 

如果給你一個全新的Oracle單機數據庫環境,作為DBA,您需要關注哪些點?本文僅討論 Linux 主機~

 注意:首先申明本文所述并非標準答案,只是個人的一些見解,歡迎👏🏻大家補充完善~

一、 主機層面

1、 主機版本和Oracle版本

「主機版本:」

  1. cat /etc/system-release 
  2. cat /etc/redhat-release 

「Oracle版本和補丁版本:」

  1. sqlplus -version 
  2. opatch lspatches 

2、 主機硬件資源

包括CPU負載,物理內存和磁盤使用。

「CPU負載和內存:」

  1. top 
  2. free -m 

⚠️ 需要注意主機的CPU負載和物理內存使用是否異常,Swap是否被過多使用。

「磁盤使用情況:」

  1. lsblk 
  2. fdisk -l 
  3. df -Th 

⚠️ 顯而易見,需要關注磁盤使用情況,是否存在使用率過高。

3、 計劃任務 crontab

一般計劃任務會布置一些備份策略或者歸檔刪除的策略,我們可以通過crontab來查看:

  1. crontab -l 

4、 檢查 Hosts 文件和網絡配置

  1. cat /etc/hosts 
  2. ip addr 
  3. nmcli connection show 

5、 檢查系統參數文件

  1. cat /etc/sysctl.conf 

⚠️ 需注意是否有設置非常規參數。

6、 檢查 rc.local 文件

rc.local文件用于配置開機自啟動腳本,一般會設置關閉透明大頁或者Oracle數據庫開機自啟。

  1. cat /etc/rc.local 

7、環境變量配置

查看環境變量配置,進一步熟悉環境。

  1. cat ~/.bash_profile 
  2. cat /home/oracle/.bash_profile 

8、 檢查系統服務

  1. systemctl status firewalld.service 
  2. getenforce 
  3. cat /proc/cmdline 
  4. cat /etc/sysconfig/network 

二、數據庫層面

1、查看數據庫實例和監聽

  1. ps -ef|grep smon 
  2. su - oracle 
  3. lsnrctl status 

2、 數據庫表空間使用

  1. sqlplus / as sysdba 
  2. col TABLESPACE_NAME for a20 
  3. select tbs_used_info.tablespace_name, 
  4.        tbs_used_info.alloc_mb, 
  5.        tbs_used_info.used_mb, 
  6.        tbs_used_info.max_mb, 
  7.        tbs_used_info.free_of_max_mb, 
  8.        tbs_used_info.used_of_max || '%' used_of_max_pct 
  9.   from (select a.tablespace_name, 
  10.                round(a.bytes_alloc / 1024 / 1024) alloc_mb, 
  11.                round((a.bytes_alloc - nvl(b.bytes_free, 
  12.                                           0)) / 1024 / 1024) used_mb, 
  13.                round((a.bytes_alloc - nvl(b.bytes_free, 
  14.                                           0)) * 100 / a.maxbytes) used_of_max, 
  15.                round((a.maxbytes - a.bytes_alloc + nvl(b.bytes_free, 
  16.                                                        0)) / 1048576) free_of_max_mb, 
  17.                round(a.maxbytes / 1048576) max_mb 
  18.           from (select f.tablespace_name, 
  19.                        sum(f.bytes) bytes_alloc, 
  20.                        sum(decode(f.autoextensible, 
  21.                                   'YES'
  22.                                   f.maxbytes, 
  23.                                   'NO'
  24.                                   f.bytes)) maxbytes 
  25.                   from dba_data_files f 
  26.                  group by tablespace_name) a, 
  27.                (select f.tablespace_name, 
  28.                        sum(f.bytes) bytes_free 
  29.                   from dba_free_space f 
  30.                  group by tablespace_name) b 
  31.          where a.tablespace_name = b.tablespace_name(+)) tbs_used_info 
  32.  order by tbs_used_info.used_of_max desc

3、檢查RMAN備份情況

  1. rman target / 
  2. list backup; 
  3.  
  4. sqlplus / as sysdba 
  5. col status for a10 
  6. col input_type for a20 
  7. col INPUT_BYTES_DISPLAY for a10 
  8. col OUTPUT_BYTES_DISPLAY for a10 
  9. col TIME_TAKEN_DISPLAY for a10 
  10.  
  11. select input_type, 
  12.        status, 
  13.        to_char(start_time, 
  14.                'yyyy-mm-dd hh24:mi:ss'), 
  15.        to_char(end_time, 
  16.                'yyyy-mm-dd hh24:mi:ss'), 
  17.        input_bytes_display, 
  18.        output_bytes_display, 
  19.        time_taken_display, 
  20.        COMPRESSION_RATIO 
  21.   from v$rman_backup_job_details 
  22.  where start_time > date '2021-07-01' 
  23.  order by 3 desc

4、 檢查控制文件冗余

查看控制文件數量和位置,是否處于多份冗余狀態。

  1. sqlplus / as sysdba 
  2. show parameter control_files 
  3. select name from v$controlfile; 

5、 檢查參數文件

查看數據庫參數文件,檢查參數使用是否正常。

  1. sqlplus / as sysdba 
  2. show parameter spfile 
  3. create pfile='/home/oracle/pfile.ora' from spfile; 
  4.  
  5. strings /home/oracle/pfile.ora 

6、 歸檔和閃回是否開啟

  1. sqlplus / as sysdba 
  2. archive log list 
  3. select open_mode,log_mode,flashback_on,force_logging from v$database

7、 檢查在線日志和切換頻率

「查看在線日志大小:」

  1. set line222 
  2. col member for a100 
  3. select f.group#,f.member,l.sequence#,l.bytes/1024/1024,l.archived,l.status,l.first_time  
  4. from v$logfile f,v$log l  
  5. where f.group# = l.group#  
  6. order by f.group#,f.member; 

「查看在線日志切換頻率:」

  1. col day for a30 
  2. SELECT 
  3.   SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5)  DAY
  4.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'00',1,0)) H00, 
  5.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'01',1,0)) H01, 
  6.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'02',1,0)) H02, 
  7.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'03',1,0)) H03, 
  8.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'04',1,0)) H04, 
  9.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'05',1,0)) H05, 
  10.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'06',1,0)) H06, 
  11.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'07',1,0)) H07, 
  12.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'08',1,0)) H08, 
  13.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'09',1,0)) H09, 
  14.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'10',1,0)) H10, 
  15.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'11',1,0)) H11, 
  16.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'12',1,0)) H12, 
  17.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'13',1,0)) H13, 
  18.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'14',1,0)) H14, 
  19.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'15',1,0)) H15, 
  20.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'16',1,0)) H16, 
  21.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'17',1,0)) H17, 
  22.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'18',1,0)) H18, 
  23.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'19',1,0)) H19, 
  24.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'20',1,0)) H20, 
  25.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'21',1,0)) H21, 
  26.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'22',1,0)) H22, 
  27.   SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'23',1,0)) H23, 
  28.   COUNT(*)                                                                      TOTAL 
  29. FROM 
  30.   v$log_history  a where SYSDATE - first_time < 35 
  31. GROUP BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5) order by 1; 

8、 查看數據庫字符集

  1. select * from nls_database_parameters; 

9、 檢查無效對象

  1. SELECT owner,object_name,object_type,status 
  2. FROM dba_objects 
  3. WHERE status <> 'VALID' 
  4. ORDER BY owner,object_name; 

10、 檢查分區表對象

  1. set line222 
  2. col high_value for a100 
  3. select t2.TABLE_OWNER,t1.table_name, t1.max_partition_name, t2.high_value 
  4.   from (select table_name, max(partition_name) as max_partition_name 
  5.           from dba_tab_partitions 
  6.          group by table_name) t1, 
  7.        (select TABLE_OWNER,table_name, partition_name, high_value 
  8.           from dba_tab_partitions 
  9.          where tablespace_name not in ('SYSAUX''SYSTEM')) t2 
  10.  where t1.table_name = t2.table_name 
  11.    and t1.max_partition_name = t2.partition_name 
  12.    order by 1,2; 

需要注意分區的最大擴展分區,是否需要擴展,建議提前進行擴展,避免拆分。

三、報告層面

通過 Oracle 自帶的 awr、ash、awrsqrpt等等報告可以清晰了解當前數據庫的情況。

1、awr 報告

AWR 包含了數據庫運行情況的詳細信息收集,常用于分析收集性能問題。

  1. sqlplus / as sysdba @?/rdbms/admin/awrrpt.sql 

通過以上命令可以生成 AWR 報告,過程中需要填寫 生成報告類型,抓取時間段!

2.ash 報告

ash 能抓取到比 AWR 報告更細節的信息,可以精確到分鐘,也較為常用。

  1. sqlplus / as sysdba @?/rdbms/admin/ashrpt.sql 

如上為生成方式,可選時間段,默認為獲取當前時間到15分鐘前的報告。

3、 awrsqrpt 報告

用于分析單條 SQL 出現性能問題時的報告,需要知道 SQL_ID。

  1. sqlplus / as sysdba @?/rdbms/admin/awrsqrpt.sql 

需要填寫時間段和sql_id來獲取相關sql的報告。

4、 sqltrpt 報告

通常與 awrsqrpt 報告一起使用,可獲取 Oracle 提供的關于 SQL 的優化建議,一般來說推薦創建索引和profile較多,適合新手來優化sql使用。

  1. sqlplus / as sysdba @?/rdbms/admin/sqltrpt.sql 

只需要 SQL_ID 即可。

5、 addmrpt 報告

addmrpt 是 oracle 通過對 awr 報告進行自動診斷生成的報告。

  1. sqlplus / as sysdba @?/rdbms/admin/addmrpt.sql 

僅作參考作用,真實幫助的意義并不大。過程需要輸入時間段。

6、健康檢查報告

此類健康檢查報告,一般為個人編寫腳本執行產生的報告,檢查結果根據個人自行定義,通常會包含以上所需信息。當然 Oracle 官方也提供了完整數據庫的報告生成方式,這里不做過多介紹,需要的朋友可以聯系我獲取。

 寫在最后

通過以上這些檢查,相信對你新接觸的這個數據庫系統已經有了一個大概的了解,接來下,只需要再慢慢的深入分析,然后制訂出一套符合實際情況的運維規范來。

 

責任編輯:姜華 來源: Lucifer三思而后行
相關推薦

2011-05-25 09:20:24

Oracle數據庫

2019-07-03 09:35:20

Oracle數據庫監聽

2024-04-03 09:25:53

數據庫OraclePostgreSQL

2019-06-27 08:03:34

Oracle數據庫監聽

2019-07-31 08:03:45

Oracle數據庫巡檢腳本

2011-08-16 13:17:29

2009-10-26 17:29:21

Oracle管理員數據庫管理

2011-03-16 08:54:45

Oracle數據庫索引

2011-05-19 13:25:14

Oracle數據庫

2010-04-23 09:23:44

Oracle 數據庫

2011-05-26 10:30:12

Oracle數據庫約束

2011-03-10 13:24:26

2015-08-21 12:59:38

Oracle數據庫

2011-03-29 10:47:49

ORACLE數據庫

2010-03-30 10:05:02

Oracle數據庫

2010-10-28 15:56:21

ORACLE數據庫設置

2011-10-09 09:38:03

OracleNoSQL

2010-08-10 15:02:18

Oracle認證數據庫

2010-04-02 13:59:08

Oracle數據庫

2010-04-19 16:01:54

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看中文视频 | 人人草天天草 | 欧美区在线观看 | 国产精品成人免费 | 久久99这里只有精品 | 日韩二区| 国产99久久久国产精品下药 | 老司机午夜性大片 | 欧美片网站免费 | 操操操av | 国产福利在线看 | 日韩精品视频在线 | 国产在线视频99 | 免费看a| 精品国产乱码久久久久久牛牛 | 韩国欧洲一级毛片 | 羞羞视频一区二区 | 欧美不卡一区二区三区 | 伦理二区| 久久88 | 欧美激情综合五月色丁香小说 | 天天成人综合网 | 欧美精品第一页 | 午夜免费 | 亚洲一二三区在线观看 | 国产福利在线 | 免费视频一区二区 | 四虎影| 亚洲一区中文 | 亚洲精品久久久久久一区二区 | 久久国产视频一区 | 午夜精品一区二区三区免费视频 | 亚洲高清在线观看 | 日本不卡一区 | 国外成人在线视频网站 | 精品网站999www | 精品一区二区三区入口 | 国产日韩欧美一区二区 | 欧美日韩免费视频 | 国产精品不卡视频 | jizz亚洲人 |