Sybase常⽤命令介绍(chenyi)
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端的。注意在使⽤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 syslogs
The 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_csdj
The 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号,采取相应的解决⽅法。(参见第错误!未定义书签。页“错误!未到引⽤源。”。)
1.1.1.3 dbcc checkalloc
作⽤:检查数据库空间分配。
语法举例:dbcc checkalloc(DATABASE NAME{,fix})。
说明:⼀般情况下该命令与dbcc checkdb、dbcc checktable、dbcc tablealloc配合使⽤,以检查数据库的使⽤情况。根据命令显⽰结果进⾏维护操作,该命令的输出显⽰⼀般为以下⽂本:
TABLE: sysindexes OBJID = 2
INDID=1 FIRST=24 ROOT=32 SORT=0
Data level: 1. 26 Data pages allocated and 4 Extents allocated.
Indid : 1. 1 Index pages allocated and 1 Extents allocated. TOTAL # of extents = 5
*************************************************************** TABLE: sysobjects OBJID = 1
INDID=1 FIRST=1 ROOT=8 SORT=0
Data level: 1. 28 Data pages allocated and 4 Extents allocated.
Indid : 1. 1 Index pages allocated and 1 Extents allocated. INDID=2 FIRST=18 ROOT=16 SORT=0
Indid : 2. 9 Index pages allocated and 2 Extents allocated. TOTAL # of extents = 7
……
Processed 263 entries in the sysindexes for dbid 5.
Alloc page 0 (# of extent=32 used pages=109 ref pages=101)
Alloc page 256 (# of extent=32 used pages=91 ref pages=89)
Alloc page 512 (# of extent=32 used pages=95 ref pages=95)
Alloc page 768 (# of extent=32 used pages=118 ref pages=118)
Alloc page 1024 (# of extent=32 used pages=116 ref pages=116)
……
Total (# of extent=850 used pages=3040 ref pages=3014) in this database DBCC execution completed. If DBCC printed error messages, contact a user with System Administrator (SA) role.
该命令的fix选项的作⽤是让数据库进⾏⾃动修复,但有⼀条件:必须将要修复的数据库状态设置为Single User(单⽤户模式),具体⽤法如下:
isql –Usa –P –SSYSMIS
1> sp_dboption pubdata,’single user’,true
2> go
1> use pubdata
2> go
1> checkpoint
2> go
1> dbcc checkalloc(pubdata,fix)
2> go
使⽤该命令时⾸先要确认没有进程连着pubdata库。
1.1.1.4 dbcc checktable
作⽤:检查表状态。
语法举例:dbcc checktable(TABLENAME)。
说明:⼀般情况下该命令与dbcc checkdb、dbcc checkalloc、dbcc tablealloc配合使⽤,该命令的输出显⽰⼀般为以下⽂本:Checking cssfz_sysinfo
The total number of data pages in this table is 1.
Table has 29 data rows.
DBCC execution completed. If DBCC printed error messages, contact a user with
System Administrator (SA) role.
1.1.1.5 dbcc tablealloc
作⽤:检查表空间分配。
语法举例:dbcc tablealloc(TABLENAME{,fix})
说明:⼀般情况下该命令与dbcc checkdb、dbcc checkalloc、dbcc checktable配合使⽤,该命令的输出显⽰⼀般为以下⽂本:
INDID=0 FIRST=457 ROOT=457 SORT=0
Data level: 0. 1 Data pages allocated and 1 Extents allocated.
INDID=2 FIRST=1217 ROOT=1217 SORT=1
Indid : 2. 1 Index pages allocated and 1 Extents allocated.
TOTAL # of extents = 2
Alloc page 256 (# of extent=1 used pages=2 ref pages=2)
Alloc page 1024 (# of extent=1 used pages=2 ref pages=2)
Total (# of extent=2 used pages=4 ref pages=4) in this database
DBCC
execution completed. If DBCC printed error messages, contact
a user with
System Administrator (SA) role.
1.1.1.6 sp_who
作⽤:查看进程。
语法举例:sp_who {login name|’id’}
说明:⼀般情况下与sp_lock 结合使⽤,该命令的显⽰结果如下:
spid status loginame hostname blk dbname cmd
6 recv sleep sc10 pc185_1321 0 sc10 AWAITING COMMAND
7 recv sleep sc10 pc173_1583 0 sc10 update
8 recv sleep sc06 pc166_1121 0 sc06 AWAITING COMMAND 9 recv sleep sc12 pc175_2207 7 sc12 10 recv sleep sc16 pc155_0751 0 sc16 14 recv sleep jt pc161_2430 0 jt AWAITING COMMAND 15 recv sleep office pc165 0 office AWAITING COMMAND (16 rows affected, return status = 0)
tabletotal函数spid :进程号;
status :状态,⼀般为“recv sleep ”、“sleeping ”、“running ”、
“runnable ”等。
Loginname :登录名。
Hostname :主机名,此项⽬的显⽰分⼏种类型:若不是通过应⽤
序联接数据库,则显⽰机器名(如25号进程“RD98”);
若是通过应⽤程序联接数据库的,则显⽰如下字符串:
“机器名_⼯号”(如8号进程“pc166_1121”,像16号进
程显⽰,说明应⽤程序版本不对,需要从服务器上下
载新程序),这样能直观的知道哪个⽤户在哪台机器上操
作;前⾯有“*”号的,说明某⼀个操作需要2个数据库
联接。
Blk:堵塞进程,若显⽰⾮0值,则说明该进程被其它进程堵塞,直到
那个进程释放资源后才能继续进⾏,如9号进程被7号进程堵塞。
Dbname:正在使⽤的数据库名
Cmd:执⾏的命令名,⼀般为“AWAITING COMMAND”、“INSERT”、
“DELETE”、“UPDATE”、“OPEN CURSOR”、“FETCH
CURSOR”、等
可以加参数指定查询进程,如sp_who pubdata表⽰查询所有以pubdata作为loginname的进程;sp_who 8指定查询8号进程。
1.1.1.7 sp_lock
作⽤:查看进程加锁情况。
语法举例:sp_lock {id}
说明:该命令的显⽰结果如下:
The class column will display the cursor name for locks associated with a cursor
for the current user and the cursor id for other users.
spid locktype table_id page dbname
class
------ ---------------------------- ----------- ----------- ---------------
------------------------------
25 Sh_intent 432004570 0 master
Non Cursor Lock
(1 row affected, return status = 0)
spid:进程号。
Locktype:锁类型,请参阅《SYBASE-System Administration Guide》。
Table_id:表号。若要知道表名,可以使⽤Sybase提供的函数:Object_name(tableid),反之根据表名得到表号则使⽤另
⼀函数:Object_id(tablename)。
Page:数据页。
Dbname:数据库名。
Class:请参阅《SYBASE-System Administration Guide》。
1.1.1.8 sp_monitor
作⽤:查看系统运⾏情况。
语法举例:sp_monitor
说明:该命令的显⽰结果如下:
last_run current_run seconds
-------------------------- -------------------------- -----------
Dec 15 1999 3:37PM Dec 15 1999 3:38PM 30
packets_received packets_sent packet_errors ------------------------- ------------------------- -------------------------
154617(167) 830344(175) 17(0)
total_read total_write total_errors connections
------------------- ------------------- ------------------- ------------------
1022887(39) 173533(23) 0(0) 3706(1)
(return status = 0)
请注意最重要的三个指标cpu_busy、io_busy、idle,idle所占⽐例越⼤,系统越空闲,运⾏⽐较正常,否则需注意cpu和io的情况。
1.1.1.9 sp_helpdb
作⽤:查看数据库信息。
语法举例:sp_helpdb pubdata;POS-MIS V2.0以前为baida。
说明:该命令的显⽰结果如下:
name db_size owner dbid created status

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。