Sybase常用维护命令
- 格式:doc
- 大小:43.00 KB
- 文档页数:8
以前的文档,整理时发现,贴出常用的命令集合一、配置命令1、检查CPU使用情况:sp_sysmon "internal","model"internal是监视时间。
例如:"00:01:00"model是模块的名称。
包括'kernel','wpm','parallel','taskmgmt','appmgmt','esp','housekeeper','monaccess','xa ctsum','xactmgmt','indexmgmt','mdcache','locks','dcache','pcache','memory','reco very','diskio','netio'2、检查使用的最大的引擎数(CPU)sp_configure "max online engines"此命令还可以改变sybase系统使用CPU的数量。
注意:改变后需要重新启动sybase才可以使培植生效。
引擎的数量是总的CPU数量减一3、显示引擎号、状态、相关任务数以及引擎启动的时间:select engine, status, affinitied, starttime from sysengines4、显示每个用户的繁忙程度sp_reportstats5、监视配置参数的运行情况sp_monitorconfig "open objects"参数见sp_monitorconfig中的值二、权限命令1、给一个用户授所有的权限grant all to user_name2、给一个用户授对某张表的所有权限grant all on table_name to user_name3、添加一个登录(login)sp_addlogin三、TSQL使用1、统计信息更新select "print '"+name+"'"+char(10)+"update statistics "+name+ char(10) + "go"from sysobjectswhere (type='U' or type='S')order by name2、显示所有触发器的名称、建立时间SELECT USER_NAME(A.uid) 'Table Owner', 'Table Name', 'Trigger Name',CONVERT(char(10),A.crdate,101)+SUBSTRING(CONVERT(char(20),A.c rdate,0),13,7) 'Create Date'FROM sysobjects A,sysobjects BWHERE A.type='TR'AND (A.id=B.instrig OR A.id=B.updtrig OR A.id=B.deltrig)3、关于参照--生成建立已有参照的SQL语句select distinct result_sql='alter table '+rtrim(object_name(tableid))+' add constraint '+rtrim(object_name(constrid))+' foreign key('++col_name(sysreferences.tableid,sysreferences.fokey1)+substring(',',1,sysre ferences.fokey2)+col_name(sysreferences.tableid,sysreferences.fokey2)+substring(',',1,sysre ferences.fokey3)+col_name(sysreferences.tableid,sysreferences.fokey3)+substring(',',1,sysre ferences.fokey4)+col_name(sysreferences.tableid,sysreferences.fokey4)+substring(',',1,sysre ferences.fokey5)+col_name(sysreferences.tableid,sysreferences.fokey5)+substring(',',1,sysre ferences.fokey6)+col_name(sysreferences.tableid,sysreferences.fokey6)+substring(',',1,sysre ferences.fokey7)+col_name(sysreferences.tableid,sysreferences.fokey7)+') '+'references '+rtrim(object_name(reftabid))+'('+col_name(sysreferences.reftabid,sysreferences.refkey1)+substring(',',1,sys references.refkey2)+col_name(sysreferences.reftabid,sysreferences.refkey2)+substring(',',1,sys references.refkey3)+col_name(sysreferences.reftabid,sysreferences.refkey3)+substring(',',1,sys references.refkey4)+col_name(sysreferences.reftabid,sysreferences.refkey4)+substring(',',1,sys references.refkey5)+col_name(sysreferences.reftabid,sysreferences.refkey5)+substring(',',1,sys references.refkey6)+col_name(sysreferences.reftabid,sysreferences.refkey6)+substring(',',1,sys references.refkey7)+col_name(sysreferences.reftabid,sysreferences.refkey7)+')'+char(10)+"go"from sysreferences,syscolumns,sysobjectswhere sysreferences.tableid=sysobjects.idand sysobjects.id=syscolumns.idand sysobjects.type='U'order by go--生成删除参照的SQL语句select distinct result_sql='alter table'+rtrim(object_name(sysreferences.tableid))+' drop constraint'+rtrim(object_name(sysreferences.constrid))+char(10)+"go"from sysreferences,syscolumns,sysobjectswhere sysreferences.tableid=sysobjects.idand sysobjects.id=syscolumns.idand sysobjects.type='U'order by object_name(sysreferences.tableid)go4、关于表级锁--列出所有锁类型为行锁的表select namefrom sysobjectswhere type='U'and sysstat2 & 57344 = 32768and name not like "XT%"order by name--调优的方法有:调整锁类型,调整表的聚簇索引--调整表锁类型为行锁,可以提高对表的并发访问性能,但是同时也会占用更多的系统资源--修改行锁的SQL语句:alter table [table_name] lock [datarows|allpages] ----调整表的聚簇索引在数据插入时,降低对表的最后一页的争用--Sybase规定一张表只能有一个聚簇索引,所以在调整聚簇索引时,要先删除原有的聚簇索引,然后再建立新的--例如将SB_ZSXX表的在ZSXH上聚簇索引修改为在NSRSBH上的聚簇索引.--删除原聚簇索引PK_SB_ZSXXdrop index SB_ZSXX.PK_SB_ZSXXgocreate nonclustered index PK_SB_ZSXX on SB_ZSXX(ZSXH)go-- 建立IDX_SB_ZSXX_NSRSBH的聚簇索引drop index SB_ZSXX.IDX_SB_ZSXX_NSRSBHgocreate clustered index IDX_SB_ZSXX_NSRSBH on SB_ZSXX(NSRSBH)go--以上的索引信息可以用sp_help命令列出5、求出指定字段等于指定值的记录数declare @lc_colname varchar(30)--declare @lc_colvalue /*定义欲求值的变量,随着变量的类型定义不同的值*/--取包含指定列名的表select distinct name=object_name(id) into #AA from syscolumns where name = @lc_colname--生成SQL,求出指定字段等于指定值的记录数select "insert into #BB select tname='"+name+"',cnt=count(*) from"+name+" where " + @lc_colname + "='" + @lc_colvalue + "'"+char(10)+"go"from #AA--运行SQL--检查记录不为零的表,既为求出的表select * from #BB where cnt>06、列出所有无主键的表select name from sysobjectswhere name not in (SELECT object_name(id)FROM sysindexesWHERE indid > 0AND status2 & 2 = 2and status & 2048 = 2048)and type="U"order by name7、关于用户登录--锁定用户select "sp_locklogin "+name+",'lock'"+char(10)+"go"from sysloginswhere name not like "%prim%"and name not like "%maint%"and name not like "sa"order by name--解除锁定的用户select "sp_locklogin "+name+",'unlock'"+char(10)+"go"from sysloginswhere name not like "%prim%"and name not like "%maint%"and name not like "sa"order by name8、为ctais_maint授权select "grant all on "+name+" to ctais_maint"+char(10)+"go" from sysobjects where type="U"9、整理出字段类型有text和image的表--text类型select distinct name=object_name(id)from syscolumnswhere type=35and id in (select id from sysobjects where type="U")order by object_name(id)--image类型select distinct name=object_name(id)from syscolumnswhere type=34and id in (select id from sysobjects where type="U")order by object_name(id)10、修改identity列的最大值--设置包含identity列的表为可直接插入记录set identity_insert [table] [on|off]--插入一个比较大的值insert into [table] values([value])[本帖最后由echoaix 于2006-4-8 22:25 编辑]命令行登录isql -Sservername -Usa -P1.安装字符集charset -Usa -Ppassword -Sservername binary.srt utf8charset -Usa -Ppassword -Sservername nocase.srt utf82.设置字符集sp_configure 'default charac',1733.设置排序sp_helpsortsp_configure 'default sortorder_id',1014.Sybase数据库数据和日志空间不能自动扩展,需要手工管理。
SYBASE 11.5数据库安装维护基本手册本文环境是在Windows 2000 server 上安装配置的一、SYBASE 11.5 的安装1、点击 SETUP 进行安装即可2、安装后的SYBASE 数据库的名字是以本机的名字命名的,如SERVER、SERVER_BS、SERVER_HS、SERVER_MS3、首先进入数据库,点用户名输入 sa,默认密码为空4、进入数据库=后,点 Dump Devices,在右边的视图中点右键,在弹出菜单中选 Dump Device 输入名字,如:control_dump,点Brows按钮,定位到F:DBcontrol_dump.dat点下一步,选择 Disk Dump Device即可5、创建Database Devices,点 Database Devices 项,在右边的视图中,在弹出的菜单中选New->Database Devices,创建数据空间,输入 control_data,定位到F:DBcontrol_data.dat,输入空间大小,如:300M;创建日志空间,输入control_log,定位到F:DBcontrol_log.dat,输入空间大小,如:200M;创建临时表空间,输入control_temp,定位到F:DBcontrol_temp.dat,输入空间大小,如:100M6、创建Database,点 Database 项,在右边的视图中,在弹出的菜单中选New->Database,输入数据库的名字,如:control,分别添加数据空间和日志空间,点Add ,选择 data,添加 control_data,输入300M;点 Add,选择Transaction Log ,选择control_log 日志空间,输入 200M即可,点下一步,选择 with overide即可7、创建数据库用户,点 Logins 项目,如:创建 system 用户,输入用户名和密码,添加角色,一般添加 sa_role即可8、回到Databases下,在右边的视图中点点击已经创建好的数据库 control ,在control 上右击,在弹出的菜单中点Properties ,在 General 属性页中选择 change ,选择 system 用户即可,这样就将数据库与用户关联到一起来了9、注意:在创建用户时,点 system 的 Properties 弹出 System Properties ,点 Roles,点 Add Role 加如角色,点 sa_role,然后点 sa_role ,点 Set Default ,设为默认即可,在system properties 中点sa_role 弹出sa_role properties 框,点 logins,点 sa,然后点 Set Default 即可,点system,然后点 set default 即可,这时可以看到两个yes 即可10、最后一步,点数据库名(sa),如 HYALT(sa) 或 SERVER(sa),在其上点右键,在弹出的菜单中选择 Configure ,有 total memory 一项,原来默认为9000K,即9M,根据需要可以改大些,如改为 45000K,即45 M,这要视内存大小而定这个参数的更改也可以在sybase 的安装目录下的HYALT.cfg 的[physical memory]物理内存的设置栏的 total memory=45000一项10、设置Sybase 的字符集可以在Sybase 的安装目录下的locales 目录,修改locales.dat 文件11、Sybase 11.5 在安装盘下会产生三个目录,一个是 pwrs,这个是Powerdesign 6的安装目录,一个是 Sybase 目录,还有一个是sybtools 目录12、Sybase 11.5 安装时进入启动是会出现缺少DLL,解决办法如下:进入Sybase Server安装盘下的Sybtools 目录下的asep 目录,将scsslgen.dll,t 分别对应改为 scsslgch.dll ,t 即可13、Sybase 数据导入与导出:导出:通过生成DDL 的方式,进入 Sybase Central ,点 Database ,在Control 数据库名上点右键,在弹出的菜单中选择 Generate Database Objects DDL,然后生成在 Sybase Tools Console ,将该文件存为 a.sql对一个数据库中已经有的数据,可以通过PB连接过去,将每一个表分别存为一个.txt文件,待新的数据库建好以后,在通过PB的IMPORT 菜单导入数据导入时:在命令行中输入:isql –SServer –Ucontrolpassword:sqlsql登陆后,将a.sql 中的dbo. 全部替换成空即可,然后将数据库名. 替换成dbo.即可,如数据库名为control ,就将 control.替换成dbo.即可,然后将a.sql 中的全部语句拷贝到命令行中运行即可,如果不将control.替换成dbo.的话,则数据库的关系未生成好,这样数据库的对象生成以后,就可以用PB将数据导入数据库,对于数据库中的有些数据表是要先导入的,有些数据库表是要后导入的其实,a.sql 中的语句可以直接放到PB执行SQL 的环境中去直接运行,只要将go改成;即可14、装好数据库客户端后,要配置一个数据库名:在安装好的程序组菜单中选择Dsedit,点 Server Object 下的 Add ,添加一个服务名,然后点刚才创建的服务名,在右边的 Server Address 上双击,点 Add,选 NLWNSCK 协议,在Network Address 栏中输入数据库服务器的IP地址和端口号,其格式为:200.114.163.206,5000 ,注意默认端口为5000。
Sybase数据库系统检查与日常维护手册以下是对sybase数据库系统检查与日常维护的具体方法。
并且定义了每天日常检查,以及每月的定期维护命令。
进行下列操作前请先使用sybase用户登录主机。
命令字体为加粗且倾斜,命令中使用的一些需要检查人员根据各自数据库系统实际情况输入的参数加下划线表示,结果信息中需要特别关注的选项已加粗且倾斜标注。
1SYBASE日常维护1.1 sybase数据库服务器运行状态检查检查方法:使用showserver命令,不带任何参数,观察命令的返回信息。
结果判断,详见下表:bash-2.05$ showserver显示如下信息,包含sybaseserver 与bakupserver 两个server信息F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD000 S sybase 1003 1000 0 76 0 - 2253 schedu 09:19 ? 00:00:00 /opt/sybase-12.5/ASE-12_5/bin/backupserver -e/opt/sybase-12.5/ASE-12_5/install/S000 S sybase 1001 996 1 75 0 - 16042 schedu 09:19 ? 00:00:47 /opt/sybase-12.5/ASE-12_5/bin/dataserver -d/opt/sybase-12.5/ASE-12_5/install/mas执行周期:可随时执行。
1.2 SYBASE数据库运行状态检查检查方法:isql命令行登录数据库,使用sp_helpdb命令,不带任何参数,观察命令的返回信息。
结果判断,详见下表:命令举例:bash-2.05$ isql –Usa -P保密字:1> sp_helpdb2> goname db_size owner dbidcreatedstatus------------------------ ------------- ------------------------ ------------------------------------------------------------------------------------------------------------------------------archivedb 100.0 MB sa 6Sep 06, 2006read only, no free space acctg, archive, compressedksqhdb 5000.0 MB sa 4Sep 05, 2006select into/bulkcopy/pllsortmaster 50.0 MB sa 1Sep 05, 2006mixed log and datamodel 2.0 MB sa 3Sep 05, 2006mixed log and datascratchdb 400.0 MB sa 5Sep 06, 2006scratchsybsystemdb 3.0 MB sa 31513Sep 05, 2006mixed log and datasybsystemprocs 124.0 MB sa 31514Sep 05, 2006trunc log on chkpt, mixed log and datatempdb 3.0 MB sa 2Sep 07, 2006select into/bulkcopy/pllsort, trunc log on chkpt, mixed log and data(1 row affected)name attribute_classattribute int_valuechar_valuecomments------------------------------ ------------------------------------------------------------ -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------archivedb Archive Database Accessdump device NULL/tmp/ksqhdb20060801.dmp.gzNULLarchivedb Archive Database Accessscratch database NULLscratchdbNULL(return status = 0)1.3 Sybase数据库逻辑日志空间检查检查方法:isql命令行登录数据库,use dbname选择需要查看信息的数据库,使用sp_helpsegment logsegment或dbcc checktable(syslogs)命令,观察命令的返回信息。
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_服务名_BAKUP2.3.2 关闭Sybase数据库使用isql命令登录Sybase数据库系统,在查询sysservers表查看可关闭的服务,如isql –Usa -SjoliPassword:1> select * from sysservers一般需要关闭的服务有:系统备份服务、系统主服务在isql提示里先关闭系统备份服务(默认为SYB_BACKUP),再关闭主服务(默认可以不输入主服务名),如:1>shutdown SYB_BACKUP2>go1>shutdown2>go2.4 Sybase用户管理2.4.1 创建登录用户(login)sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]] 例子:1> sp_addlogin joli,joli,joli_db2> go2.4.2 删除登录用户(login)例子:1> sp_droplogin test2> go2.4.3 创建数据库用户(user)sp_adduser login_name[,name_in_db[,grpname]]例子:1> sp_adduser joli,joli2> go2.4.4 删除数据库用户(user)例子:1> sp_dropuser test2> go2.4.5 修改该用户为该数据库dbo例子:1>use joli_db3> sp_changedbowner joli2.4.6 查看数据库用户信息sp_displaylogin [login_name]sp_helpuser例子:1> sp_helpuser2> go1> sp_displaylog joli2> go1> sp_who2.4.7 修改用户口令如果是修改sa口令,可用sa用户登录,然后执行以下命令修改1>sp_password “旧命令| null”,”new_password”2>go如果不是sa用户,则使用希望修改口令的user登录数据库,然后执行1> sp_password 旧命令,新命令2> go2.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 init2> name="joli_dev",3> physname="/opt/sybase/joli/joli_dev.dat",4> vdevno=9,5> size=512006> go说明:物理设备名称为:joli_dev物理设备文件路径为:/opt/Sybase/joli/joli_dev.dat设备编号(该号不能重复)为:9大小(单位为2K)为:100M(一般为用户数据库创建一个数字设备后,再单独为用户数据库创建一个日志设备)2.5.2 镜像设备例子:1> disk mirror2> name="joli_dev",3> mirror="/opt/sybase/joli/joli_dev_mirror.dat"4> go说明:创建设备joli_dev的镜像,镜像后的镜像设备为/opt/sybase/joli/joli_dev_mirror.dat。
sybase常⽤命令⼀、SQL Advantage使⽤先点击server,⾥⾯点击connect连接到sybase服务端,开⼀个新窗⼝,写⼀些sql执⾏即可(ctrl+e)⼆、启动和关闭数据库,查看表结构1.看所有的库sp_helpdb2.使⽤⼀个库use 库名(注意⼤⼩写)3.查看⽤户下所有表名select name from sysobjects where type='U'或sp_tables4.查看表结构sp_help 表名(注意⼤⼩写)5.显⽰结果只显⽰⼀⾏set rowcount 1go输⼊你想查询的sql语句,记得最后要set rowcount 0go6.启动数据库[sybase@rosan128main install]$ pwd/opt/sybase/ASE-12_5/install[sybase@rosan128main install]$ startserver -f RUN_rosantech7.关闭数据库先要看启动了什么服务1> select srvname from sysservers2> gosrvname------------------------------SYB_BACKUPloopbackrosanljw_BSrosantech(4 rows affected)关闭备份服务1> shutdown SYB_BACKUP2> go关闭1> shutdown2> go如果关不上1> sp_lock2> goThe class column will display the cursor name for locks associated with a cursorfor the current user and the cursor id for other users.fid spid loid locktype table_id pagerow dbname classcontext------ ------ ----------- ---------------------------- ----------- ----------------- --------------- ----------------------------------------------------------0 57 114 Sh_intent 32000114 00 master Non Cursor Lock(1 row affected)(return status = 0)1> kill 57(spid只可以杀除⾃⼰会话以外的会话)杀掉再shutdown就好了如果关不动,可以⽤以下命令,慎⽤shutdown with nowait三、dml和ddl1.建表use testgocreate table table1(test varchar(10))go--仿照table1建⽴table2select * from table1 into table2go----------------------------------------------------------------------------------------如果不能仿照需要修改⼀些参数sp_helpdb db_name --查看SELECT into选项是否开启,没开需要⼿动开启gouse mastergosp_dboption test,'select into',true --(test为db_name)gocheckpointgouse testgoselect * from table1 into table2go四、⽤户管理1.创建登陆⽤户(login)1> sp_addlogin ljw1911,rosantech,test --依次为⽤户名,密码,默认数据库2> goPassword correctly set.Account unlocked.New login created.(return status = 0)2.删除登陆⽤户(login)1> sp_droplogin ljw19112> go3.创建数据库⽤户(user)1> sp_adduser ljw19112> goNew user added.(return status = 0)4.删除数据库⽤户(user)1> sp_dropuser ljw19112> go2.4.5 第六页了五、sybase ASE参数配置(1)服务器级配置使⽤存储过程sp_configure配置ASE (和oracle的show parameter很像)1. 语法sp_configure [configname[, configvalue] | group_name | non_unique_parameter_fragment]2. 作⽤查询服务器运⾏的当前值设置服务器运⾏参数⽤ "sp_configure mem" 可以查看带有mem关键字的参数的具体配置,然后⽤ "sp_configure 参数, 值" 来配置新例1. 配置内存1)数据库使⽤内存指定ASE拥有的总的共享内存⼤⼩sp_configure“max memory”,nnn(单位为2K)( HP平台推荐物理内存的75%,其他平台80%)sp_configure‘allocate max shared mem’,1(数据库服务启动时就分配内存)(推荐为1)2)配置缺省数据缓存的⼤⼩和分区sp_cacheconfig‘default data cache’,’xxxM’sp_cacheconfig‘default data cache’,’cache_partition=n’(根据CPU个数以及内存⼤⼩确定,需为2的N次⽅)3)配置存储过程的缓存⼤⼩sp_configure“procedure cache size”,nnn(单位为2K)例2. 配置CPUsp_configure‘max online engines’,n(cpu个数> 2时推荐CPU数⽬减1)sp_configure‘number of engines at startup’,n3. 其他1). number of devices (⽤户⾃⼰确定)指定ASE的可创建和打开的数据库设备的最⼤号数2). number of locks (⽤户⾃⼰确定)指定ASE可同时打开的锁的最⼤数⽬3). number of open objects (推荐8000-20000)ASE的对象描述的缓存数4)number of open indexes (推荐2000-5000)ASE的索引描述的缓存数5) stack size (如果有超长SQL和多层嵌套,推荐*2)数据库堆栈的⼤⼩6). default character set id(推荐使⽤cp936 –id 171)数据库服务器使⽤的字符集7). allow updates to system tables指定系统管理员是否可以更改系统表中的数据8)row lock promotion HWM,row lock promotion LWM⾏锁升级为表锁的阀值9)page lock promotion HWM,page lock promotion LWM页锁升级为表锁的阀值10) lock scheme缺省的对表加的锁类型(缺省为页锁)(2)数据库级配置使⽤存储过程sp_dboption更改数据库的数据库选项1. 语法sp_dboption[dbname, optname, {true | false}]2. 作⽤罗列出所有的数据库选项更改某个数据库的数据库选项3. 常见的数据库选项trunclog on chkpt⾃动清⽇志(不能再做增量备份)select into/bulkcopy允许快速BCP,selectintoddlin tran允许事务中创建对象修改完成以后可以通过sp_helpdb查看到例⼦:1> use master2> go1> sp_dboptionuserdb, "trunclog on chkpt", true2> go数据库‘userdb'的数据库选项'trunclog on chkpt'被打开。
1.1 常用命令介绍1.1.1 数据库操纵命令1.1.1.1 ISQL语法举例:isql –Usa –P –SSYSMIS {> filename{< filename}}说明:-U:用户名;-P:口令;-S:SERVER名。
SERVER名必须在$HOME/interfaces中有定义,其作用相当于PC CLIENT端的sql.ini,其维护工具是$HOME/install/sybinit,相当于PC CLIENT端的sqledit.exe。
注意在使用sybinit定义SERVER时,IP地址在/etc/hosts文件中须有定义(如“192.9.202.201 hb1”),否则在定义过程中会有警告信息,但不影响使用。
1.1.1.2 dbcc checkdb作用:检查数据库状态。
语法举例:dbcc checkdb(DATABASE NAME)。
说明:一般情况下该命令与dbcc checkalloc、dbcc checktable 配合使用,以检查数据库的使用情况。
根据命令显示结果进行维护操作,该命令的输出显示一般为以下文本:……Checking syslogsThe total number of data pages in this table is 225.*** NOTICE: Space used on the log segment is 0.44 Mbytes, 0.88%.*** NOTICE: Space free on the log segment is 49.56 Mbytes, 99.12%.Table has 5168 data rows.……Checking csszh_csdjThe total number of data pages in this table is 1.Table has 16 data rows.……DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.若显示结果与上述有异,则结合其它dbcc命令确定具体是什么错误,报错时会显示Msg号,根据Msg号,采取相应的解决方法。
Oracle_SQLServer_Sybase_MySQL_数据库维护常用命令各种数据库维护常用命令目录1.1Oracle常用维护命令 (1)1.1.1创建表空间 (1)1.1.2创建存储过程 (1)1.1.3创建表 (1)1.1.4创建用户 (2)1.1.5授予用户权限 (2)1.1.6查询表 (2)1.1.7更新表 (3)1.1.8删除表 (3)1.2SQL Server常用维护命令 (4)1.2.1创建数据库 (4)1.2.2创建存储过程 (4)1.2.3创建表 (5)1.2.4授予用户权限 (5)1.2.5查询表 (5)1.2.6更新表 (6)1.2.7删除表 (6)1.3Sybase常用维护命令 (6)1.3.1创建数据库 (6)1.3.2创建存储过程 (7)1.3.3创建表 (7)1.3.4授予用户权限 (8)1.3.5查询表 (8)1.3.6更新表 (8)1.3.7删除表 (9)1.4MySQL常用维护命令 (9)1.4.1创建数据库 (9)1.4.2创建存储过程 (9)1.4.3创建表 (10)1.4.4授予用户权限 (10)1.4.5查询表 (10)1.4.6更新表 (10)1.4.7删除表 (10)1.5资源属性类型 (11)1.6Datasource缩写 (12)1.1 Oracle常用维护命令1.1.1 创建表空间关键字:CREATE TABLESPACE示例:CREATE TABLESPACE tbs_02DATAFILE 'diskb:tbs_f5.dat' SIZE 500K REUSEAUTOEXTEND ON NEXT 500K MAXSIZE 100M;1.1.2 创建存储过程关键字:CREATE PROCEDURE示例:CREATE PROCEDURE remove_emp (employee_id NUMBER) AStot_emps NUMBER;BEGINDELETE FROM employeesWHERE employees.employee_id = remove_emp.employee_id;tot_emps := tot_emps - 1;END;1.1.3 创建表关键字:CREATE TABLE示例:CREATE TABLE employees_demo( employee_id NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25) CONSTRAINTemp_last_name_nn NOT NULL, email VARCHAR2(25) CONSTRAINT emp_email_nn NOT NULL, phone_number VARCHAR2(20), hire_date DATE DEFAULT SYSDATE CONSTRAINTemp_hire_date_nn NOT NULL, job_id VARCHAR2(10) CONSTRAINT emp_job_nn NOT NULL , salary NUMBER(8,2) CONSTRAINTemp_salary_nn NOT NULL, commission_pct NUMBER(2,2), manager_id NUMBER(6), department_id NUMBER(4), dn VARCHAR2(300), CONSTRAINT emp_salary_min CHECK (salary > 0), CONSTRAINT emp_email_uk UNIQUE (email)) ;1.1.4 创建用户关键字:CREATE USER示例:CREATE USER app_user1IDENTIFIED EXTERNALLYDEFAULT TABLESPACE exampleQUOTA 5M ON examplePROFILE app_user;1.1.5 授予用户权限关键字:GRANT示例:GRANT SELECT, UPDATEON emp_view TO PUBLIC;1.1.6 查询表关键字:SELECT示例:SELECT *FROM employeesWHERE job_id = 'PU_CLERK'ORDER BY commission_pct DESC;1.1.7 更新表关键字:UPDATE示例:UPDATE employees aSET department_id =(SELECT department_idFROM departmentsWHERE location_id = '2100'),(salary, commission_pct) =(SELECT 1.1*AVG(salary), 1.5*AVG(commission_pct) FROM employees bWHERE a.department_id = b.department_id)WHERE department_id IN(SELECT department_idFROM departmentsWHERE location_id = 2900OR location_id = 2700);1.1.8 删除表关键字:DROP TABLE示例:DROP TABLE table_to_be_delete;1.2 SQL Server常用维护命令1.2.1 创建数据库关键字:CREATE DATABASE示例:use masterGOCREATE DATABASE EmployeesON( NAME = Empl_dat,FILENAME = 'd:\sample data dir\',SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = 'Sales_log',FILENAME = 'd:\sample log dir\',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )GO1.2.2 创建存储过程关键字:CREATE PROCEDURE示例:CREATE PROCEDURE proc2ASDECLARE @middle_init char(1)SET @middle_init = NULLSELECT au_id, middle_initial = @middle_initFROM authorsGO1.2.3 创建表关键字:CREATE TABLE示例:CREATE TABLE publishers(pub_id char(4) NOT NULLCONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTEREDCHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756') OR pub_id LIKE '99[0-9][0-9]'),pub_name varchar(40) NULL,city varchar(20) NULL,state char(2) NULL,country varchar(30) NULLDEFAULT('USA'))1.2.4 授予用户权限关键字:GRANT示例:GRANT SELECTON authorsTO publicGO1.2.5 查询表关键字:SELECT示例:SELECT DISTINCT Cst.CustomerID, panyNameFROM Northwind.dbo.Customers AS CstJOINNorthwind.dbo.Orders AS OrdON ( Cst.CustomerID = Ord.CustomerID)WHERE Ord.ShippedDate > 'May 1 1998'1.2.6 更新表关键字:UPDATE示例:UPDATE authorsSET state = 'PC', city = 'Bay City'WHERE state = 'CA' AND city = 'Oakland' 1.2.7 删除表关键字:DROP TABLE示例:DROP TABLE table_to_be_delete;1.3 Sybase常用维护命令1.3.1 创建数据库关键字:CREATE DATABASE示例:USE MASTERDISK INITNAME='Empl_dat',PHYSNAME='d:\sybdata\Empl_dat.dat',SIZE='10M'GODISK INITNAME='Sales_log',PHYSNAME='d:\sybdata\Sales_log.dat',SIZE='10M'GOCREATE DATABASE EmployeesON Empl_dat="10m"LOG ON Sales_log="10m"GO1.3.2 创建存储过程关键字:CREATE PROCEDURE示例:CREATE PROCEDURE proc2ASSELECT * FROM authorsGO1.3.3 创建表关键字:CREATE TABLE示例:CREATE TABLE PRIVILEGE (RESOURCE_ID VARCHAR(200) not null,ROLE_ID VARCHAR(32) not null,ACCESS_TYPE VARCHAR(32) null,ID VARCHAR(32) null,APP_NAME VARCHAR(32) null,CONSTRAINT PK_PRIVILEGE PRIMARY KEY NONCLUSTERED (ROLE_ID, RESOURCE_ID))GO1.3.4 授予用户权限关键字:GRANT示例:GRANT CREATE TABLE,CREATE VIEW,CREATE DEFAULT,CREATE RULE,CREATE PROCEDURE TO user1 GO1.3.5 查询表关键字:SELECT示例:SELECT DISTINCT Cst.CustomerID, panyName FROM Northwind.dbo.Customers AS CstJOINNorthwind.dbo.Orders AS OrdON ( Cst.CustomerID = Ord.CustomerID)WHERE Ord.ShippedDate > 'May 1 1998'1.3.6 更新表关键字:UPDATE示例:UPDATE authorsSET state = 'PC', city = 'Bay City'WHERE state = 'CA' AND city = 'Oakland'1.3.7 删除表关键字:DROP TABLE示例:DROP TABLE table_to_be_delete;更详细的命令使用信息,请参考SQL Server联机帮助。
1. 安装指导 (3)1.1 ASE安装一般指导 (3)简易安装手册〔for Unix〕 (4)安装概述 (4)预下载任务: (5)下载 (6)IBM AIX (6)HP UX (6)Digital Unix (6)预安装任务: (7)开始安装: (8)安装后任务: (9)1.3 ASE12.0 简易安装手册 (10)1.3.1 SYBASE ASE12.0 For HP-9000/800 HP-UX安装指南 (10)1.3.2 SYBASE ASE12.0 For SUN SOLARIS安装指南 (13)1.3.3 SYBASE ASE12.0 For IBM RS/6000 AIX 安装指南 (16)1.3.4 SYBASE ASE12.0 For DIGITAL UNIX 安装指南 (18)1.4 SYBASE ASE12.0 For UNIX 双机切换设置指南(standby方式) (21)2. 技术专刊 (24)2.1 关于Backup Server (24)2.2 Backup Server的名字 (26)2.3 Sybase的数据库设备 (27)2.4 数据库选项〔dboptions〕的使用与管理 (28)2.5 Index & Performance (31)2.6 SQL Server 事务日志 (34)2.7 阀值管理〔Threshold Management〕 (39)2.8 日常后备数据库 (42)2.9 使用dump transaction with no_log的危险性 (43)2.10 在版中采用了行级加锁机制以提高性能 (43)2.10.1 所支持的加锁机制 (44)2.10.2 对小量数据的屡次并发访问 (47)2.10.4 死锁 (51)2.11 DBCC (55)2.12 在SCO OPENSERVER 5上安装 (58)2.13 在上安装 (61)2.14 ASE 11.9.2 for Linux安装步骤 (63)3.常见问题 (65)3.1 初级篇 (65)3.1.1 在SQL Server中表大小是否有限制? (65)3.1.2 一旦客户突然退出或系统重启,SQL Server如何回滚事务? (65)为什么有时候数据库事务日志满了,使用Dump transaction with no-log仍不能截断日志? (65)3.1.4 即使表上没有建立索引,为什么BCP操作仍记日志? (65)3.1.5 如何生成bcp命令文件(以pubs2为例)? (65)3.1.6 如何后备数据量大于2GB的数据库 (66)3.1.7 如何查找数据库启动失败原因 (66)3.1.8 如何在NT、UNIX下启动关闭ASE (67)3.1.9 如何在Windows操作系统上安装 (68)根本的ASE 数据库管理命令 (68)简单故障及排除方法 (70)3.2 中级篇 (70)3.2.1 IP地址改变后如何修改interfaces文件 (70)3.2.2 如何解决数据库被挂起的问题 (71)3.2.3 如何终止数据库恢复过程 (72)3.2.4 如何删除坏的用户数据库?(以pubs2为例) (74)3.2.5 如何检查数据库中数据的一致性 (75)3.2.6 如何更改SQL Server名称〔在UNIX、OPENVMS平台上〕 (77)3.2.7 如何在HP平台BCP OUT超过2G的数据 (78)3.3 高级篇 (79)如何配置SQL Server来做远程备份? (79)3.3.2 如何配置SQL Server 11,使得快速BCP具有更好的性能? (79)如何将SQL/ASE SERVER移植到同种平台〔相同操作系统〕的系统上 (79)3.3.4 如何做Rebuild Master (81)3.3.5 如何移植master设备 (83)3.3.6 如何重建sybsystemprocs系统数据库 (84)3.3.7 如何做 rebuild log (86)3.3.8 如何恢复master数据库 (87)如何支持字符集为eucgb的ASE数据库? (88)4. SYBASE培训效劳 (90)4.1 SYBASE培训概述 (90)4.2 SYBASE主要数据库课程介绍 (90)1. 安装指导1.1 ASE安装一般指导一. 检查 Release Bulletin 安装相应的OS版本六. 设置SYBASE 用户环境变量1. SYBASE2. DSQUERY3. PATH八. 修改设备权限和属主chown uid:gid /device/..........1.2 ASE11.9.2简易安装手册〔for Unix〕安装概述一、安装分为两局部:Unload 局部–使用sybsetup or sybload应用程序从安装介质卸载ASE产品到机器上Install 局部–使用srvbuild应用程序来安装配置ASE产品在Install局部,用srvbuild来安装新的效劳。
sybase数据库常用命令及函数数据库常用命令及函数1. bcp lottery_data..c_template_sql out c_template_sql -Usa [-T3276800] -P654321 -Slottery_query [-r/n] [-eerr_c_template_sql ] -t"[@]" -c//此语句是数据表导出语句,中括号表示可以省略的部分。
2. select 'bcp lottery_data..'+name+' out '+name+' -Usdfc -Psdadmini -Slottery_query -c -t"[@]" -eerr_'+namefrom sysobjectswhere type = "U"and name not like "z_bk%"order by name//此语句是在PB中生成语句,这些语句可以导出数据库中的表名。
3. ddlgen -Ujxfc -Pjxadmini -Slottery_sell -Dlottery_data -Osell.sql//此语句生成数据库对象。
详细参数参看第4项,如下:4. Sybase ASE 下用ddlgen导出表结构由 tedabc 在周六, 2009-12-19 21:55 提交脚本内容#exportTable.shexport SYBROOT=/syb64bitexport SYBASE_JRE=/syb64bit/shared/jre142_015>table.ddlcat table.list|while read tabdoddlgen -Usa -P -SSYB_SERV -Duserdb -TU -N${tab} -O tmp.ddlcat tmp.ddl|sed '/^create/,/^go/!d' >>table.ddldonerm tmp.ddlddlgen的其他用法:存储过程ddlgen -Usa -P -SSYB_SERV -Duserdb -TP -N% -O proc.ddl 数据库ddlgen -Usa -P -SSYB_SERV -Duserdb -TDB -Nuserdb -O db.ddl表结构ddlgen -Usa -P -SSYB_SERV -Duserdb -TU -N% -O table.ddl 视图ddlgen -Usa -P -SSYB_SERV -Duserdb -TV -N% -O view.ddl5. exec sp_rename c_st_station_day_tmp , c_st_station_d ay_2006;//修改表名.6. select getdate();//获取数据库日期。
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–U sa -S joliPassword:1> select * from sysservers2> go一般需要关闭的服务有:系统备份服务、系统主服务在isql提示里先关闭系统备份服务(默认为SYB_BACKUP),再关闭主服务(默认可以不输入主服务名),如:1>shutdown SYB_BACKUP2>go1>shutdown2>go2.4 Sybase用户管理2.4.1 创建登录用户(login)sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]] 例子:1> sp_addlogin joli,joli,joli_db2> go2.4.2 删除登录用户(login)例子:1> sp_droplogin test2> go2.4.3 创建数据库用户(user)sp_adduser login_name[,name_in_db[,grpname]]例子:1> sp_adduser joli,joli2> go2.4.4 删除数据库用户(user)例子:1> sp_dropuser test2> go2.4.5 修改该用户为该数据库dbo例子:1>use joli_db3> sp_changedbowner joli2.4.6 查看数据库用户信息sp_displaylogin [login_name]sp_helpuser例子:1> sp_helpuser2> go1> sp_displaylog joli2> go1> sp_who2> go2.4.7 修改用户口令如果是修改sa口令,可用sa用户登录,然后执行以下命令修改1>sp_password “旧命令| null”,”new_password”2>go如果不是sa用户,则使用希望修改口令的user登录数据库,然后执行1> sp_password 旧命令,新命令2> go2.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 init2> name="joli_dev",3> physname="/opt/sybase/joli/joli_dev.dat",4> vdevno=9,5> size=512006> go说明:物理设备名称为:joli_dev物理设备文件路径为:/opt/Sybase/joli/joli_dev.dat设备编号(该号不能重复)为:9大小(单位为2K)为:100M(一般为用户数据库创建一个数字设备后,再单独为用户数据库创建一个日志设备)2.5.2 镜像设备例子:1> disk mirror2> 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 终止设备镜像终止设备可分为:终止主设备和终止次设备两类,同时还可选择是临时性终止还是永久性终止。
(如果是永久终止,还需要在操作系统上删除物理设备文件)disk unmirrorlang="EN-US">"[,side=”{primary|secondary}]”[,mode={retain|remove}]//终止主/次设备:primary/secondary (缺省次)//临时/永久终止:retain/remove (缺省临时)例子:1)临时终止主设备1> disk unmirror2> name="joli_dev",3> side="primary",4> mode=retain5> go2)永久终次主设备1> disk unmirror2> name="joli_log_dev",3> side="primary",4> mode=remove5> gon 恢复临时终止的镜像:例子:1> disk remirror2> name="joli_dev"3> go2.5.4 删除设备需要确定该设备上没有数据库。
例子:1> sp_dropdevice test_dev2> 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=202> 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=52> go说明:数据库joli_db在设备数字joli_dev上扩展10M,在日志设备joli_log_dev上扩展5M。
2.5.8 删除数据库:drop database db_name例子:3> drop database joli_db4> go2.5.9 上线数据库例子:1> online database db_name2> go2.5.10 检查数据库状态n 一般性检查1>sp_helpdb2>gon 系统性检查所有库检查:1> dbcc checkdb2> go指定用户数据库检查:1> dbcc checkalloc(joli_db)2> go2.6 Sybase日志管理在创建用户数据库的时候,应尽量为事务日志创建独立的日志设备(一般创建为数据库大小的20%),这样可以单独备份事务日志、防止数据库溢满、可以看到事务日志的占用情况及可以镜像等。
dump transaction db_name with truncate_only //不备份事务日志,直接清除。
dump transaction db_name with no logdump transaction db_name to “路径/名字” //备份事务日志n 检查log大小1> dbcc checktable(syslogs)2> go快速查看log大小1> select data_pgs(8,doa mpg)2> from sysindexes where id=83> go2.7 修改Sybase系统缺省参数可修改$SYBASE/ASE-12_5目录“服务名.cfg”文件,重新启动Sybase服务来修改Sybase系统参数。
也可使用Sp_configure来修改部分动态参数。
n 查询当前所有的参数配置1>sp_configure2>gon 查询可动态修改的参数1>sp_configure “abcdef”2>gon 查询特定参数的配置情况1>sp_configure “参数名2>go”n 修改可动态配置的参数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。