面對乙個全新的環境,作為乙個oracle dba,首先應該了解什麼呢?本文將為大家具體講解如何做乙個合格的dba。
在這裡,不談那些大的方面,比如了解整個it環境整體情況,假設你已經知道了這些,接下來需要面對的就是這些乙個個活生生的database了。這裡總結了一些一般的思路來面對乙個全先的database,從而快速了解你面對的環境概要。
1、先要了解當前的oracle 資料庫的版本和平台和相關資訊
這個很重要,忙乎了半天還知道你的資料庫是哪個版本,跑在什麼系統上,那豈不是很悲哀,所以我個人認為這是第一步需要了解的。下面的這些指令碼可以幫助你獲取你需要的相關資訊。
select * from v$version;
select * from dba_registry_database;
select dbid, name, open_mode, database_role, platform_name from v$instance;
select dbms_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、其次要了解你的資料庫中裝了哪些元件
select * from dba_registry;
3、搞清楚這個環境是單機還是集群?
這個判斷方法很多,我這裡給出乙個借助dbms_utility來判斷的方法。
set serveroutput on
declare
inst_tab dbms_utility.instance_table;
inst_cnt number;
begin
if dbms_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?
select protection_mode, protection_level, remote_archive, database_role, dataguard_broker,guard_status
from v$database;
5、是否起用了歸檔模式?
conn /as sysdba
archivelog list;
select log_mode from v$database;
6、是否起用了flashback database特性?
select flashback_on from v$database;
如果是,再進一步檢視fra的配置情況
7、是否起用了
force
logging和補充日誌?
select force_logging,supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui,
supplemental_log_data_fk, supplemental_log_data_all
from v$database;
8、了解控制檔案的組成
select * from v$controlfile;
9、了解日誌檔案的組成
select l.group#, lf.type, lf.member, l.bytes, l.status log_status, lf.status logfile_status
from v$log l, v$logfile lf
where l.group# = lf.group#
order by 1,3;
10、了解引數檔案的組成和位置
showparameterspfile
create spfile from pfile...
create pfile from spfile;
create spfile from memory;
create pfile from memory;
11、了解
instance
的相關資訊
select instance_name, host_name, status, archiver, database_status, instance_role, active_state
from v$instance;
12、使用者和密碼相關
是否使用了預設密碼?
是否使用了profile?
是否起用了密碼驗證函式?
使用者身份驗證的方法?
密碼是否區分大小寫等。
select name, value from gv$parameter where name = 'resource_limit';
select profile, resource_name, limit from dba_profiles order by 1,2;
select username, profile from dba_users where account_status = 'open' order by 1;
select d.username, u.account_status
from dba_users_with_defpwd d, dba_users u
where d.username = u.username and account_status = 'open'
order by 2,1;
13、是否開啟了block change tracking
select filename, status, bytes from v$block_change_tracking;
14、起用了那些特性(feature)?
dbms_feature_usage_report
15、表空間和資料檔案的規劃
這個大家都很熟悉,就不寫了
16、字符集相關
select * from database_properties;
17、系統中是否存在invalid物件
select owner, object_type, count(*)
from dba_objects
where status = 'invalid'
group by owner, object_type;
18、更進一步的
是否使用了asm?
當前系統的備份方法和策略是什麼?
網路檔案的配置是如何的?
19、檢視一下最近的alert日誌,獲取一些有用的資訊
20、跑幾個效能分析報告,看看最近系統的執行狀態如何
21、跑乙個rda報告,收集完整的系統狀態報告
好了,有了這一些基本資訊(不完全),你基本上對你新接觸的這個系統有了乙個大概的了解,接來下,你再慢慢的深入分析,然後制訂出一套符合實際情況的運維規範來,慢慢的養豬吧。
在新的環境下搭建vue專案遇到的error
具體報錯 error unable to verify the first certificate 問題原因 2017年2月27日,npm不再支援自簽名證書。npm install走的是https協議,需要通過數字證書來保證的 採取的解決辦法 取消ssl驗證 npm config set stric...
PYTHON在WINDOWS環境下的環境變數設定
1.首先需要在系統中註冊python環境變數 假設python的安裝路徑為c python2.5,開啟 我的電腦 屬性 高階 環境變數 系統變數 在path的值後面追加 c python25 記得加上 分號 與前面的值分隔開 上述環境變數設定成功之後,就可以在命令列直接使用python命令。或執行 ...
Armadillo 在Windows 環境下的配置
1 簡介 armadillo c library 是一種c 的線性代數庫 矩陣數學 以取得良好的平衡速度與易用性。整數,浮點,而複雜的數字支援,以及乙個子集,三角和統計功能。各種矩陣分解是通過 可選的整合 與lapack和atlas圖書館。延遲評價方法,基於模板元程式設計,使用 在編譯時 結合幾個行...