程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> 系統集成備忘(Sybase 12.5測試之一)

系統集成備忘(Sybase 12.5測試之一)

編輯:SyBase綜合文章
1 概述
70年代,隨著大型共享數據庫應用的普及,美國SYBASE公司基於當時的關系代數理論所提出的數據庫關系模型,開發了Sybase數據庫系統;
Sybase是基於SQL(Structured Query Language)的著名關系模型數據庫系統,是世界上最流行的DBMS軟件之一;它能在多種計算機硬件平台上運行,並能通過連網形成分布式數據庫環境;
SQL Server是指運行在主機上,能提供SQL語言查詢、修改或控制數據庫中內容等操作的一個服務進程,形象地把它理解為一個數據庫服務器;一般地數據庫服務器有Data Server 和 Backup Server兩個服務進程組成。數據庫就是一系列表格(關系)所描述的客觀世界中事實的集合;Sybase中的系統數據庫基本包括有:master、model、sysprocs、tempdb,其它為用戶庫。
Sybase Adaptive Server Enterprise 12.5是Sybase公司開發的智能型數據庫。

現場Sybase數據庫系統結構

1.1 參考資料
《Sybase 數據庫維護 快速參考手冊 Version 1.1》,Sybase公司出版

2 基礎操作、配置和維護
2.1 安裝Sybase 12.5
包括安裝前環境配置、安裝過程說明、安裝成功測試、卸載等。
(詳細請參考V1.00》)

2.2 訪問SQL Server
在安裝配置好的Sybase服務器,可以通過以下操作開始訪問SQL Server進行數據的查詢和控制等操作:
 % isql –U用戶名 –S服務名
passWord: //該處輸入該明戶的密碼

2.3 Sybase的啟動和關閉
2.3.1 啟動Sybase數據庫
在$SYBASE/ASE-12_5/install目錄下執行startserver命令啟動Sybase數據庫,如:
%$Sybase/ASE-12_5/install/startserver -f RUN_服務名
%$Sybase/ASE-12_5/install/Startserver –f RUN_服務名_BAKUP

2.3.2 關閉Sybase數據庫
使用isql命令登錄Sybase數據庫系統,在查詢sysservers表查看可關閉的服務,如
isql –Usa -Sjoli
PassWord:
1> select * from sysservers
2> go
一般需要關閉的服務有:系統備份服務、系統主服務
在isql提示裡先關閉系統備份服務(默認為SYB_BACKUP),再關閉主服務(默認可以不輸入主服務名),如:
1>shutdown SYB_BACKUP
2>go
1>shutdown
2>go

2.4 Sybase用戶管理
2.4.1 創建登錄用戶(login)
sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]]
例子:
1> sp_addlogin joli,joli,joli_db
2> go


2.4.2 刪除登錄用戶(login)
例子:
1> sp_droplogin test
2> go
2.4.3 創建數據庫用戶(user)
sp_adduser login_name[,name_in_db[,grpname]]
例子:
1> sp_adduser joli,joli
2> go
2.4.4 刪除數據庫用戶(user)
例子:
1> sp_dropuser test
2> go
2.4.5 修改該用戶為該數據庫dbo
例子:
1>use joli_db
3> sp_changedbowner joli

2.4.6 查看數據庫用戶信息
sp_displaylogin [login_name]
sp_helpuser
例子:
1> sp_helpuser
2> go
1> sp_displaylog joli
2> go
1> sp_who
2> go

2.4.7 修改用戶口令
如果是修改sa口令,可用sa用戶登錄,然後執行以下命令修改
1>sp_password “舊命令 | null”,”new_passWord”
2>go
如果不是sa用戶,則使用希望修改口令的user登錄數據庫,然後執行
1> sp_passWord 舊命令,新命令
2> go

2.4.8 修改系統缺省設備
• 關閉創建數據庫master缺省設備:
• 1>exec sp_diskdefault "master","defaultoff"
• 指定user_db_dev為缺省設備:
• 1>exec sp_diskdefault "user_db_dev","defaulton"


2.5 創建、刪除、修改Sybase設備、數據庫
2.5.1 創建設備
例子:
1> disk init
2> name="joli_dev",
3> physname="/opt/Sybase/joli/joli_dev.dat",
4> vdevno=9,
5> size=51200
6> go

說明:
物理設備名稱為:joli_dev
物理設備文件路徑為:/opt/Sybase/joli/joli_dev.dat
設備編號(該號不能重復)為:9
大小(單位為2K)為:100M
(一般為用戶數據庫創建一個數字設備後,再單獨為用戶數據庫創建一個日志設備)

