數(shù)據(jù)庫運維管理作業(yè)項目_第1頁
數(shù)據(jù)庫運維管理作業(yè)項目_第2頁
數(shù)據(jù)庫運維管理作業(yè)項目_第3頁
數(shù)據(jù)庫運維管理作業(yè)項目_第4頁
數(shù)據(jù)庫運維管理作業(yè)項目_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)庫運維管理作業(yè)項目

1.1Oracle數(shù)據(jù)庫

序號工作內(nèi)容工作內(nèi)容及方法注意事項

1.啟動操作系統(tǒng)

2.啟動數(shù)據(jù)庫監(jiān)聽程序

①AIX或linux操作系統(tǒng):

#su-oracle

$lsnrctlstart

②Windows操作系統(tǒng):

使用cmd命令進入控制臺

單臺服務(wù)輸入Isnrctlstart并回車

1器的數(shù)據(jù)3?啟動數(shù)據(jù)庫

庫啟動①AIX或linux操作系統(tǒng):

$sqlplus/assysdba

SQL>startup

②Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>startup

4.檢查實例狀態(tài)

SQL>select*fromgv$instance;

若正常啟動,下列字段結(jié)果為:

INST_ID字段顯示所有實例ID

STATUS字段的值等于OPEN

LOGINS字段的值等于ALLOWED

DATABASE_STATUS字段的值等于ACTIVE

ACTIVE_STATE字段的值等于NORMAL

1.登錄數(shù)據(jù)庫實例并檢查實例狀態(tài)

①AIX或1inux操作系統(tǒng):

#su-oracle

$sqlplus/assysdba

SQL>select*fromgv$instance;

單臺服務(wù)

②Windows操作系統(tǒng):

2器的數(shù)據(jù)

C:\>sqlplus/assysdba

庫停止

SQL>select*fromgv$instance;

2.停止監(jiān)聽

SQL>lsnrctlstop

3.關(guān)閉數(shù)據(jù)庫實例

SQL>shutdownimmediate

1.啟動操作系統(tǒng)

數(shù)據(jù)庫集

3略

群啟動

2.啟動數(shù)據(jù)庫集群軟件

①AIX或linux操作系統(tǒng):

#su-oracle(適用oraclelOg)

#su-grid(適用oraclellg)$crsctl

startcrs

②Windows操作系統(tǒng):

C:\>crsctlstartcrs

3.啟動數(shù)據(jù)庫實例

①AIX或linux操作系統(tǒng):

#su-oracle(適用oraclelOg)

#su-grid(適用oraclelOg$sqlplus

/assysdba

SQL>startup

②Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>startup

4.檢查實例狀態(tài)

SQL>select*fromgv$instance;

若正常啟動,下列字段結(jié)果為:

INST_ID字段顯示所有實例ID

STATUS字段的值等于OPEN

LOGINS字段的值等于ALLOWED

DATABASE_STATUS字段的值等于ACTIVE

ACTIVE_STATE字段的值等于NORMAL

5.啟動應(yīng)用

6.檢查應(yīng)用狀態(tài)

1.檢查集群狀態(tài)

①AIX或linux操作系統(tǒng):

su-oracle

$crs_stat-t

②Windows操作系統(tǒng):

C:\>$crs_stat-t

2.查看數(shù)據(jù)庫狀態(tài)

①AIX或linux操作系統(tǒng):

集群數(shù)據(jù)

4su-oracle

庫停止

$sqlplus/assysdba

SQL>select*fromgv$instance;

②Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>select*fromgv$instance;

3.停止應(yīng)用

4.停止監(jiān)聽

①AIX或linux操作系統(tǒng):

$srvctlstoplistener-n<主機名>

〃所有節(jié)點執(zhí)行

5.停止實例

$srvctlstopdatabase-d〈數(shù)據(jù)庫名〉

-i〈實例名》〃所有節(jié)點執(zhí)行

或執(zhí)行

$srvctlstopdatabase-d〈數(shù)據(jù)庫名〉

//在其中一節(jié)點執(zhí)行,同時停止雙節(jié)點

實例

②Windows操作系統(tǒng):

C:\>srvctlstoplistener-n〈主機

名〉//所有節(jié)點執(zhí)行

5.停止實例

C:\>srvctlstopdatabase-d〈數(shù)據(jù)

庫名》-i〈實例名》〃所有節(jié)點執(zhí)行

或執(zhí)行

C:\>srvctlstopdatabase-d〈數(shù)據(jù)

庫名〉

〃在其中一節(jié)點執(zhí)行,同時停止雙節(jié)點

實例

6.停止集群應(yīng)用

①AIX或linux操作系統(tǒng):

$srvctlstopnodeapps-n〈主機名〉

②Windows操作系統(tǒng):

C:\>srvctlstopnodeapps-n〈主機

名〉

數(shù)據(jù)庫備份步驟:

1.RAMN備份

RMAN>backupdatabaseplus

archivelogdeleteinput;

//備份全庫及控制文件、服務(wù)器參數(shù)文

件與所有歸檔的重做日志,并刪除舊的

歸檔日志

數(shù)據(jù)備份數(shù)據(jù)庫備份有效性檢查指導(dǎo)

5有效性檢1.檢查熱備份日志信息

查①AIX或linux操作系統(tǒng):

