Oracle 起步日記(11)——文件檢測

 

Oracle數據庫中的文件有很多,如參數文件、數據文件、控制文件、在線重做日誌文件、歸檔日誌文件、密碼文件、警告日誌文件、跟蹤文件等

 

1) 監測控制文件

 

控制文件非常重要,一般需要進行備份。連接數據庫時,當完成裝載之後,需要讀取控制文件中記錄的數據文件、日誌文件的位置等信息,只有控制文件完好無損,纔可以打開數據庫。

 

SELECT VALUE FROM V$PARAMETER WHERE NAME = ‘control_files’

 

在這個語句中control_files是控制文件的意思

在Oracle數據庫中我一直糾結的一個問題是大小寫的問題,有時候Oracle無論大小寫結果是一致的,有時候一定要求大寫,在這條語句中control_files一定是要小寫的,不然會提示未選定行

tupian1

 

 

在我的數據庫系統中,有兩個控制文件,它們是完全相同的,可以互相替代。

在數據庫啓動時,只要能找到一個可用的控制文件,就能成功地打開數據庫

 

2) 監測數據文件

 

數據文件用以存放用戶的數據

 

監測數據文件的代碼真的是打到想死的,如下

SELECT b.file_name 物理文件名,

b.tablespace_name 表空間,

b.bytes/1024/1024 大小M,

(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,

substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利用率

from dba_free_space a,dba_data_files b

WHERE a.file_id = b.file_id

GROUP BY b.tablespace_name,b.file_name,b.bytes

order BY b.tablespace_name

/

 

由於之中有中文,所以十分擔心出現中文的空格啊,回車啊之類的

然後遇到了如下錯誤

tupian2

 

解釋下這個錯誤,這個錯誤是由於一開始,不允許我的別名,在第三行我的原始的別名是“大小(M)”,刪除了括號之後,果斷解決了

並且我發現,SQLPLUS提示的錯誤還是很精準的,可以看到圖上紅框的那一句,有個“*”,都直接告訴錯哪裏了,哈哈,這個是今天才發現的

 

tupian3

這個錯誤是我比較糾結,也是沒想明白的,分號出錯,一開始我以爲是自己用中文打了分號,於是打算從記事本返回SQLPLUS之後再加分號,誰知到誤打誤撞,去掉分號直接打“/”,它居然理我並且不報錯了……

好像明白爲嘛了……如果是在SQLPLUS當中,打完分號之後直接執行了,然如果是在記事本里面,分號被當做語句的一部分,然後再用“/”進行了二次執行,於是報錯

 

3) 監測在線重做日誌文件

 

數據庫中的數據被修改並提交後,其信息會被保存在重做日誌文件中。在重做日誌文件正常的情況下,數據庫纔可以被打開

SELECT group#,type,member FROM v$logfile;

 

4) 監測其他文件

跟蹤文件

SHOW PARAMETER user_dump_dest;

此命令會顯示跟蹤文件的信息包括路徑,此位置也用來存放警告文件,兩種文件通過不同的後綴區分

 

ARCHIVE LOG LIST

這個語句是列出了數據庫的歸檔以及日誌序列等信息,當然,這個語句需要權限,我使用LY用戶權限不足,需要換回SYS用戶纔可以運行

發佈了28 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章