2.5.2 鏡像設備
例子:
1> disk mirror
2> name="joli_dev",
3> mirror="/opt/Sybase/joli/joli_dev_mirror.dat"
4> go

說明:
創建設備joli_dev的鏡像,鏡像後的鏡像設備為/opt/Sybase/joli/joli_dev_mirror.dat。
檢查某設備是否被鏡像,可使用“sp_helpdevice 設備名”查看。

2.5.3 終止設備鏡像
您正在看的sybase教程是:系統集成備忘(Sybase 12.5測試之一)。
終止設備可分為:終止主設備和終止次設備兩類,同時還可選擇是臨時性終止還是永久性終止。(如果是永久終止,還需要在操作系統上刪除物理設備文件)
disk unmirror
name="設備名"
[,side=”{primary|secondary}]”
[,mode={retain|remove}]
//終止主/次設備:primary/secondary (缺省次)
//臨時/永久終止:retain/remove (缺省臨時)

例子:
1)臨時終止主設備
1> disk unmirror
2> name="joli_dev",
3> side="primary",
4> mode=retain
5> go
2)永久終次主設備
1> disk unmirror
2> name="joli_log_dev",
3> side="primary",
4> mode=remove
5> go

 恢復臨時終止的鏡像:
例子:
1> disk remirror
2> name="joli_dev"
3> go

2.5.4 刪除設備
需要確定該設備上沒有數據庫。
例子:
1> sp_dropdevice test_dev
2> go
再刪除操作系統設備文件。

2.5.5 查看設備狀態
例子:
1> sp_helpdevice [設備名]
2> go
說明:
可查看設備是否鏡像(相關鏡像類型、是否有臨時取消鏡像等)等配置。



2.5.6 創建數據庫
例子:
1> create database joli_db on joli_dev=50 log on joli_log_dev=20
2> go

說明:
創建用戶數據庫joli_db,該數據庫數據存儲在設備joli_dev設備上,可使用大小為50M;日志存儲在joli_log_dev設備上,可使用大小為20M。

2.5.7 擴展數據庫:
alter database db_name on device_name=size,device_name=size log on device_name=size,device_name=size
例子:
1> alter database joli_db on joli_dev=10 log on joli_log_dev=5
2> go
說明:
數據庫joli_db在設備數字joli_dev上擴展10M,在日志設備joli_log_dev上擴展5M。

2.5.8 刪除數據庫:
drop database db_name
例子:
3> drop database joli_db
4> go

2.5.9 上線數據庫
例子:
1> online database db_name
2> go

2.5.10 檢查數據庫狀態
 一般性檢查
1>sp_helpdb
2>go
 系統性檢查
所有庫檢查:
1> dbcc checkdb
2> go
指定用戶數據庫檢查:
1> dbcc checkalloc(joli_db)
2> go

2.6 Sybase日志管理
在創建用戶數據庫的時候,應盡量為事務日志創建獨立的日志設備(一般創建為數據庫大小的20%),這樣可

以單獨備份事務日志、防止數據庫溢滿、可以看到事務日志的占用情況及可以鏡像等。
dump transaction db_name with truncate_only //不備份事務日志,直接清除。
dump transaction db_name with no log
dump transaction db_name to “路徑/名字” //備份事務日志
 檢查log大小
1> dbcc checktable(syslogs)
2> go
快速查看log大小
1> select data_pgs(8,doa mpg)
2> from sysindexes where id=8
3> go

2.7 修改Sybase系統缺省參數
可修改$SYBASE/ASE-12_5目錄 “服務名.cfg”文件,重新啟動Sybase服務來修改Sybase系統參數。
也可使用Sp_configure來修改部分動態參數。
 查詢當前所有的參數配置
1>sp_configure
2>go
 查詢可動態修改的參數
1>sp_configure “abcdef”
2>go
 查詢特定參數的配置情況
1>sp_configure “參數名
2>go”
 修改可動態配置的參數
1> sp_configure “參數名”,值
2> go

一般可視情況酌情修改以下參數:
cache size、number of open databases、number of open objects、number of open indexes、partition groups、number of large i/o buffers、number of devices、default network packet size、max network packet size、number of remote connections、number of remote logins、number of worker processes。

2.8 修改數據庫個例配置
每個在設備上創建的數據庫,都可設置如下參數:
abort tran