$more<日志路徑》/〈日志名稱>.log查看

是否存在error/warning關(guān)鍵字

②Windows操作系統(tǒng):

C:\>type〈日志路徑〉/〈日志名稱>.log

查看是否存在error/warning關(guān)鍵字

2.檢查主數(shù)據(jù)庫的歸檔日志

①AIX或linux操作系統(tǒng):

Is-1〈歸檔日志路徑》查看是否缺失歸

②Windows操作系統(tǒng):

進入〈歸檔日志路徑〉查看是否缺失歸

3.檢查備份路徑下文件產(chǎn)生的時間

①AIX或linux操作系統(tǒng):

1s-1〈備份目錄路徑》查看產(chǎn)生時間與

備份時間是否匹配

②Windows操作系統(tǒng):

進入〈備份目錄路徑〉查看產(chǎn)生時間與

備份

4.檢查備份集的相關(guān)備份內(nèi)容

①AIX或linux操作系統(tǒng):e

$rmantarget/

RMAN>listbackup查看備份是否完整

②Windows操作系統(tǒng):

C:\>rmantarget/

RMAN>listbackup查看備份是否完整

5.查看RMAN日志

①查看rman所有備份的歷史信息

SELECTj.session_key,

TO_CHAR(J.START_TIME,

'yyyy-mnrddhh24:mi:ss')

start_time,

TO_CHAR(j.end_time,

'yyyy-mm-ddhh24:mi:ss')end_time,

J.TIME_TAKEN_DISPLAY,

J.INPUT_BYTES_DISPLAY

“INPUT(SUM)”,

J.OUTPUT_BYTES_DISPLAY

“OUTPUT(SUM)”,

J.OUTPUT_DEVICE_TYPE,

J.STATUS,

J.INPUT_TYPE,

J.INPUT_BYTES_PER_SEC_DISPLAY

“INPUT(s)”,

J.OUTPUT_BYTES_PER_SEC_DISPLAY

“OUTPUT(s)”

FROMV$rman_Backup_Job_DetaiIsj;

②查看rman的日志信息

setlines120

setpages200

setfeedbackoff

setverifyoff

setscanon

selectoutputfromv$rman_outputo

whereo.session_key=&l;

1.imp/impdp數(shù)據(jù)導(dǎo)入方式

①創(chuàng)建數(shù)據(jù)庫

AIX或linux操作系統(tǒng):

#su-oracle

$dbca〃進入圖形化界面創(chuàng)建數(shù)據(jù)庫

Windows操作系統(tǒng):

C:\>dbca〃進入圖形化界面創(chuàng)建數(shù)據(jù)

6數(shù)據(jù)恢復(fù)

②創(chuàng)建相關(guān)表空間

AIX或linux操作系統(tǒng):

#su-oracle

$sqlplus/assysdba

Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>createtablespace〈表空間名稱)

datafile"〈路徑》/〈名稱>.dbf'size

〈表空間大?。緆〃最大不超多

(32*1024*1024-1)K

③創(chuàng)建用戶

AIX或linux操作系統(tǒng):

#su-oracle

$sqlplus/assysdba

Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>createuser<用戶名>defualt

tablespace〈默認表空間名稱》;

④邏輯備份導(dǎo)入方式

AIX或linux操作系統(tǒng):

#su-oracle注意區(qū)分操作系統(tǒng)

$imp〈用戶名>/<密碼>@<實例名)

file=〈expd到處備份集名稱〉full=y

ignore=y

Windows操作系統(tǒng):

C:\>imp〈用戶名>/<密碼>敘實例名》

file=<expd到處備份集名稱〉full=y

ignore=y

2、RMAN恢復(fù)方式

①登錄RMAN窗口

AIX或linux操作系統(tǒng):

$rmantarget/

Windows操作系統(tǒng):

C:\>rmantarget/

②啟動數(shù)據(jù)庫到MOUNT狀態(tài)

RMAN>startupmount;

③還原數(shù)據(jù)庫

RMAN>restoredatabase;

④恢復(fù)數(shù)據(jù)

RMAN>recoverdatabase;

⑤啟動數(shù)據(jù)庫

RMAN>alterdatabaseopen;

1.確認所有的數(shù)據(jù)庫狀態(tài)正常

①AIX或1inux操作系統(tǒng):

su-oracle

7日常巡檢$sqlplus/assysdba

SQL>select*fromgv$instance;

②Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>select*fromgv$instance;

2.檢查文件系統(tǒng)的使用(剩余空間)

①AIX或linux操作系統(tǒng):

#df-g//IBM-AIX

#bdf//HP-UNIX

#df-h//linux

②Windows操作系統(tǒng):

打開我的電腦查看磁盤狀態(tài)"windows

3.檢查日志文件和告警文件記錄

①AIX或linux操作系統(tǒng):

more〈集群日志文件路徑》/crsd.log

more〈告警日志文件路

徑〉/alter_〈sid>.log

②Windows操作系統(tǒng):

C:\>type〈集群日志文件路

徑》/crsd.log

C:\>type〈告警日志文件路

徑》/alter_〈sid>.log

4.檢查數(shù)據(jù)庫當(dāng)日備份的有效性

請看第5點

5.檢查數(shù)據(jù)文件的狀態(tài)

