在這裡,不談那些大的方面,比如了解整個it環境整體情況,假設你已經知道了這些,接下來需要面對的就是這些乙個個活生生的database了.這裡總結了一些一般的思路來面對乙個全先的database,從而快速了解你面對的環境概要。
這也不是教科書,只是一些心得和體會,對於這種問題,每個人的認識的角度是不一樣的。
1、先要了解當前的oracle 資料庫的版本和平台和相關資訊
這個很重要,忙乎了半天還知道你的資料庫是哪個版本,跑在什麼系統上,那豈不是很悲哀,所以我個人認為這是第一步需要了解的。下面的這些指令碼可以幫助你獲取你需要的相關資訊。
select*from
v$version;
select*from
dba_registry_database;
selectdbid, name, open_mode, database_role, platform_name from
v$instance;
selectdbms_utility.port_string from
dual;
setserveroutput on
declare
ver varchar2(100);
compat varchar2(100);
begin
dbms_utility.db_version(ver, compat);
dbms_output.put_line('version: '
|| ver ||
' compatible: '
|| compat);
end;
/2、其次要了解你的資料庫中裝了哪些元件
select3、搞清楚這個環境是單機還是集群?*from
dba_registry
這個判斷方法很多,我這裡給出乙個借助dbms_utility來判斷的方法。
setserveroutput on
declare
inst_tab dbms_utility.instance_table;
inst_cnt number;
begin
ifdbms_utility.is_cluster_database then
dbms_utility.active_instances(inst_tab, inst_cnt);
dbms_output.put_line('-'|| inst_tab.first);
dbms_output.put_line(to_char(inst_cnt));
else
dbms_output.put_line('not a clustered database'
);
end if;
end;
/4、是否配置了dataguard?
selectprotection_mode, protection_level, remote_archive,
database_role, dataguard_broker,guard_status
from5、是否起用了歸檔模式?v$database;
conn /as sysdba
archive log list;
select6、是否起用了flashback database特性?log_mode from
v$database;
select如果是,再進一步檢視fra的配置情況flashback_on from
v$database;
7、是否起用了force logging和補充日誌?
selectforce_logging,supplemental_log_data_min, supplemental_log_data_pk,
supplemental_log_data_ui,supplemental_log_data_fk, supplemental_log_data_all
from8、了解控制檔案的組成v$database;
select9、了解日誌檔案的組成*from
v$controlfile;
selectl.group
#, lf.type, lf.member, l.bytes, l.status log_status,
lf.status
logfile_status
fromv$log l, v$logfile lf
wherel.group
# = lf.group#
order10、了解引數檔案的組成和位置by 1
,3;
showparameter spfile
createspfile from
pfile...
createpfile from
spfile;
createspfile from
memory;
create11、了解instance的相關資訊pfile from
memory; --
記得這個好像是
11g才有的語法吧
selectinstance_name, host_name,
status
, archiver,
database_status, instance_role, active_state
from12、使用者和密碼相關v$instance;
是否使用了預設密碼?
是否使用了profile?
是否起用了密碼驗證函式?
使用者身份驗證的方法?
密碼是否區分大小寫等。
selectname, value from
gv$parameter where
name =
'resource_limit';
selectprofile, resource_name,
limit
from
dba_profiles order
by 1
,2;
selectusername, profile from
dba_users where
account_status=
'open'
order
by 1;
selectd.username, u.account_status
fromdba_users_with_defpwd d, dba_users u
whered.username = u.username and
account_status =
'open'
orderby 2
,1;
13、是否開啟了block change tracking
select14、起用了那些特性(feature)?filename,
status
, bytes from
v$block_change_tracking;
dbms_feature_usage_report
15、表空間和資料檔案的規劃
這個大家都很熟悉,就不寫了
16、字符集相關
select*from
database_properties;
17、系統中是否存在invalid物件
selectowner, object_type, count(*)
fromdba_objects
wherestatus
='invalid'
group18、更進一步的by owner, object_type;
是否使用了asm?
當前系統的備份方法和策略是什麼?
網路檔案的配置是如何的?
19、檢視一下最近的alert日誌,獲取一些有用的資訊
20、跑幾個效能分析報告,看看最近系統的執行狀態如何
21、跑乙個rda報告,收集完整的系統狀態報告
好了,有了這一些基本資訊(不完全),你基本上對你新接觸的這個系統有了乙個大概的了解,接來下,你再慢慢的深入分析,然後制訂出一套符合實際情況的運維規範來
樓宇自動控制 全新工作模式
wiznet產品應用小例39 樓宇自動控制 電子系統控制 樓宇自動控制已不再是新興事物,網路的力量使之迅速推廣普及。照明系統,通風系統,空調系統等通通接入乙太網。與以往耗費大量人力物力進行維護辦公設施的行為相比,現在只需要一人一機一張網,便可以實現對整棟辦公樓的聲 光 水 電 氣的實時調控。電子系統...
新工作,努力!
突然想起好久沒更新blog了.今年3月底從上一家公司離職,4月中旬連休息帶找到了工作.5.1剛過,入職一家網際網路公司,做移動網際網路產品伺服器端研發。這3個月一直在搞平台和框架設計,隨著產品那邊的需求和原型出來,工作也逐漸忙起來了。想想離開上一家公司前夕,學習勁頭比較足,可能是因為當時合同即將到期...
換了新工作
周一去面試,周二開始上班,到今天剛好上了兩天班。這兩天也主要是熟悉公司,包括業務,開發等等。有些不爽的地方 周二剛上班沒多久,老公司的同事就在qq上說,有人打 來詢問我的情況。想想,肯定是新公司打的 因為我來上班的時候填表,有個地方需要填寫原工作單位的情況。都來上班,還需要搞這套嗎?真搞不懂!上班的...