資料庫日常運維中的幾個操作建議

2021-09-22 19:27:07 字數 1967 閱讀 5269

如果你去看其他dba的操作的時候,如果要判斷他們水平的高低,我想就是通過一些操作的差別來看了,而水平高低就體現於此。細節決定成敗,越是看起來簡單的操作越是要嚴謹,一絲不苟。

1.停止資料庫

shutdown immediate應該是停止資料庫的首先方案,而如果你選擇shutdown abort的方式,先去面壁。

在刪除資料庫之前,你需要考慮哪些方面呢。

首先你需要判斷這是乙個主庫還是備庫,

select database_role from v$database;

如果顯示為primary,那就一定要小心了。你是否確實要停這個庫

然後檢視資料庫的狀態

select open_mode from v$database;

有raed only,read write,mounted幾種狀態

然後檢視會話的使用情況

select username,count(*)from v$session group by username;

這個步驟是停止資料庫必看,如果已經有會話一定要確認是否需要停止應用端,是否連線了正確的資料庫。

明確了以上的基本條件,確認沒有相關的會話,那就可以shutdown immediate了。

2.啟動資料庫

資料庫啟動中的問題較多,我只是簡單給出幾個概要步驟,如果你啟動資料庫是直接一條命令startup,也需要面壁

啟動最起碼是從nomount,mount,open這幾個階段一步一步來。尤其是哪些異常宕機的資料庫,你的有些不經意的操作就會使得恢復從可能變為不可能。在此主要說計畫內的資料庫重啟。

首先是startup nomount這個階段啟動之後,還是需要檢視是否啟用spfile,使用show parameter spfile來看,然後檢視資料庫日誌,啟動的過程中是否有一些異常,大頁是否開啟,是否有numa的報警,是否有memlock的報警。

alter database mount,資料庫啟動到這個階段本身不難,但是這個階段是乙個分水嶺,資料庫還原恢復相關的操作都需要在這個階段完成

所以我們需要檢視v$recover_file是否資料檔案狀態都正常.

如果需要更多的恢復,這個階段就要把握好了。

最後是alter database open階段,資料庫是否可用就在這個階段了。可用使用select open_mode,database_role from v$database來檢視.

計畫外的場景要複雜的多,就不再贅述了。

3.殺掉會話

殺掉會話,整個世界就清淨了。但是kill session這種操作還是有些建議。

首先我們得到的是乙個基本的資訊,session的sid,serial#資訊,我們在kill  之前還是需要做一些簡單的準備工作。

select paddr,username,osuser,machine from v$session where sid=*** and serial#='***x';

得到了會話的基本資訊之後,我們在資料庫中關聯程序得到系統的程序pid,主要適應輸出的paddr欄位。

然後關聯v$process來得到對應的程序號。

select spid from v$process where addr='***xx'

如果確認需要kill  session,則有很大的餘地,如果清理資料庫層面的會話有一些較大的延遲,我們可以直接清理系統級程序,否則這個過程就會麻煩很多。

4.建立使用者

如果有一天,接到了乙個需求是建立乙個使用者,需要有查詢表test_tab的許可權即可。對於這個需求我們還是需要考慮很多的方面。

--查詢表屬主

select synonym_name, table_owner, table_name from dba_synonyms where synonym_name=upper(『test_tab』);

--建立profile,限制訪問的會話數

--建立使用者

--或--授權,注意此處,多一點許可權都不多給

--建立同義詞

所以不要忽視這些看起來很簡單的操作。

gp資料庫日常運維sql語句筆記

更新中 psql d database h ip p 5432 u username psql d database h ip p 5432 u username c sql output data.csv 當要遠端匯出大檔案時sqlplus sys password ip 1521 databas...

資料庫設計的幾個建議

一 一般好的資料庫設計需要注意以下幾點 1 乙個好的資料庫設計首先要滿足使用者的需求 所有資訊系統最後都將提交給終端使用者使用,對於這一點,相信大家都已經達成共識。但是準確地把握使用者的需求是很難的,雖然 各方面的專家已經從不同方面給出了解決方案,但是使用者需求仍然是軟體工程中最不確定的因素之一。2...

資料庫運維原則

一 資料庫運維工作總原則 1 能不給資料庫做的事情不要給資料庫,資料庫只做資料容器。2 對於資料庫的變更必須有記錄,可以回滾。二 許可權相關 總原則,以最低粒度控制許可權。select許可權 所有開發人員均可擁有自己業務範圍內的表許可權。insert update delete許可權 所有專案經理可...