利用Oracle外部表監控檔案系統的空間使用率

2021-07-09 09:41:57 字數 1839 閱讀 8795

概述:利用shell指令碼獲取檔案系統空間利用率資訊並儲存到乙個檔案中,再利用oracle外部表讀取此檔案。

1.首先利用df命令得到規範的空間使用率資訊並儲存到乙個檔案中

建立乙個檔案/home/oracle/df.sh

#su - oracle

$touch /home/oracle/df.sh

$chmod +x /home/oracle/df.sh

$ vi /home/oracle.sh

#  linux 系統加下如下任意一行

df -hp|grep -v "`df -hp|head -n 1`"|sed 's/ \/ /g'|sed "s/^/`date +%f` /g"|sed "s/^/`hostname -i` /g" >> df.txt

#或df -hp|grep -v "`df -hp|head -n 1`"|tr -s ' '|sed "s/^/`date +%f` /g"|sed "s/^/`hostname -i` /g" >> df.txt

#  aix 系統加入下面任意一行

df -g|grep -v "`df -g|head -n 1`"|sed 's/ \/ /g'|sed "s/^/`date +%f` /g"|sed "s/^/`ifconfig -a|grep inet|head -n 1|awk ''` /g" >> df.txt

#或df -g|grep -v "`df -g|head -n 1`"|tr -s ' '|sed "s/^/`date +%f` /g"|sed "s/^/`ifconfig -a|grep inet|head -n 1|awk ''` /g" >> df.txt

加入計畫

$crontab -e

0 0 * * * /home/oracle/df.sh > /home/oracle/df.log 2>&1

2.利用資料庫中的外部表去讀取作業系統的檔案資訊

--首先建立乙個目錄(用哪個資料庫使用者去訪問外部表就在哪個使用者下面建立目錄並建立外部表)

create or replace directory utl_file_dir as '/home/oracle';

--建立外部表

-- create table

create table m_osspace_aix

(ip            varchar2(100),

create_date   varchar2(100),

file_system   varchar2(100),

total_space   varchar2(100),

free          varchar2(100),

percent_used  varchar2(100),

iused         varchar2(100),

percent_iused varchar2(100),

mounted       varchar2(100)

)organization external

(type oracle_loader

default directory utl_file_dir  --指定去哪個目錄下讀取檔案

access parameters

(records delimited by newline

fields terminated by ' '   --此處表示以空間分隔

)location

('df.txt')     --讀取目錄中的df.txt檔案

);3.直接從資料庫表裡檢視檔案系統空間使用率

Oracle利用外部表實現資料的遷移

利用外部表實現資料的遷移 資料移動例子 使用oracle datapump建立外部表來遷移資料 1.在源資料庫中建立目錄 create directory dir dump as home oracle grant read,write on directory dir dump to public...

oracle外部表的使用 使用外部表

oracle外部表的使用 該執行緒包含一些使用外部表的有用技巧。使用外部表 1.將表指向外部檔案。如果外部檔案中的資料被更改,則表中的資料也將發生變化。2.外部表可以按照與聯接,檢視中的標準表相同的方式進行查詢.並可以使用外部表上的所有型別的功能。3.獲取有關外部表的資訊,查詢 user exter...

Oracle執行外部檔案

oracle執行外部檔案 c sqlplus user pwd db sql new.sql 執行多個sql檔案 1.把所有的檔案都放在同乙個目錄下,然後在命令列裡執行命令 c dir b d 1.sql 會把所有的sql檔名都輸出到乙個sql檔案中。2.用ultraedit開啟生成的sql檔案,a...