您正在看的sybase教程是:系統集成備忘(Sybase 12.5測試之一)。on log full、 allow nulls by default、 auto identity、 dbo use only、 ddl in tran、 disable alias Access、 identity in nonunique index、 no chkpt on recovery、 no free space acctg、 read only、 select into/bulkcopy/pllsort、 single user、 trunc log on chkpt、 trunc. log on chkpt.、 unique auto_identity index
可通過sp_dboption [db_name,"option_name",{true|false}]命令來修改這些參數的配置。
例子:
1> use master
2> go
1> sp_dboption joli_db,"trunc log on chkpt",true
2> go
說明:
檢查點時,清除以前的日志。如果設置為off,則一直保留日志,繼續增長,直到使用dump transaction命令。

2.9 網絡服務配置
 UNIX
在$Sybase目錄下,interfaces文件提供用戶服務名的配置。一般通過執行命令dsedit來做修改。
執行dsedit後,根據提示,一步一步的添加、修改即可完成配置。
 Windows
啟動dsedit,選擇server object->add,向server中新添一個數據源,在其屬性“server address”中輸入IP,Port(注意,IP地址和端口號間用“,”分隔,比如192.168.2.98,4100)。

2.10 檢查數據庫的版本
1> Select @@version
2> go

2.11 數據庫壞頁最小影響維護
在數據庫發生可疑壞時,會脫機整個數據庫(缺省),可以設置只脫機該可疑頁(系統數據庫不能改變)。
sp_setsuspect_granularity [dbname [,{"database"|"page"}[,"read_only"]]]
sp_setsuspect_threshold [dbname [,threshold]]
(必須具有sa_role且在master數據庫中使用)
 查看、修改數據庫當前脫機設置
1) 查看設置為數據庫脫機還是頁脫機
1> sp_setsuspect_granularity joli_db
2> go
2) 設置數據庫為頁脫機
1>p_setsuspect_granularity joli_db,”page”
3) 查看設置的最大脫機頁(缺省最大可可疑20頁,超出該20頁,一樣會脫機數據庫)
1> sp_setsuspect_threshold joli_db
2>go
4) 修改數據庫最大可脫機頁為300
1> sp_setsuspect_threshold joli_db,300
2>go
 顯示可疑頁:sp_listsuspect_db
 詳細顯示數據庫可疑頁信息:sp_listsuspect_page [dbname]
 使數據庫所有頁聯機聯機:sp_forceonline_db dbname,{"sa_on"|"sa_off"|"all_users"}
 使指定頁聯:sp_forceonline_page dbname,pgid {"sa_on"|"sa_off"|"all_users"} (//必須sa_sole在master中執行。)
2.12 其他常用維護
1) 可以執行命令$Sybase/sybcent32/scjvIEw使用圖形界面進行維護。
2) 查看$Sybase/ASE-12_5/install目錄下的日志文件(*.log)。
3) 使用一些過程:sp_reportstats、sp_helpdb、sp_helpsegment segment_name(system,log,default)(sp_helpsegment logsegment檢查可用於日志增長的空間)、sp_spaceused(sp_spaceused syslogs檢查日志大小)、dbcc checkdb & dbcc c

heckcatalog & dbcc checkalloc、sp_lock等;也可以查詢一些系統表:syslogs、master .. sysdevices、master .. sysusages、syssegments、sysindexes、sysdatabases等。
4) 查看當前啟動的服務:showserver。
5) >dbcc traceon (3604) 將信息顯示在控制台和寫入errorlog文件。;>go;>dbcc memusage;>go;>dbcc traceoff (3604);>go
use xxdb
checkpoint
sp_dboption mydb,"single user","true"
設置單用戶模式
sp_logiOSize "8k"
設置I/O為8K緩沖池

3 備份設置
3.1 備份到磁盤
 本地磁盤備份
例子:
1> dump database joli_db to “備份目標絕對路徑/備份文件名”
2> go

還可使用如下命令進行遠程備份
dump database_name to “/u01/data/0102.dmp” at remote_server
dump transaction database_name to “/u01/log/0102.dmp” at remote_server

3.2 備份到磁帶
dump database database_name to “/dev/nrmt4” with init &nbs


您正在看的sybase教程是:系統集成備忘(Sybase 12.5測試之一)。p; //初始化(設備被覆蓋)
dump database database_name to “/dev/nrmt4” //默認 noinit nounload
dump database datbase_name to “/dev/nrmt4” with unload //磁帶回卷並卸下
dump database 數據庫名 to “/dev/rmt/0”
dump transaction 數據庫名 to “dev/rmt/0” with no_truncate

3.3 恢復數據庫
 load database 數據庫名 from “dev/rmt/0”

3.4 建立自動備份
可先把Sybase數據庫備份到本地磁盤,壓縮後再備份到磁帶上。
1) 創建一個本地目錄或者遠程目錄的備份設備。
2) 創建一備份用戶。
3) 編寫備份腳本,並指定自動備份定時crontab任務。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved