20世紀60年代以後,隨著計算機在數據管理領域的廣泛應用,人們對數據管理技術提出了更高的要求:希望組織面向企業或部門的數據,減少數據冗余,提供更高的數據享受能力,同時要求程序和數據具有更高的獨立性。當數據的邏輯結構發生變化時,不涉及數據的物理結構,也不影響應用程序,從而降低應用程序開發和維護的成本。數據庫技術就是在這樣的應用需求基礎上發展起來的。數據庫技術有以下特點:*面向企業或部門,以數據為中心組織數據,形成面向所有應用的綜合數據庫。*采用某種數據模型。數據模型不僅要描述數據本身的特征,還要描述數據之間的關系。*數據冗余小,易於修改和擴展。不同的應用根據處理需求從數據庫中獲取所需的數據,減少了數據的重復存儲,便於添加新的數據結構和維護數據的壹致性。*程序和數據高度獨立。*有了良好的支持界面,用戶可以方便地開發和使用數據庫。*統壹管理和控制數據,提供數據安全性、完整性和並發控制。數據庫的日常維護(參考)數據庫的日常維護是系統管理員的重要職責。其內容主要包括以下幾個部分:1 .備份系統數據SYBASE系統的備份和恢復機制確保了系統出現故障時重新獲得數據的可能性。SQL Server提供了兩種不同類型的恢復機制:壹種是系統自動恢復,每次系統啟動時自動進行,確保系統崩潰前完成的所有事務都寫入數據庫設備,而所有未完成的事務回滾;另壹種是手動恢復,通過DUMP和LOAD命令進行手動備份和恢復。因此,定期備份事務日誌和數據庫是壹項非常重要的日常維護工作。1,備份數據庫每個數據庫在創建後都要卸載,這樣就提供了壹個加載基點。之後按照預定的時間段排出。比如每周五卸載數據庫。建議壹般數據庫系統的卸載周期為每周壹次。除了按照計劃的周期卸載數據庫,還需要在每次沒有日誌的操作後卸載數據庫。比如每次都強制運行帶NO_LOG的轉儲TRAN(因為數據庫的磁盤溢出);每次都使用sp_dboption以允許SELECT INTO/bulkcopy進行快速復制,或者使用SELECT INTO命令創建永久表,或者使用WRITETEXT命令。卸載數據庫的命令是:dump database database _ name to dump_device database _ name是要卸載的數據庫的名稱,dump _ device是卸載設備的名稱。可以使用系統過程sp_helpdevice來獲取設備的信息。以下命令用於卸載數據庫my _ db:dump database my _ dbtodb _ bk _ de v2,並備份事務日誌。如果事務日誌與數據庫放在同壹臺設備上,則不應與數據庫分開備份。小於4M的主數據庫和用戶數據庫就是這種情況。通常,數據庫系統的數據庫和日誌放在不同的設備上,因此可以使用轉儲TRAN命令分別備份日誌。事務日誌備份的周期直接影響數據恢復的程度,建議每天備份。備份事務日誌的命令格式為:dump transaction database_name[to dump _ device][with truncate _ only | with no _ log | with no _ truncate],其中database _ name是要備份的事務的數據庫名稱。Dump_device是備份設備的名稱,僅當它包含WITH TRUNCATE_ONLY或WITH NO_LOG子句時,才能備份到該設備。註意:如果您總是使用轉儲數據庫而不是轉儲TRAN,事務日誌將不會刷新,但會變得非常大。對於主數據庫和小型數據庫,應該在每次轉儲數據庫運行後運行轉儲事務命令來刷新日誌。以下命令將數據庫db160的事務日誌備份到備份設備:dump transaction DB 160 to DB _ log _ bk _ dev with truncate _ only 3。在至少卸載壹次數據庫之前卸載事務日誌,備份數據庫與其日誌之間的交互是沒有意義的。下圖顯示了備份數據庫及其日誌之間的關系。如果周二下午5: 01出現非硬件故障,那麽需要做的全部工作就是加載磁帶5(見下壹節:數據恢復)。由於磁帶5剛剛在下午5: 00備份,因此在備份和加載之間的壹分鐘內只有數據丟失。但是如果在周二下午4: 49到期會怎麽樣呢?在這種情況下,應該裝入磁帶1(星期五下午5: 00卸載)。然後,依次裝入磁帶2、3和4。這樣系統會回到周二早上10: 00的狀態,周二的大部分工作都會丟失。這個例子顯示了頻繁卸載事務的重要性。第二,在系統故障的情況下恢復數據庫系統。如果用戶數據庫中存儲的設備出現故障,數據庫損壞或無法訪問,可以通過加載最新的數據庫備份和後續的事務日誌備份來恢復數據庫。假設當前事務日誌存在於未損壞的設備上,則帶有WITH NO_TRUNCATE選項的DUMP TRANsaction命令會卸載它。若要還原數據庫,請按照下列步驟操作:1。如果日誌存在於單獨的設備上,請使用帶有NO_TRUNCATE選項的DUMP TRANsaction命令來卸載損壞的或不可訪問的用戶數據庫事務日誌。2.使用以下查詢來檢查損壞的數據庫的設備使用情況。必須為相同的目的分配相同的空間塊。以下查詢顯示了分配給數據庫的mydb設備的使用情況和大小:SELECT segmap,size from sys usages where dbid =(SELECT dbid from sysdatabases where name = " mydb ")3 .檢查查詢的輸出。在segmap列中,“3”表示數據分配,“4”表示日誌分配。size列表示2K數據塊的數量。註意這些信息的順序、用法和大小。例如,輸出為seg map size-310240//實際大小為20M35120//實際大小為10m45120。如果系統報告錯誤,請使用DBCC DBREPAIR命令的DROPDB選項。5.刪除數據庫後,使用sp_dropdevice刪除損壞的設備。6.用DISK INIT初始化新的數據庫設備。7.重建數據庫。使用CREATE DATABASE命令從舊的sysusages表中復制所有行,包括第壹個邏輯設備。對於上面的例子,命令是:在data dev 1 = 20上創建數據庫mydb,在log dev 1 = 108上創建data dev 2 = 10 log,並使用ALTER DATABASE命令重建其余的門戶。在此示例中,在datadev1上分配更多空間。命令是:alter database mydb on data dev 1 = 2[page]9。用LOAD DATABASE重新加載數據庫,然後用LOAD TRAN加載以前卸載的日誌。LOAD DATABASE命令的語法是:LOAD DATABASE DATABASE _ name from dump _ device LOAD transaction命令的語法是:卸載數據庫和事務日誌的默認權限屬於數據庫所有者,可以傳遞給其他用戶;加載數據庫和事務的權限也屬於數據庫所有者,但不能傳遞。2、生成用戶信息表,並對信息表進行授權;系統維護人員的另壹項日常工作是為用戶創建新的信息表,並對其進行授權。創建表和授權表的方法已經討論過了,這裏只寫相關的命令語法。創建表的命令是:create table table _ name(Column _ 1 data type[null | not null | identity],Column _ 2...)go alter TABLE _ name add primary key(column _ list)go刪除表的命令格式為:DROP TABLE table_namego授權表的命令格式為:GRANT {ALL|permission_list}。在table _ name to user _ name go上,撤消權限的命令格式是revoke { all | permission _ list } on table _ name from user _ name go III。監控系統運行,及時處理系統錯誤;系統管理員的另壹項日常工作是監控系統運行。主要有以下幾個方面:1。監控當前用戶和進程的信息。使用系統進程:sp_who描述:該命令顯示當前系統的所有註冊用戶和進程信息。下表顯示了某個系統的信息。spidstatusloginamehostname blkdbnamecmd-1 runningsacsysv 0 Master select2 Sleeping Null 0主網絡句柄3 Sleeping Null 0主死鎖調優4 Sleeping Null 0主鏡像句柄5 Sleeping Null 0主管家6 Sleeping Null 0主檢查點Sleep從左到右顯示:進程號、當前狀態、註冊用戶名、主機名、占用的塊、數據庫名和當前命令。如果在監控過程中發現進程總數接近最大連接數(通過系統過程查看:sp _ configure“user conn”),則應丟棄不活動或不相關的進程,以保證系統的正常運行;此外,它還可以監控非法用戶或使用不屬於自己使用範圍的數據庫的用戶。2.監視目標占用的空間使用系統進程:sp_spaceused描述:該進程顯示當前數據庫中壹個目標或所有目標占用的行數、數據頁數和空間。下表是壹個數據庫日誌表的信息:name row _ total reserved data index _ size unused-。如果發現占用空間過大,轉儲日誌表;對於其他目標,應該擴展空間或清除垃圾數據。3.監視SQL Server統計數據的使用系統進程:sp_monitor描述:sp_monitor顯示SQL Server的歷史統計數據。下表是某系統的統計:last _ run current _ run秒-。01pm 5678 CPU _ busy IO _ busy idle-16(6)-0% 0(0)-0% 5727(5672)-99% Packets _ received Packets _ sent packet _ errors-21(17)100(97)0(0)Total _ read Total _ write Total _ errors connections-785(366)3654334.確保系統數據安全,定期更改用戶密碼;為了保證系統數據的安全,系統管理員必須根據系統的實際情況實施壹系列的安全措施。其中,定期更改用戶密碼是壹種常見且非常有效的措施。通過調用系統過程sp_password可以更改用戶密碼。Sp_password的語法是:sp _ passwordcaller_password,new_password [,登錄名],其中caller_password是登錄密碼(舊密碼),new_password是新密碼和登錄名。在百度搜索:數據庫的日常維護(參考)相關章節SYBASE存儲過程的建立和使用SYBASE dbcc電信企業參與競爭的利器——數據倉庫和數據挖掘SCOUNIX下磁帶機的安裝和備份(存儲過程)編寫經驗和優化措施——SYBASE數據庫日誌常用數據庫系統的比較——SYBASE和SQL server SYBASE FOR LINUX安裝和perl連接SYBASESybase數據庫應用程序(1)安裝SYBASE ASE