<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    不能停止

    運(yùn)動(dòng),游玩,學(xué)習(xí),我的愛不能停止

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      5 隨筆 :: 3 文章 :: 8 評(píng)論 :: 0 Trackbacks
    數(shù)據(jù)庫(kù)日常維護(hù)工作是系統(tǒng)管理員的重要職責(zé)。其內(nèi)容主要包括以下幾個(gè)部分:

      一、備份系統(tǒng)數(shù)據(jù)

      sybase 系統(tǒng)的備份與恢復(fù)機(jī)制保證了在系統(tǒng)失敗時(shí)重新獲取數(shù)據(jù)的可能性。sql server 提供了兩種不同類型的恢復(fù)機(jī)制:一類是系統(tǒng)自動(dòng)完成的恢復(fù),這種措施在每次系統(tǒng)啟動(dòng)時(shí)都自動(dòng)進(jìn)行,保證了在系統(tǒng)癱瘓前完成的事務(wù)都寫到數(shù)據(jù)庫(kù)設(shè)備上,而未完成的事務(wù)都被回退;另一類是人工完成的恢復(fù),這是通過 dump 和 load 命令來執(zhí)行人工備份和恢復(fù)工作。因此定期備份事務(wù)日志和數(shù)據(jù)庫(kù)是一項(xiàng)十分重要的日常維護(hù)工作。

      1、備份數(shù)據(jù)庫(kù)

      每一個(gè)數(shù)據(jù)庫(kù)都應(yīng)在創(chuàng)建之后卸出,從而提供一個(gè)裝入基點(diǎn)。在此之后按排定的時(shí)間周期表卸出。比如每周五卸出數(shù)據(jù)庫(kù)。對(duì)一般數(shù)據(jù)庫(kù)系統(tǒng)卸出數(shù)據(jù)庫(kù)周期建議為每周一次。

      除了按計(jì)劃周期卸出數(shù)據(jù)庫(kù)之外,還需在每次運(yùn)行沒有日志的操作后卸出數(shù)據(jù)庫(kù)。例如:

      ·每次強(qiáng)制地運(yùn)行了 dump tran with no_log (因?yàn)閿?shù)據(jù)庫(kù)的磁盤空溢出);

      ·每次用 sp_dboption 允許 select into/bulkcopy 做快速拷貝,或用 select into 命令創(chuàng)建一個(gè)永久性的表,或使用了 writetext 命令。

      卸出數(shù)據(jù)庫(kù)的命令為:

      dump database database_name

      to dump_device

      database_name 是要卸出的數(shù)據(jù)庫(kù)名稱,dump_device 是卸出設(shè)備的名稱。用系統(tǒng)過程 sp_helpdevice 可以獲得設(shè)備的信息。

      下面一條命令用來卸出數(shù)據(jù)庫(kù) my_db :

      dump database my_db

      to db_bk_dev

      2、備份事務(wù)日志

      如果事務(wù)日志與數(shù)據(jù)庫(kù)放在同一個(gè)設(shè)備上,則事務(wù)日志不應(yīng)與數(shù)據(jù)庫(kù)分開備份。master 數(shù)據(jù)庫(kù)和小于 4m 的用戶數(shù)據(jù)庫(kù)就是這種情況。一般數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)庫(kù)和日志分別放在不同的設(shè)備上,因此,可以用 dump tran 命令單獨(dú)備份日志。

      備份事務(wù)日志的周期直接影響數(shù)據(jù)的恢復(fù)程度,因此建議每天備份。

      備份事務(wù)日志的命令格式為:

      dump transaction database_name

      [to dump_device]

      [with truncate_only|with no_log|with no_truncate]

      其中 database_name 是要備份事務(wù)的數(shù)據(jù)庫(kù)名稱,dump_device 是備份設(shè)備名稱,僅當(dāng)包含了 with truncate_only 或 with no_log 子句時(shí),才可以備份到設(shè)備。

      注意:如果總是用 dump datebase (備份數(shù)據(jù)庫(kù)及其日志),而不用 dump tran ,事務(wù)日志將不會(huì)刷新,而變得非常龐大。

      對(duì)于 master 數(shù)據(jù)庫(kù)和小型數(shù)據(jù)庫(kù)每次運(yùn)行 dump datebase 之后應(yīng)當(dāng)運(yùn)行 dump transaction 命令刷新日志 。

      下面一條命令備份數(shù)據(jù)庫(kù) db160 的事務(wù)日志到備份設(shè)備上:

      dump transaction db160

      to db_log_bk_dev

      with truncate_only

      3、備份數(shù)據(jù)庫(kù)及其日志間的相互作用

      在至少卸出一次數(shù)據(jù)庫(kù)前,卸出事務(wù)日志是毫無意義的。下圖顯示了備份數(shù)據(jù)庫(kù)及其日志間的關(guān)系

      如果在星期二下午5:01出現(xiàn)非硬件故障,需要做的所有工作是裝入磁帶5(參見下一節(jié):數(shù)據(jù)恢復(fù)),由于磁帶5是下午5:00剛備份的,因此只有備份和裝入之間的一分鐘內(nèi)的數(shù)據(jù)損失。

      但是,如果在星期二下午4:49失效會(huì)怎么樣呢?在這種情況下,要裝入磁帶1(在星期五下午5:00的卸出)。然后,依次裝入磁帶2,3以及4。這樣,系統(tǒng)將恢復(fù)到星期二上午10:00點(diǎn)的狀態(tài),星期二的大部分工作丟失了。此例顯示了經(jīng)常卸出事務(wù)的重要性。

      二、萬一系統(tǒng)失敗時(shí)恢復(fù)數(shù)據(jù)庫(kù)系統(tǒng)

      如果用戶數(shù)據(jù)庫(kù)存儲(chǔ)的設(shè)備失效,從而數(shù)據(jù)庫(kù)被破壞或不可存取,通過裝入最新的數(shù)據(jù)庫(kù)備份以及后來的事務(wù)日志備份可以恢復(fù)數(shù)據(jù)庫(kù)。假設(shè)當(dāng)前的事務(wù)日志存在于一個(gè)并沒有毀壞的設(shè)備上,帶著 with no_truncate 選項(xiàng)的 dump transaction 命令卸出它。

      要恢復(fù)數(shù)據(jù)庫(kù)按如下步驟去做:

      1、如果日志存在于一個(gè)分離的設(shè)備上,用帶著 no_truncate 選項(xiàng)的 dump transaction 命令卸出被毀壞的或者不可存取的用戶數(shù)據(jù)庫(kù)事務(wù)日志。

      2、用下面的查詢檢查設(shè)備分配已毀壞數(shù)據(jù)庫(kù)的設(shè)備使用情況。必須為同一目的賦同樣的空間塊。

      下面的查詢顯示了分配給數(shù)據(jù)庫(kù) mydb 設(shè)備使用和尺寸情況:

      select segmap,size from sysusages

      where dbid =

      ( select dbid from sysdatabases where name = “mydb”)

      3、檢查查詢的輸出。在 segmap 列的 ‘3’代表數(shù)據(jù)分配,‘4’代表日志分配。size 列代表 2k 數(shù)據(jù)塊的數(shù)目。注意此信息的次序、使用和尺寸部分。例如,輸出為:

      segmapsize

      --------------------

      310240//實(shí)際尺寸為:20m

      35120//實(shí)際尺寸為:10m

      45120//實(shí)際尺寸為:10m

      31024//實(shí)際尺寸為:2m

      42048//實(shí)際尺寸為:4m

      4、用 drop database 命令刪除毀壞設(shè)備上的數(shù)據(jù)庫(kù)。如果系統(tǒng)報(bào)錯(cuò),用dbcc dbrepair 命令的 dropdb 選項(xiàng)。

      5、刪除數(shù)據(jù)庫(kù)后,用 sp_dropdevice 刪除毀壞了的設(shè)備。

      6、用 disk init 初始化新的數(shù)據(jù)庫(kù)設(shè)備。

      7、重建數(shù)據(jù)庫(kù)。用 create database 命令從老的 sysusages 表拷貝所有的行,并包含第一邏輯設(shè)備。

      對(duì)上例,命令為:

      create database mydb

      on datadev1=20,datadev2=10

      log on logdev1=10

      8、用 alter database 命令重建其余入口。在此例中,在datadev1上分配更多的空間,命令為:

      alter database mydb on datadev1=2

      9、用 load database 重新裝入數(shù)據(jù)庫(kù),然后用 load tran 裝入前面卸出的日志。

      load database 命令語法是:

      load database database_name

      from dump_device

      load transaction 命令的語法是:

      load transaction database_name

      from dump_device

      卸出數(shù)據(jù)庫(kù)和事務(wù)日志的缺省權(quán)限歸數(shù)據(jù)庫(kù)所有者,且可以傳遞給其他用戶;裝載數(shù)據(jù)庫(kù)和事務(wù)的權(quán)限也歸數(shù)據(jù)庫(kù)所有者,但不能傳遞。

      二、產(chǎn)生用戶信息表,并為信息表授權(quán);

      系統(tǒng)維護(hù)人員的另一個(gè)日常事務(wù)是為用戶創(chuàng)建新的信息表,并為之授權(quán)。創(chuàng)建表以及為表授權(quán)的方法已經(jīng)在講過,在此只將有關(guān)命令語法寫出來。

      ·創(chuàng)建表的命令為:

      create table table_name

      ( column_1 datatype [null | not null | identity],

      column_2 ……

      )

      go

      alter table table_name

      add primary key (column_list)

      go

      ·刪除表的命令格式為:

      drop table table_name

      go

      ·為表授權(quán)的命令格式為:

      grant {all|permission_list}

      on table_name to user_name

      go

      ·收回權(quán)限的命令格式為

      revoke {all|permission_list}

      on table_name from user_name

      go

      三、監(jiān)視系統(tǒng)運(yùn)行狀況,及時(shí)處理系統(tǒng)錯(cuò)誤;

      系統(tǒng)管理員的另一項(xiàng)日常工作是監(jiān)視系統(tǒng)運(yùn)行情況。主要有以下幾個(gè)方面:

      1、監(jiān)視當(dāng)前用戶以及進(jìn)程的信息

      使用系統(tǒng)過程:sp_who

      說明:該命令顯示當(dāng)前系統(tǒng)所有注冊(cè)用戶及進(jìn)程信息,如下表是某系統(tǒng)的信息。

      spidstatusloginamehostnameblkdbnamecmd

      ---------------------------------------------------------------

      1runningsascosysv0masterselect

      2sleepingnull0masternetwork handle

      3sleepingnull0masterdeadlock tune

      4sleepingnull0mastermirror handler

      5sleepingnull0masterhousekeeper

      6sleepingnull0mastercheckpoint sleep

      從左向右依次顯示:進(jìn)程號(hào)、當(dāng)前狀態(tài)、注冊(cè)用戶名、主機(jī)名、占用塊數(shù)、數(shù)據(jù)庫(kù)名以及當(dāng)前命令。

      如果監(jiān)視時(shí)發(fā)現(xiàn)進(jìn)程總數(shù)接近最大連接數(shù)(用系統(tǒng)過程:sp_configure “user conn” 查看)時(shí),應(yīng)下掉不活動(dòng)或無關(guān)進(jìn)程,以保證系統(tǒng)正常運(yùn)做;另外亦可監(jiān)視非法用戶或用戶使用不屬于自己使用范圍的數(shù)據(jù)庫(kù)等情況。

      2、監(jiān)視目標(biāo)占用空間情況

      使用系統(tǒng)過程:sp_spaceused

      說明:該過程顯示行數(shù)、數(shù)據(jù)頁(yè)數(shù)以及當(dāng)前數(shù)據(jù)庫(kù)中由某個(gè)目標(biāo)或所有目標(biāo)所占用的空間。如下表是某數(shù)據(jù)庫(kù)日志表的信息:

      namerow_totalreserveddataindex_sizeunused

      ------------------------------------------------------------

      syslogsnot avail32kb32kb0kbnot avail

      日常要監(jiān)視的主要目標(biāo)有:用戶數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)日志表(syslogs)以及計(jì)費(fèi)原始數(shù)據(jù)表等。如果發(fā)現(xiàn)占用空間過大,對(duì)日志表要進(jìn)行轉(zhuǎn)儲(chǔ);對(duì)其他目標(biāo)則應(yīng)擴(kuò)充空間或清楚垃圾數(shù)據(jù)。

      3、監(jiān)視 sql server 統(tǒng)計(jì)數(shù)字

      使用系統(tǒng)過程:sp_monitor

      說明:sp_monitor 顯示sql server 的歷史統(tǒng)計(jì)數(shù)字,下表是某系統(tǒng)的統(tǒng)計(jì)數(shù)字:

      last_runcurrent_runseconds

      ---------------------------------------------------------------

      may 13 2000 1:27pmmay 13 2000 3:01pm5678

      cpu_busyio_busyidle

      ---------------------------------------------------------------

      16(6)-0%0(0)-0%5727(5672)-99%

      packets_receivedpackets_sentpacket_errors

      ---------------------------------------------------------------

      21(17)100(97)0(0)

      total_readtotal_writetotal_errorsconnections

      --------------------------------------------------------

      785(366)311(113)0(0)3(2)

      上表依次給出該系統(tǒng)本次運(yùn)行統(tǒng)計(jì)的上一次時(shí)間、本次時(shí)間、間隔秒數(shù)、cpu占用、io占用、收發(fā)包情況、系統(tǒng)讀入寫出情況等信息

      四、保證系統(tǒng)數(shù)據(jù)安全,周期更改用戶口令;

      為保證系統(tǒng)數(shù)據(jù)的安全,系統(tǒng)管理員必須依據(jù)系統(tǒng)的實(shí)際情況,執(zhí)行一系列的安全保障措施。其中,周期性的更改用戶口令是比較常用且十分有效的措施。

      更改用戶口令是通過調(diào)用系統(tǒng)過程sp_password 來實(shí)現(xiàn)的。sp_password 的語法為:

      sp_password caller_password,new_password [,loginame]

      其中caller_password 是登錄口令(老口令),new_password是新口令,loginame是登錄名稱。

    posted on 2005-10-26 17:46 快樂的射手 閱讀(992) 評(píng)論(1)  編輯  收藏 所屬分類: DATABASE

    評(píng)論

    # re: Sybase數(shù)據(jù)庫(kù)日常維護(hù)(參考) 2009-05-16 12:42 廣泛
    能告訴我下這文章的英文出處嗎,我郵箱sgcf198786@163.com!謝謝了  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 免费观看a级毛片| 亚洲国产精品SSS在线观看AV | 亚洲国产一区在线观看| 久久久久国色AV免费观看性色| 亚洲成av人片天堂网无码】| 爱情岛论坛网亚洲品质自拍| 18以下岁毛片在免费播放| 性色av极品无码专区亚洲| 国产亚洲精AA在线观看SEE| 精品久久久久成人码免费动漫 | 亚洲午夜免费视频| 日韩高清在线免费看| 黄色免费在线网站| 亚洲精品国产av成拍色拍| 久久久亚洲精品国产| 色吊丝最新永久免费观看网站| 免费看少妇高潮成人片| 亚洲精品一卡2卡3卡四卡乱码| 国产V亚洲V天堂无码久久久| 日本一区二区三区日本免费| 久久成人免费播放网站| 真人无码作爱免费视频| 精品亚洲成在人线AV无码| 亚洲精品色午夜无码专区日韩| 在线免费观看视频你懂的| 95免费观看体验区视频| 一个人免费观看日本www视频| 亚洲AV成人一区二区三区在线看 | 亚洲国产成人资源在线软件| 中文字幕亚洲图片| 国产国产人免费人成免费视频| 最好看的中文字幕2019免费| jizz免费在线影视观看网站| 亚洲精品自偷自拍无码| 亚洲成a人片毛片在线| 亚洲人成网站在线观看播放| 国产一级一片免费播放i| 午夜影视在线免费观看| 1000部禁片黄的免费看| 秋霞人成在线观看免费视频| 国产精品99爱免费视频|