用指令碼一次性得到ORACLE資料庫相關配置資訊並儲存為檔案

csbwolf10發表於2010-03-15

==============================================================

×功能:蒐集ORACLE資料庫的配置相關資訊,並把蒐集到的資訊儲存到C:\Get_oracle_config.sql目錄下面。DBA維護相關的資訊基本都包含。

×環境:windows

×使用:以sys登入sqlplus,把如下指令碼儲存為檔案,在sqlplus中執行此檔案即可。

×

=============================================================


set term off
set linesize 150
set pagesize 200
------------- 將輸出寫入c:\oracle_config.txt---------
spool c:\oracle_config.txt

prompt ===資料庫名稱,建立日期,歸檔方式,閃回功能是否開啟================;
col name format a10;
select dbid,name,created ,flashback_on,guard_status,log_mode   from v$database;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ===資料庫目錄======================================================;

set autopri on
var oarcle_home varchar2(255)
var oracle_base varchar2(255)
exec dbms_system.get_env('ORACLE_HOME',:ORACLE_HOME);
exec dbms_system.get_env('ORACLE_BASE',:ORACLE_base);
set autopri off
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;


prompt ==資料庫版本========================================================;
select * from v$version;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

 

prompt ==語言設定==========================================================;
show parameter nls_language;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==伺服器端字符集====================================================;
select t.value from V$NLS_PARAMETERS t where t.PARAMETER='NLS_CHARACTERSET';
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;


prompt ==資料庫的時區======================================================;
select dbtimezone from dual;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;


prompt ==sga設定===========================================================;
show sga;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==pag設定===========================================================;
show parameter pga;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==資料檔案資訊======================================================;
col name format a60;
select status,creation_time,enabled,bytes/1024/1024 as SIZEM,name from v$datafile;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==日誌組及其成員個數路徑============================================;
col member format a60;
select group#,member from v$logfile;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==歸檔設定,歸檔目的地,歸檔區大小,啟用日誌,目前歸檔區的可用空間==;
show parameter recovery_file_dest;
col dest_name format a20;
col destination format a50;
select dest_name,destination ,type,valid_now from v$archive_dest where status = 'VALID';
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==控制檔案資訊======================================================;
select name from v$controlfile;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==表空間資訊========================================================;
select * from v$tablespace;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==使用者資訊(鎖定的帳戶不計)==========================================;
select username, account_status ,default_tablespace,profile  from dba_users where account_status = 'OPEN' ;
prompt ====================================================================;
prompt  ;
prompt  ;
prompt  ;
prompt  ;

prompt ==表資訊,表所屬空間及屬主(不包括系統表和系統帳號下的表)============;
select owner,table_name,tablespace_name from dba_tables t, dba_users u where
t.owner = u.username and u.account_status = 'OPEN' and t.owner not in ('SYS','SYSTEM','SYSMAN','DBSNMP')
and t.table_name not like '%$%';
prompt ====================================================================;

spool off;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10113559/viewspace-629531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章