我們學習過了很多的Unix的知識,在這裡,我們知道Unix系統裡有數百條用來管理Oracle之命令。現在讓我們看看一些Unix文件之技巧,它們對於Oracle專家來說是特別有用之。
定位Unix服務器上任意位置之Unix文件
你可以使用Unix之find命令來定位某個特定之文件。
- root> pwd
- /
- root> find . -print grep -idbmspool.sql
- ./oracle/product/9.1.2/rdbms/admin/dbmspool.sql
找到包含有特定字符串之Oracle文件
這是一個用於找到所有包含有指定字符串之最常用之外殼命令。例如,假設你正在試圖定位一個查詢V$PROCESS表格之腳本。
你可以使用下面之命令,Unix會搜索所有之子目錄,在所有文件裡尋找V$PROCESS表格。
- root> find . -print xargsgrep v\$process
- ./TX_RBS.sql: v$process p,
- ./Unix_WHO.sql:from v$session a, v$process b
- ./session.sql:fromv$session b, v$process a
定位最近創建之Unix文件
下面之命令對於找到最近添加到你服務器裡之Unix文件很有用。Oracle數據庫管理員之一部分任務是監測用來追蹤文件之BACKGROUND_DUMP_DEST和USER_DUMP_DEST,以及清除掉不再需要之追蹤文件。
下面之命令會列出在最近兩周裡創建之所有文件。
- root> find . -mtime -14 -print
- .
- ./janet1_ora_27714.trc
- ./janet1_ora_27716.trc
在Unix服務器裡找到大型文件
下面之命令在Unix文件系統被填滿之時候非常有用。正如你可能知道之,在Oracle必須展開一個表格空間卻無法擴展Unix文件系統之時候,Oracle會掛起。
下面之腳本會顯示所有大於1MB之文件。要注意,你要預先將大小參數指定為KB。
- root> find . -size +1024 -print
- ./prodsid_ora_22951.trc
獲得當前$ORACLE_HOME裡已安裝之Oracle產品之列表
下面之命令對於定位在你Oracle環境裡所有已安全之產品很有用。
- cat $ORACLE_HOME/Unix.prd \
- nawk -F\" '{ printf ("%-40s %-10s %-20s\n", $6, $2, $4) }' \
- grep '^[^ ]'
關於Unix文件如何運用到管理Oracle的知識,我們就講解到這裡了。