①AIX或linux操作系統(tǒng):

#su-oracle

$sqlplus/assysdba

②Windows操作系統(tǒng):

C:\>sqlplus/assysdba

SQL>select*fromdba_data_files;

查看online_status字段,是否正常

6.檢查表空間的使用情況

查看是否存在使用率超于80%

7.檢查數(shù)據(jù)庫系統(tǒng)性能

到處AWR報告分析

SQL>?/rdbms/admin/awrrpt.sql

每月一次或重大項目上線之前的例行檢

查,收集系統(tǒng)配置、數(shù)據(jù)庫配置、存儲

情況、備份有效性、性能狀況等信息,

8深度巡檢

分析系統(tǒng)現(xiàn)狀,對內(nèi)存效率、I/O效率、

等待事件、TOPSQL等進行分析,發(fā)現(xiàn)潛

在問題并完成調(diào)整。

1.檢查數(shù)據(jù)庫程序文件和數(shù)據(jù)庫文件的

完整性,對數(shù)據(jù)庫表空間的碎片情況進

行檢查;

selecta.tablespace_name,count(1)

碎片量fromdba_free_spacea,

dba_tablespacesbwhere

a.tablespace_name

=b.tablespace_nameand

b.extent_management=

'DICTIONARY,groupby

a.tablespace_namehaving

count(1)>20orderby2;

2.檢查數(shù)據(jù)文件是否存在壞塊;

$rmantarget/

RMAN>backupvalidatedatafilen;

RMAN>select*from

v$database_block_corruption;

3.檢查數(shù)據(jù)庫備份的完整和有效;

請查看第五點

4.解決數(shù)據(jù)庫的無效對象的問題;

查看

select

owner,object_name,object_typefrom

dba_objectswherestatus='INVALID5

andownernotin

('SYS','SYSTEM'SCOTT','PERFSTAT,

);

修復(fù).

@?/rdbms/admin/utIrp.sql

5.對數(shù)據(jù)庫進行全方位的安全檢查,包

括安全補丁、安全隱患、用戶權(quán)限、數(shù)

據(jù)庫程序文件和數(shù)據(jù)文件的權(quán)限等。

6.對數(shù)據(jù)庫的性能評估;檢查并分析數(shù)

據(jù)庫的參數(shù)設(shè)置、文件和數(shù)據(jù)分布、操

作系統(tǒng)、硬件、系統(tǒng)資源的使用情況和

SQL代碼等方面性能狀況。

每周對數(shù)據(jù)庫對象的空間擴展情況、數(shù)

周定期維

7據(jù)的增長情況進行監(jiān)控、對數(shù)據(jù)庫做健

康檢查、對數(shù)據(jù)庫對象的狀態(tài)做檢查。

1.監(jiān)控數(shù)據(jù)庫對象的空間擴展情況

SQL>

SETLINESIZE500

SETPAGESIZE1000

SELECTD.TABLESPACE_NAME,SPACE

/,SUM_SPACE(M),/,BLOCKS

SUM_BLOCKS,SPACE-NVL(FREE_SPACE,

0)“USED_SPACE(M)”,

ROUND((1

NVL(FREE_SPACE,0)/SPACE)*100,

2)“USED_RATE(%)“,F(xiàn)REE_SPACE

“FREE_SPACE(M)”

FROM(SELECT

TABLESPACE_NAME,ROUND(SUM(BYTES)/

(1024*1024),2)SPACE,SUM(BLOCKS)

BLOCKS

FROMDBA_DATA_FILES

GROUPBYTABLESPACE_NAME)D,

(SELECTTABLESPACE_NAME,

ROUND(SUM(BYTES)/(1024*1024),2)

FREE_SPACE

FROMDBA_FREE_SPACE

GROUPBYTABLESPACE_NAME)F

WHERED.TABLESPACE_NAME=

F.TABLESPACE_NAME(+)

ORDERBY"USED_RATE(%)”

DESC;

2.監(jiān)控數(shù)據(jù)量的增長情況

SQL>select*fromdba_data_files;

3.處理無效的數(shù)據(jù)庫對象

@?/rdbms/admin/utIrp.sql

4.處理失效的約束

@?/rdbms/admin/ut1rp.sql

5.處理無效的觸發(fā)器

@?/rdbms/admin/utIrp.sql

每月對表和索引等進行分析、檢查表空

月定期維間碎片、尋找數(shù)據(jù)庫性能調(diào)整的機會、

8

護進行數(shù)據(jù)庫性能調(diào)整、提出下一步空間

管理計劃。對數(shù)據(jù)庫狀態(tài)進行一次全面

檢查

1.對索引進行維護和管理

select

