sybase常用命令

远程连接数据库
isql -U tester -P guest1234 -H 192.168.1.54:4205 -D staticdb -S mysybas
 -U 和 -P 指定有用户和密码
 -H 远程主机IP:端口 
 -D 数据库名
 -S 服务名

本地连接数据库
isql -U tester -P guest1234 -S MYSYBASE -D testdb
sp_helpuser
sp_tables

isql -U tester -P guest1234 -S MYSYBASE
use testdb
sp_helpuser
sp_tables

查看版本
select @@version
go


创建设备
注意设备编号vdevno不能重复;size单位是2K,数据设备size=5120000 即大小为 5120000*2K≈10G,日志设备的size=102400,即 102400*2K≈200M
disk init name="testdb_dbdev",physname="/opt/sybase/data/testdb_dbdev.dat",vdevno=10,size=5120000 
go
disk init name="testdb_logdev",physname="/opt/sybase/data/testdb_logdev.dat",vdevno=11,size=102400  
go

查看设备状态
sp_helpdevice   [设备名]
如果不指定设备名,则查看所有设备状态


删除设备
注意需要确定该设备上没有数据库后再删除设备
sp_dropdevice testdb_dbdev
sp_dropdevice testdb_logdev.dat
exit
删除设备物理文件
rm -rf /opt/sybase/data/testdb_dbdev.dat
rm -rf /opt/sybase/data/testdb_logdev.dat


创建数据库(并单独指定设备)
create database testdb on testdb_dbdev=1024 log on testdb_logdev=200 
go 
创建时指定数据设备和日志设备,并限制设备的使用大小,数据设备可使用大小为1024M,日志设备可使用大小为200M

如果不独立指定设备,则直接使用下面命令创建即可:
create database

查看创建结果:
sp_helpdb

删除数据库
use master
drop database testdb
sp_helpdb


扩展数据库(如果大小不够时可以扩展)
alter database db_name on device_name=size,device_name =size log on device_name=size,device_name=size
数据库 testdb 在设备 testdb_dbdev 上扩展100M,在日志设备 testdb_logdev 上扩展20M:
alter database testdb on testdb_dbdev=100 log on testdb_logdev=20

创建登录用户并使之成为新建库的owner、并设置数据库为用户的默认库、设置
sp_addlogin test,123456
go
sp_role 'grant',oper_role,test
go
use testdb
go
sp_changedbowner testdb
go
sp_modifylogin testdb,defdb,testdb 
go
sp_modifylogin testdb,deflanguage,chinese
go


查看所有数据库及大小等详情
sp_helpdb

sybase默认系统库:
master :包含一些系统表,存储管理Adaptive Server所用的数据
model :用于创建新数据库的模板数据库
sybsystemprocs :包含存储系统存储过程的表
sybsystemdb :包含用于分布式事务管理特性的数据
tempdb :包含临时表


创建登陆用户
sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]]
> sp_addlogin tester,123456,testdb      依次指定用户名、密码、默认数据库
> go

修改登录用户
sp_modifylogin loginame,option,value
> sp_modifylogin tester,defdb,testdb
> go
> sp_modifylogin tester,deflanguage,chinese
> go

修改登录用户密码
sp_password old_passwd, new_passwd [, loginame, immediate]
将sa用户的密码"123456"修改设置为NULL
sp_password "123456", NULL, "sa"

将sa用户的密码NULL修改为"123456"
sp_password null,'123456','sa'

修改登录失败错误尝试最大次数为10
尝试登录失败达到最大次后将被锁定,再次登录提示内容跟输错密码一样,客户端无法区分输入有误还是被锁定
sp_modifylogin tester,"max failed_logins","10"

查看登录用户账户状态
select name, status from syslogins
0代表正常,1代表口令字符数太少,2代表帐号锁定,4代表口令过期

解锁登录用户账户
sp_locklogin "tester","unlock"

删除登陆用户
> sp_droplogin tester
> go

创建数据库用户
由于Sybase是多数据库结构,为了对多个数据库中的用户进行统一管理,因此使用了登录用户和数据库用户。
登录用户:sp_addlogin添加的用户,用来登录Sybase数据库,就是我们连接数据库时使用的用户。如果登录用户没有添加到某一个数据库中,它将无法操作某一数据库。
数据库用户:sp_adduser添加的用户,用来管理使用数据库,在所属数据库中是唯一的。
因此同一个登录用户可以对应多个不同数据库的数据库用户。
为了使用Sybase ASE上的数据库,必须在数据库中有一个用户,这个用户是数据库所有者(db owner)通过sp_adduser来增加的。
sp_adduser login_name[,name_in_db[,grpname]]   #创建数据库用户 loginname 和 name_in_db 可以相同
> sp_adduser tester
> go

删除数据库用户
> sp_dropuser tester
> go

修改该用户为数据库的dbo
> use testdb
> sp_changedbowner tester

查看数据库用户信息
sp_displaylogin [login_name]
> sp_displaylogin tester
> sp_helpuser
> sp_who


Sybase具有的系统角色包括:
System Administrator (SA)
System Security Officer (SSO)
Server Operator (OPER)

用户授权

授予用户tester创建对象的权限
授予创建表、缺省值、规则、存储过程还有视图的权限
grant create table,create default,create rule,create procedure,create view to tester

授予用户tester创建函数的权限
grant create function to tester


查看用户tester的权限
sp_helprotect tester
go

撤销用户权限
撤销用户tester创建函数的权限
revoke create function from tester


创建表
> create table test01 (
  ID numeric(18,0) primary key,
  NAME varchar(255) DEFAULT NULL,
  SCORE decimal(6,2) DEFAULT NULL,
  CNT int DEFAULT NULL) 
> go

insert into test01(ID, NAME) values(1, 'jack')


执行SQL脚本
isql -SMYSYBASE -Utester -Pguest1234 -i mycreate.sql

存储过程
if exists (select 1 from sysobjects where name = 'TABLE01')
begin
  drop table TABLE01
  print "TABLE01 dropped"
end
go

查看SYBASE数据库中的所有表名
select name from sysobjects where type="U"
或者
sp_tables


启动数据库
source /opt/sybase/SYBASE.sh

可以通过安装目录下的启动脚本"RUN_服务名"来启动

也可以直接通过启动命令启动数据库
$SYBASE/$SYBASE_ASE/bin/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_服务名
如果有备份服务,同时启动备份服务
$SYBASE/$SYBASE_ASE/bin/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_服务名_BAKUP

例如:
$SYBASE/$SYBASE_ASE/install/RUN_MYSYBASE
$SYBASE/$SYBASE_ASE/install/RUN_MYSYBASE_BAKUP

$SYBASE/$SYBASE_ASE/bin/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_MYSYBASE
$SYBASE/$SYBASE_ASE/bin/startserver -f $SYBASE/$SYBASE_ASE/install/RUN_MYSYBASE_BAKUP

查询服务运行状态

$SYBASE/$SYBASE_ASE/install/showserver 
F S UID        PID  PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
0 S root        10     9  0  80   0 - 245561 futex_ 11:34 ?       00:01:52 /opt/sybase/ASE-16_0/bin/dataserver -d/opt/sybase/data/master.dat -e/opt/sybase/ASE-16_0/install/MYSYBASE.log -c/opt/sybase/ASE-16_0/MYSYBASE.cfg -M/opt/sybase/ASE-16_0 -N/opt/sybase/ASE-16_0/sysam/MYSYBASE.properties -i/opt/sybase -sMYSYBASE

sybase数据库服务的查询与关闭
使用 sp_helpserver 查询状态
1> sp_helpserver
2> go
 name       network_name   security_mechanism   server_principal   class    status    id cost 
 ---------- -------------- -------------------- ------------------ ----- ------------------------------------------------------------------------- -- ---- 
 MYSYBASE   MYSYBASE       NULL                 NULL               local  0    0   
 SYB_BACKUP MYSYBASE_BS    NULL                 NULL               NULL   timeouts, no net password encryption, writable , enable login redirecti  on 1 NULL (return status = 0)

使用 select * from sysservers 查询状态
1> select * from sysservers
2> go
 srvid  srvstatus  srvname  srvnetname     srvclass  srvsecmech   srvcost    srvstatus2  srvprincipal                                                                                                                                                                                                                                                    
 ------ --------- ---------- ----------    --------  -----------  --------   ----------  -------------
 1         8      SYB_BACKUP MYSYBASE_BS   NULL        NULL        NULL        2         NULL                                                                                                                                                                                                                                                            
 0         9      MYSYBASE   MYSYBASE      0           NULL        0           2         NULL                                                                                                                                                                                                                                                            
(2 rows affected)
1> 


关闭备份服务(如果有备份服务,先关闭备份服务)
> shutdown SYB_BACKUP
> go
关闭主服务(可以不输入主服务名 MYSYBASE)
> shutdown
> go

启动和停止服务需要sa账号权限
 

Sybase数据库重置sa用户的密码:

方法参考:https://blog.csdn.net/sunny05296/article/details/107348315

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值