日常要监视的主要目标有:用户数据库、数据库日志表(syslogsQ以及计费原始数据表{。如果发现占用空间过大,Ҏ志表要进行{储;对其他目标则应扩充空间或清楚垃圾数据?br />
3Q、监?SQL Server l计数字
使用pȝq程Qsp_monitor
说明Qsp_monitor 昄SQL Server 的历史统计数字,下表是某pȝ的统计数字:
18.创徏用户数据?br />
以下通过一个徏立数据库的脚本说明徏立数据库的过E:
//创徏数据库设备,讑֤大小以页Q?KQؓ单位
disk init
name="test_dbdev",
physname="/home/bk/test_dbdev.dat",
vdevno=5,
size=10240
go
disk init
name="test_logdev",
physname="/home/bk/test_logdev.dat",
vdevno=6,
size=5120
go
//创徏数据库TEST_DBQ其大小?0MQ日志大ؓ10M
create database TEST_DB
on test_dbdev=20
log on test_logdev=10
go
//打开数据?br />
use TEST_DB
go
-----------
举例说明Q?br />
DISK INIT
Name=’My_Device’,
Physname=’D:\database\My_device.dat’,
Vdevno=3
Size=5000
注释Q逻辑名、物理名、设备虚拟号、设备大?br />
------------------------
创徏用户数据?br />
Create Database 数据库名
On 讑֤_1=Size_1,//单位QM
讑֤_2=Size_2,
……
log on 日志讑֤=Log_Size
[With Override]//在同一讑֤上创建数据库和事务日志时使用该选项
[For Load] //止用户讉K直到数据库的装入或恢复操作完成ؓ?br />
举例Q?br />
Create Database test_db
On data_dev=100,//单位QM
Index_dev=50
Log on log_dev=30
说明Q?br />
Q?Q将日志攑֜单独的设备上Q有利于数据库性能的提高;
Q?Q如果将数据库和日志攑֜同一讑֤上,׃能实现增量备份;
Q?Q通常System和DefaultD늾减范围到一个设备上Q如删除讑֤Index_dev上的SystemD和DefaultD,创徏新的D,用来存放专门的数据库对象
19.备䆾和恢复DB数据
dump database mydb to '/u01/mydb_full.bk'
go
dump tranaction mydb to '/u01/mydb_tran.bk'
go
load database mydb from '/u01/mydb_full.bk'
load transaction mydb from '/u01/mydb_tran.bk'
online database mydb
go
ps:采用增量备䆾后,严禁日志截断! 即禁止用:dump transaction sctf truncate_only 命o!
增量备䆾必须是在完整备䆾后的或上一ơ增量备份后Q中间若遇到日志截断Q后l的增量备䆾均告p|Q?br />
增量备䆾可以Ҏ需要,如每时备䆾一ơ,每次备䆾所需旉U?Q?U,所以时间极快?br />
ps: 单引号和双引号都能关闭shell对特D字W的处理。不同的是,双引h有单引号严格Q单引号关闭所有有Ҏ作用的字W,而双引号只要求shell忽略大多敎ͼ具体的说Q就是①元W号②反引号③反斜杠Q这3U特D字W不被忽略?不忽略美元符h味着shell在双引号内部也进行变量名替换?br />
*********************************************
下面资料来自SYBASE白皮?br />
1。客L字符集修?locales.dat
2.可以通过讄CHARSET驱动E序属性指定在应用E序中用的字符集?br />
或者设|jconnect字符集的Ҏ来设|?br />
3。查看字W集Q?br />
SERVERQsp_helpsort
go
CLIENTQselect @@client_csname
go
4.D?阀|
默认是三个段: system default logsegment
systemD? 数据库系l表存放?br />
defaultD? 未指明段的对象都存放在这?br />
logsegmentD?数据库的事务日志存放?br />
阀?threshold) :
建立阀? sp_addthreshold 库名,D名,自由I间,存储q程名字
删除阀? sp_dropthreshold 库名,D名,自由I间?
昄阀? sp_helpthreshold
理阀? sp_dboption
昄D늩间信?sp_helpsegment
阀值管理的程如下:
先徏存储q程:(下面的是日志的存储过E?原因:日志增长h不可预见?相比之下,数据增长h可预见?所以一般都建logsegment的阀值管?default的阀值管理可不徏)
create procedure szjj
@dbname varchar (30),
@segmentname varchar (30),
@space_left int,
@status int
as
dump transaction @dbname to "/tmp/bb.dat"
go
ps:上面是日志的存储q程,如果是数据的存储则用dump database...
查看当前日志自由I间情况:
sp_helpsegment logsegment
go
查看当前数据库数据自q间情?
sp_helpsegment default
go
查看当前阀值情?
sp_helpthreshold
go
查看当前D|?
sp_helpsegment
go
然后Ҏ自由I间来定阀值参?
sp_addthreshold test_db,logsegment,200,szjj
go
ps:当日志段的最后机会阀D越?试图往该日志段上记日志的用戯E默认是被挂?用下面的命o修改MASTER库参?让阀D越后事务就会滚.
use master
go
sp_dboption test_db,"abort tran on log full",true
go
5.l护
1Q对各ASE用户担当的角色和Ҏq行分派?br />
2Q管理和监视盘I间的用情c?br />
3Q数据库I间Q?br />
sp_helpdb 查看各库情况
alter database 扩充I间
dump tran 截断日志
4Q日常数据备份和恢复
5QSYBASE默认的服务器Q?br />
adaptive server:理整个数据库系l,包括用户 数据 资源{的理和控制?br />
backup server: 在备份和恢复时执行数据库的dump or load
xp server:执行扩展存储q程
monitor server:为性能调试分析采集数据?br />
historical server:保存来自monitor server的数据,以备来分析?br />
6。单模式启动SYBASE
1Q停止ASE数据库服?br />
2Q?/install/startserver -f RUN_servername -m
ps:windows下在服务的属性里?m?br />
7.license序列?br />
验证许可软g是否执行:*/bin/lmutil lmstat -c
手工启动:*/bin/lmgrd -c $lm_license_file&
启动许可理器:*/bin/lmgr
q行Q?/bin/lmutil lmreread
8.查看逻辑大?br />
select @@maxpagesize
9.启动关闭SYBASE
启动Q?/startserver -f RUN_servername
关闭Q登录后shutdownx据库服务 shutdown SYB_BACKUP兛_份服务器
10。帐L?br />
SA帐户初始口o为空Q具有SA和SSO角色。具有SSO的登录帐户可以添加其他登录帐戗?br />
1Q创建登录帐?br />
sp_addlogin login_name,password
go
2)修改帐户密码
sp_password caller_password,new_password,login_name
go
3)讄d帐户的缺省数据库(如果不指?默认是master?
sp_addlogin login_name,password,default_db
go
or
sp_modifylogin login_name,"defdb",db_name
go
4Qؓd帐户授予pȝ角色
sp_role "grant",role_name,login_name
go
or
grant role role_name to login_name
go
5)查看d帐户的信?br />
sp_displaylogin login_name
go
6)SYBASE常用角色Qsa sso oper
7)修改d密码
sp_password caller_passwd,new_passwd[,login_name]
8)删除sa_role的口?br />
alter role sa_role drop passwd
9Q创建数据库用户
sp_adduser loginname[,name_in_db[,grpname]]
go
10)d用户q授予查询权?br />
sp_adduser 权限 on 表名 to 用户?br />
11Q删除别?br />
sp_dropalias loginname
12)创徏用户自定义组
sp_addgroup grpname
go
13)扑֛SA密码
停止SYBASE服务--〉修改RUN_xxx,在命令行的最后加?psa--〉startserver -f RUN_xxx-->启动信息的最后会出来密码?br />
11。数据库理
1Q数据库选项的设|?br />
sp_dboption[dbname,optname,{,true|false}]
2)建库
create database dbname on data_device_name=size log on log_device_name=size
go
ps:size default is M
3)查看库大?sp_helpdb dbname
4)改变库的属主 sp_changedbowner loginname[,true]
5)扩展数据?br />
扩展数据I间Qalter database db_name on device_name
扩展日志I间: alter database db_name log on device_name
6)讄数据库ؓ单用h?可以在用戯中自动添加序L成器/自动截断事务日志模式
use master
go
sp_dboption db_name,"signle user",true
go
sp_dboption db_name,"trunc log on chkpt",true
go
sp_dboption db_name,"auto identity",true
use db_name
go
checkpoint
go
7)查看当前库的q程信息
sp_who
附录=====================================
Explanation
SQL commands are grouped into the following categories:
SQL commands that are not allowed in transactions at all.
SQL commands, such as Data Definition Language (DDL) commands, that are allowed in transactions only if the required database option (ddl in tran) is set to TRUE.
SQL commands that are allowed only if the transaction affects some other database. These commands include create table, drop table, and other commands that are run across databases to create or drop objects in another database when the database in which the objects are being created or dropped has the database option ddl in tran set to TRUE.
Error 226 occurs when Adaptive Server detects a command that is not allowed in a multi-statement transaction. A multi-statement transaction is a set of commands prefaced with the begin transaction command.
The following commands are never allowed in multi-statement transactions:
alter database
create database
dbcc reindex, dbcc fix_text
disk init
drop database
dump database, dump transaction
load database, load transaction
select into
set transaction isolation level
truncate table
update statistics
setuser
The following commands are not normally allowed in multi-statement transactions but you can use them if you use sp_dboption to set ddl in tran to TRUE first:
create default
create index
create procedure
create rule
create schema
create table
create trigger
create view
drop default
drop index
drop procedure
drop rule
drop table
drop trigger
drop view
grant
revoke
Action
If the command is allowed in a multistatement transaction when ddl in tran is set to TRUE, set ddl in tran to TRUE before running the transaction. Setting ddl in tran to TRUE causes locks on system tables and this can affect performance. You can check the current setting of ddl in tran with sp_helpdb.
If the command is never allowed in a multi-statement transaction, execute it outside the multi-statement transaction.