OWNER,TRIGGER_NAME,replace(TRIGGER

_TYPE,'

TRIGGER_TYPE,replace(TRIGGERING_EV

ENT,'TRIGGERING_EVENTfrom

dba_triggerswhere

status』DISABLED'andownerO'SYS";

2.對于頻繁更新的表,需進行索引重建

alterindex〈索引名稱〉rebuild

tablespace〈表空間名稱)

3.對一些運行非常慢的查尋語句進行

分析

SQL>@?/rdbms/admin/awrrpt.sql

4.數(shù)據(jù)庫高水位回收

SQL>altertablexxxshrinkspace;

5.比較每天對數(shù)據(jù)庫性能的監(jiān)控報告,

確定是否有必要對數(shù)據(jù)庫性能進行調(diào)整

6.根據(jù)表空間增長情況提出空間管理

計劃

7.提出下一步空間管理計劃

8.數(shù)據(jù)庫健康檢查

1.回收站管理

使用purgerecyclebin命令定期清理回

收站

SQL>purgerecyclebin;

2.統(tǒng)計信息收集

BEGIN

DBMS_STATS.GATHER_TABLE_STATS(ownn

ame=>'<用戶名tabname=>'<表

其他數(shù)據(jù)名〉',estimate_percent=>

9庫運維工DBMS_STATS.AUTO_SAMPLE_SIZE,method執(zhí)行頻率

作_opt=>'forallcolumnssize

repeat),degree

=>DBMS_STATS.AUTO_DEGREE,cascade=>

TRUE);

END;

/

3.無效對象整理

SQL>@?/rdbms/admin/awrrpt.sql

4.數(shù)據(jù)庫碎片整理

SQL>altertablexxxshrinkspace;

1.數(shù)據(jù)庫用戶基線配置

定期檢查數(shù)據(jù)庫用戶數(shù)量,配置數(shù)據(jù)庫

用戶基線

selectcount(*)fromv$session;

2.數(shù)據(jù)庫權(quán)限基線配置

定期檢查數(shù)據(jù)庫權(quán)限分配,配置數(shù)據(jù)庫

權(quán)限基線

安全基線

10selecta.*fromdba_role_privs

配置

a,dba_usersbwhere

b.username=a.granteeand

b.account_status=,OPEN,and

a.granted_rolein

('DBA','SYSDBA','SYSOPER','EXP_FUL

L_DATABASE','DELETE_CATALOG_ROLE,)

orderbya.GRANTED_ROLE;

3.數(shù)據(jù)庫容量基線配置

定期檢查數(shù)據(jù)庫表空間容量,配置數(shù)據(jù)

庫容量基線

SQL>

SETLINESIZE500

SETPAGESIZE1000

SELECTD.TABLESPACE_NAME,SPACE

"SUM_SPACE(M)”,BLOCKS

SUM_BLOCKS,SPACE-NVL(FREE_SPACE,

0)"USED_SPACE(M)”,

ROUND((1-

NVL(FREE_SPACE,0)/SPACE)*100,

2)"USED_RATE(盼“,F(xiàn)REE_SPACE

“FREE_SPACE(M)”

FROM(SELECT

TABLESPACE_NAME,ROUND(SUM(BYTES)/

(1024*1024),2)SPACE,SUM(BLOCKS)

BLOCKS

FROMDBA_DATA_FILES

GROUPBYTABLESPACE_NAME)D,

(SELECTTABLESPACE_NAME,

ROUND(SUM(BYTES)/(1024*1024),2)

FREE_SPACE

FROMDBA_FREE_SPACE

GROUPBYTABLESPACE_NAME)F

WHERED.TABLESPACE_NAME=

F.TABLESPACE_NAME(+)

ORDERBY"USED_RATE現(xiàn))”

DESC;

1.2SQLSERVER數(shù)據(jù)庫

序號工作內(nèi)容工作內(nèi)容及方法注意事項

數(shù)據(jù)庫系統(tǒng)啟動過程

1.啟動操作系統(tǒng)

2.啟動集群應(yīng)用

1系統(tǒng)啟動

3.啟動數(shù)據(jù)庫

方法①、使用命令行啟動數(shù)據(jù)

庫:netstartmssqlserver

方法②、使用SQLServer配

置管理器啟動數(shù)據(jù)庫:通過程

序菜單找到“SQLServer配置

管理器",找至USQLServer服

務(wù)中的SQL

Server(MSSQLSERVER),右

擊選擇“啟動”用以啟動服

務(wù)。

4.系統(tǒng)狀態(tài)檢查

5.啟動應(yīng)用

6.檢查應(yīng)用狀態(tài)

數(shù)據(jù)庫系統(tǒng)停止過程

1.系統(tǒng)狀態(tài)檢查

2系統(tǒng)停止2.停止應(yīng)用

3.停止數(shù)據(jù)庫

方法①、使用命令行啟動數(shù)據(jù)

庫:netstopmssqlserver

方法②、使用SQLServer配

置管理器啟動數(shù)據(jù)庫:通過程

序菜單找到“SQLServer配置

管理器“,找到SQLServer服

務(wù)中的SQL

Server(MSSQLSERVER),右

擊選擇“停止”用以停止服

務(wù)。

4.停止集群應(yīng)用

5.停止操作系統(tǒng)

數(shù)據(jù)庫備份有效性檢查指導(dǎo)

數(shù)據(jù)備份1.檢查熱備份日志信息

3有效性檢檢查備份日志信息和文件產(chǎn)

查生時間詳見支持文件中的

1.4.3數(shù)據(jù)庫備份完成情況

2.檢查備份路徑下文件產(chǎn)生

的時間

3.檢查備份集的相關(guān)備份內(nèi)

客戶端登錄SQLSERVER,在

資源對象管理器選擇需要檢

查的數(shù)據(jù)庫,右鍵選擇“任

務(wù)”-》“備份”,查看“目標(biāo)”選

項,點擊“內(nèi)容”即可查看備

份集相關(guān)信息。

1.邏輯備份導(dǎo)入

主要根據(jù)建庫腳本完成庫的

創(chuàng)建(建庫腳本包括數(shù)據(jù)、日

4數(shù)據(jù)恢復(fù)

志文件、恢復(fù)模式、字符集等

信息)

還原的界面、命令操作詳見支

持文檔的144數(shù)據(jù)庫的恢復(fù)

早"P。

用戶關(guān)聯(lián)

通常在恢復(fù)后數(shù)據(jù)庫中的用

戶也隨之恢復(fù)過來,但是數(shù)據(jù)

庫中并未將其和登錄名進行

關(guān)聯(lián),此時需要修復(fù)這些孤立

用戶,相關(guān)腳本如下:

切換到當(dāng)前庫查看孤立用戶

sp_change_users_login

'report'

修復(fù)

sp_change_users_login

'Auto_Fix;'test;NULL,

'password'

其中test為賬號名,

password為密碼

2.物理備份恢復(fù)

如果只有數(shù)據(jù)庫的數(shù)據(jù)文件

和日志文件(后綴名為mdf

和Idf),則采取附加的方式進

行還原,登錄資源管理器,選

擇“數(shù)據(jù)庫”,右鍵選擇“附力口

數(shù)據(jù)庫”,添加mdf文件即可,

需要注意的是小口」缺少Idf文

件,否則恢復(fù)無法完成。

附加完成后切換到當(dāng)前庫查

看孤立用戶

sp_change_users_login

'report'

修復(fù)

sp_change_users_login

'Auto_Fix'z'test;NULL,

'password'

其中test為賬號名,

password為密碼

每天對數(shù)據(jù)庫的運行狀態(tài)、日

志文件、備份情況、數(shù)據(jù)庫的

空間使用情況、系統(tǒng)資源的使

用情況進行檢查,發(fā)現(xiàn)并解決

問題。

1.確認所有的數(shù)據(jù)庫狀態(tài)正

5日常巡檢

select*fromsysdatabases查

看數(shù)據(jù)庫運行狀態(tài),查詢出結(jié)

果中?有一列名為:status值為

512則處于offline狀態(tài)

2.檢查文件系統(tǒng)的使用(剩

余空間)

通常windows中,

SQLSERVER數(shù)據(jù)庫對數(shù)據(jù)、

日志文件的大小不進行限制,

所以所在的盤剩余的空間為

空余的,此時只能通過查看數(shù)

據(jù)文件的增長策略的評估剩

余的空間是否滿足近期要求,

如果對數(shù)據(jù)、日志文件設(shè)置了

限制文件大小則可以通過

Execsp_spaceused查看當(dāng)前

數(shù)據(jù)庫的磁盤使用情況進行

評估

3.檢查日志文件和告警文件

記錄

主要檢查日志文件的大小是

否過大,DBCC

SQLPERF(LOGSPACE)

即可查看各庫的日志,如果日

志過大則考慮對日志進行收

4.檢查數(shù)據(jù)庫當(dāng)日備份的有

效性

主要通過檢查備份文件大小

(日志是否收縮)

備份的時長以及ERRORLOG

文件中是否含有備份失敗信

息進行判斷,如果環(huán)境允許的

話可以進行恢復(fù)測試

5.檢查空間的使用情況

Execsp_spaceused查看當(dāng)前

數(shù)據(jù)庫的磁盤使用情況

DBCC

SQLPERF(LOGSPACE)查看

日志文件使用情況

6.檢查數(shù)據(jù)庫系統(tǒng)性能

登錄數(shù)據(jù)庫資源管理器,右鍵

選擇“活動和監(jiān)視器“,可以查

看進程、I/O、CPU使用以

及近期耗費大量資源的SQL

腳本

或者在特定時間內(nèi)使用SQL

SERVERPROFILER工具對

該時間段內(nèi)執(zhí)行的SQL腳本

執(zhí)行計劃進行監(jiān)控

7.日常出現(xiàn)問題的處理。

通常主要是性能、安全問題,

解決這類問題主要通過統(tǒng)計

更新、tempdb調(diào)整、日志收縮

等方式來進行優(yōu)化

①統(tǒng)計更新:

ALTERINDEX@indexname

ON@tablename+REBUILD

PARTITION=ALLWITH

(PADJNDEX=OFF,

STATISTICS_NORECOMPUT

E=OFF,

ALLOW_ROW_LOCKS二

ON,ALLOW_PAGE_LOCKS

=ON,ONLINE=OFF,

SORT_IN_TEMPDB二OFF)

建議通過定期做ALTER

INDEXREBUILD來提高性

臺目匕

②Tempdb調(diào)整:

可以根據(jù)數(shù)據(jù)庫的性質(zhì)對

tempdb進行調(diào)整,合理初始化

tempdb的大小以及相應(yīng)的位

置存放,存放至I/O較高,I/O

較少的存儲上,并建議創(chuàng)建與

CPU邏輯數(shù)目1/4、1/2比例的

文件個數(shù),提高性能。

③日志清理、收縮:

Sqlserver2008版本月即本

USE[master]

GO

ALTERDATABASEDNName

SETRECOVERYSIMPLE

WITHNO_WAIT

GO

ALTERDATABASEDNName

SETRECOVERYSIMPLE

GO

USEDNName

GO

BACKUPLOGDNNameto

disk=*d:\work\logl.ba

k'

go

DBCCSHRINKFILE

(N*LogFileName,,

11,TRUNCATEONLY)

GO

USE[master]

GO

ALTERDATABASEDNName

SETRECOVERYFULLWITH

NO_WAIT

GO

ALTERDATABASEDNName

SETRECOVERYFULL

GO

先備份日志,然后進行收縮。

每月一次或重大項目上線之

前的例行檢查,收集系統(tǒng)配

置、數(shù)據(jù)庫配置、存儲情況、

備份有效性、性能狀況等信

息,分析系統(tǒng)現(xiàn)狀,對內(nèi)存效

率、I/O效率、等待事件、TOP

SQL等進行分析,發(fā)現(xiàn)潛在問

題并完成調(diào)整。

6深度巡檢

健康性檢查檢查涉及到以下

三個方面,數(shù)據(jù)庫的穩(wěn)定、安

全和性能,具體包括:

1.檢查數(shù)據(jù)庫程序文件和數(shù)

據(jù)庫文件的完整性,對數(shù)據(jù)

庫表空間的碎片情況進行

檢查

①完整性主要通過檢查

SQLSERVER服務(wù)的狀態(tài)

來進行判斷,并結(jié)合操作系

統(tǒng)中的事件查看器查看

“windows日志”下的"應(yīng)

用程序“日志中SQL

SERVER相關(guān)日志信息進

行收集,確保數(shù)據(jù)庫服務(wù)的

狀態(tài)是否正常。

②檢查數(shù)據(jù)庫碎片情況主

要通過命令進行DBCC

ShowContig(表名)檢查索引

碎片情況

2.檢查數(shù)據(jù)庫對象物理關(guān)系

和邏輯關(guān)系的完整性;

查看數(shù)據(jù)庫數(shù)據(jù)、日志文件列

select*from

[dbo].[sysfiles]

3.檢查數(shù)據(jù)文件是否存在壞

塊;

查看近期日志是否含有823、

824、825級別的I/O錯誤

4.檢查數(shù)據(jù)庫備份的完整和

有效;

①查看備份文件大小

②查看備份耗時

③查看相應(yīng)時間點的日志信

息有無異常

④對備份文件進行還原驗證

5.檢查和解決數(shù)據(jù)庫告警日

志所示錯誤。

通過“事件查看器”查看

uwindows日志”下的“應(yīng)用

程序“中SQLSERVER相關(guān)告

警信息,根據(jù)詳細的錯誤號查

看官方文檔進行解決

6.對數(shù)據(jù)庫進行全方位的安

全檢查,包括安全補丁、安

全隱患、用戶權(quán)限、數(shù)據(jù)庫

程序文件和數(shù)據(jù)文件的權(quán)

限等。

定期進行補丁修復(fù)以及系統(tǒng)

用戶權(quán)限檢查

7.對數(shù)據(jù)庫的性能評估;

通過SQLSERVER

PROFILER?工具以及資源管

理器中的“活動和監(jiān)視器”檢

查系統(tǒng)在高峰期資源使用情

況以及耗費較大資源SQL代

碼執(zhí)行計劃,記錄相關(guān)的執(zhí)行

語句以及是否存在硬件上的

瓶頸

每周對數(shù)據(jù)的增長情況進行

監(jiān)控、對數(shù)據(jù)庫做健康檢查、

對數(shù)據(jù)庫對象的狀態(tài)做檢查。

1.監(jiān)控數(shù)據(jù)量的增長情況

周定期維Execsp_spaceused查看當(dāng)前

7

護數(shù)據(jù)庫的磁盤使用情況并記

錄各階段的增長情況

2.處理無效的數(shù)據(jù)庫對象

EXECsprecompile,存儲過

程、觸發(fā)器、表、視圖,

每月對表和索引等進行分析、

月定期維

8檢查表空間碎片、尋找數(shù)據(jù)庫

性能調(diào)整的機會、進行數(shù)據(jù)庫

性能調(diào)整、提出下一步空間管

理計劃。對數(shù)據(jù)庫狀態(tài)進行一

次全面檢查

1.對索引進行維護和管理

使用數(shù)據(jù)庫自帶的計劃服務(wù)

進行定期的“統(tǒng)計更新”詳見

支持文件中L3.5統(tǒng)計更新策

略章節(jié)

2.對于頻繁更新的表,需進行

索引重建

對于更新頻繁的表可以采用

ALTERINDEXREBUILD,詳

見支持文件中L3.5統(tǒng)計更新

策略章節(jié)

3.數(shù)據(jù)庫健康檢查

①檢查數(shù)據(jù)庫服務(wù)的狀態(tài)

②檢查操作系統(tǒng)日志中SQL

SERVER的相關(guān)日志

③檢查SQLSERVER近期的

ERRORLOG日志

其他數(shù)據(jù)

9庫運維工無

1.數(shù)據(jù)庫用戶基線配置

在Microsoftsqlserver

managementstudio里改,先登

錄,進入“安全性”、“登錄名”,

安全基線

10在用戶名的屬性頁里將Sa或

配置

者其他用戶賬號密碼修改成

符合卜到要求:

8位字符

須有大小寫

須有字母與數(shù)字

2.數(shù)據(jù)庫權(quán)限基線配置

禁止GUEST用戶訪問數(shù)據(jù)

庫:REVOKECONNECT

FROMGUEST同時定期檢查

數(shù)據(jù)庫用戶是否擁有public以

外的角色

3.數(shù)據(jù)庫安全防護基線

刪除pubs\NorthWind數(shù)據(jù)庫

DROPDATABASEpubs

Go

DROPDATABASENorthWind

Go

修改默認服務(wù)端口1433

在程序安裝目錄中選擇“sql

serverconfigrationmanager”,

然后選擇"sqlserver網(wǎng)絡(luò)配

置”,點擊MSSSQLSERVER

協(xié)議中的TCP/IP協(xié)議屬性,

選擇“IP”選項,在IPALL一欄

中修改成其他端口后重啟

SQLSERVER月艮務(wù)

1.數(shù)據(jù)庫安裝準(zhǔn)備

①數(shù)據(jù)庫軟件名稱

②數(shù)據(jù)庫軟件安裝環(huán)境

詳見支持文件中1.1.1操作系

統(tǒng)的準(zhǔn)備工作

數(shù)據(jù)庫安

112.數(shù)據(jù)庫安裝規(guī)劃

裝配置

詳見支持文件中1.2.1現(xiàn)場創(chuàng)

建數(shù)據(jù)庫的規(guī)劃

3.數(shù)據(jù)庫產(chǎn)品安裝過程

檢查操作系統(tǒng)環(huán)境,詳見支持

文件中LL2現(xiàn)場創(chuàng)建數(shù)據(jù)庫

的規(guī)劃

①數(shù)據(jù)庫產(chǎn)品的配置過程

>數(shù)據(jù)庫數(shù)據(jù)、日志文

件設(shè)置

>Tempdb調(diào)整

>系統(tǒng)庫調(diào)整

>內(nèi)存調(diào)整

>資源調(diào)控器

>統(tǒng)計更新策略

>備份策略

詳見支持文件中

1.2.2現(xiàn)場數(shù)據(jù)文件的設(shè)置

1.3數(shù)據(jù)庫優(yōu)化

1.4.1備份策略(自帶計劃任

務(wù))

1.4.2備份策略(操作系統(tǒng))

1.3MYSQL

序工作內(nèi)

工作內(nèi)容及方法注意事項

號容

數(shù)據(jù)庫系統(tǒng)啟動過程

1.啟動操作系統(tǒng)

2.啟動集群應(yīng)用

3.啟動mysql數(shù)據(jù)庫

Windows下:使用命令行啟

注意啟動時使用

動數(shù)據(jù)庫:netstartmysql

系統(tǒng)啟的操作系統(tǒng)賬戶

1Linux下:

動應(yīng)具有管理員權(quán)

方法①

/etc/rc.d/init.d/mysqldstart;

方法②servicemysqldstart

4.系統(tǒng)狀態(tài)檢查

5.啟動應(yīng)用

6.檢查應(yīng)用狀態(tài)

數(shù)據(jù)庫系統(tǒng)停止過程

1.系統(tǒng)狀態(tài)檢查

2.停止應(yīng)用

3.停止mysql數(shù)據(jù)庫

Windows下:使用命令行啟注意停止時使用

系統(tǒng)停動數(shù)據(jù)庫:netstopmysql的操作系統(tǒng)賬戶

2

止Linux下:應(yīng)具有管理員權(quán)

方法①限

/etc/rc.d/init.d/mysqldstop;

方法②servicemysqldstop

4.停止集群應(yīng)用

5.停止操作系統(tǒng)

1.檢查備份出來的文本文-tab選項nJ以在

數(shù)據(jù)備

件中是否有錯誤信息備份目錄

3份有效

Windows或Linux下,命令/backup/mysqldb

性檢查

行進入MySQL/bin/目錄調(diào)_bk下生成后綴

用mysqldump,以Linux系為*.sql和*.txt的

統(tǒng)為例:兩類文件。其

/bin>mysqldump-ptest中,.sql保存了創(chuàng)

-uroot建表的SQL語

-tab=/backup/mysqldb_bk

句,而.txt保存著

mysqldb

原始數(shù)據(jù)。

/bin>cat/tmp/mysqldb.txt|

greperror

1.數(shù)據(jù)庫重建情況下的數(shù)

據(jù)恢復(fù)

①創(chuàng)建數(shù)據(jù)庫

mysqladmin-ptest-uroot

數(shù)據(jù)恢

4createmysqldb

復(fù)

②創(chuàng)建表

cat/backup/mysqldb/*.sql

|mysql-ptest-uroot

mysql

③導(dǎo)入數(shù)據(jù)

mysqlimportmysqldb

/backup/mysqldb_bk/*.txt

2.只恢復(fù)表數(shù)據(jù)的恢復(fù)

導(dǎo)入數(shù)據(jù)

mysqlimport-dmysqldb

/backup/mysqldb_bk/*.txt

每天對數(shù)據(jù)庫的健康狀態(tài)、

可用性、日志文件、備份情

況、數(shù)據(jù)庫的空間使用情

況、系統(tǒng)資源的使用情況進

日常巡行檢查,發(fā)現(xiàn)并解決問題。

5

1、確認所有的數(shù)據(jù)庫

狀態(tài)正常

ps-ef|grepmysqld

netstat-ant|grep3306

mysqladmin-uroot-p

version

2、檢查文件系統(tǒng)的使

用(剩余空間)

df-h|grep$basedir(程序

目錄)

df-h|grep$datadir(數(shù)據(jù)

目錄)

3、檢查日志文件和告

警文件記錄

cat

$datadir/host_name.err|

greperror

4、檢查數(shù)據(jù)庫當(dāng)日備

份的有效性。

cat

$backupdir/mysqldb.txt|

greperror

5、檢查數(shù)據(jù)庫與表大

小的明細

>showdatabases

>showTABLESTATUS

FROMdbname

〃數(shù)據(jù)庫使用的空間相對磁

盤空間足夠即正常,并且單

個表沒有接近max大小

每月一次或重大項目上線

之前的例行檢查,收集系統(tǒng)

配置、數(shù)據(jù)庫配置、存儲情

況、備份有效性、性能狀況

深度巡

6等信息,分析系統(tǒng)現(xiàn)狀,對

內(nèi)存效率、數(shù)據(jù)庫連接、數(shù)

據(jù)庫線程、數(shù)據(jù)庫鎖等進行

分析,發(fā)現(xiàn)潛在問題并完成

調(diào)整。

健康性檢查檢查涉及到以

下三個方面,數(shù)據(jù)庫的穩(wěn)

定、安全和性能,具體包括:

1、檢查MySQL數(shù)據(jù)庫

連接時間(包括連接時

間及請求率)、請求統(tǒng)計

(包括請求率、接收字

節(jié)率及發(fā)送字節(jié)率);

>showvariableslike

'Bytes%

檢查

Bytes_received

Bytes_sent

Uptime

2、檢查MySQL數(shù)據(jù)庫

連接統(tǒng)計(包括打開的

連接數(shù)、中止的連接數(shù)

及中止的客戶端數(shù));

>showstatus;

檢查

Aborted_clients由于客戶

沒有正確關(guān)閉連接已經(jīng)死

掉,已經(jīng)放棄的連接數(shù)量。

Aborted_connects嘗試已

經(jīng)失敗的MySQL服務(wù)器的

連接的次數(shù)。

Threads_connected當(dāng)前

打開的連接的數(shù)量。

Max_used_connections

同時使用的連接的最大數(shù)

目,以

Max_used_connections

遠小于f中的最大連

接數(shù)目則正常。如果接近則

考慮增大最大數(shù)目。

3、檢查MySQL數(shù)據(jù)庫

線程明細(包括使用線

程數(shù)、緩沖內(nèi)線程數(shù)及

線程緩沖大?。?;

>show[full]processlist

>showstatuslike

'Threads%,;檢查

Threads_cached

Threads_connected

Threads_created

Threads_running

查看f中的

sort_buffer_size

4、檢查MySQL數(shù)據(jù)庫

表鎖統(tǒng)計(包括立即鎖

及等待鎖);

>showstatuslike'table%';

如果waited的數(shù)值比較

高,說明數(shù)據(jù)庫鎖爭用比較

嚴重

5、檢查MySQL數(shù)據(jù)庫

鍵效率(包括鍵命中、

使用的鍵緩沖及鍵緩沖

的大?。?

>SHOWSTATUSLIKE

'key_read%'

檢查Key_read_requests

和Key_reads,

key_reads/

key_read_requests應(yīng)該

盡可能的低,至少是

1:100,最好是1:1000

查看對應(yīng)的f文件中

key_buffer_size

6、檢查MySQL數(shù)據(jù)庫

請求緩存命中(包括請

求緩存命中、請求緩存

大小及請求緩存限制);

>SHOWSTATUSLIKE

'Qcache%'

檢查

Qcache_lowmem_prune,

Qcache_hits,

Qcache_total_blocks

Qcache_free_blocks

Qcachejowmem_prunes

的值非常大,則表明經(jīng)常出

現(xiàn)緩沖不夠的情況,如果

Qcache_hits的值也非常

大,則表明查詢緩沖使用非

常頻繁,此時需要增加緩沖

大??;如果Qcache_hits

的值不大,則表明你的查詢

重復(fù)率很低,這種情況下使

用查詢緩沖反而會影響效

率,那么可以考慮不用查詢

緩沖。

Qcache_free_blocks,如

果該值非常大,則表明緩沖

區(qū)中碎片很多,這就表明查

詢結(jié)果都比較小,此時需要

減小

query_cache_min_res_un

ito

7、檢查和解決數(shù)據(jù)庫

告警日志所示錯

誤。

每周對數(shù)據(jù)庫對象的空間

擴展情況、數(shù)據(jù)的增長情況

進行監(jiān)控、對數(shù)據(jù)庫做健康

檢查、對數(shù)據(jù)庫對象的狀態(tài)

做檢查。

1、監(jiān)控數(shù)據(jù)庫的空間

使用情況

周定期

7du-Im$datadir

維護

2、監(jiān)控數(shù)據(jù)表量的增

長情況

mysql>use

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論