sybase学习

安装

下载安装包, 解压到/opt/sybase,注意必须目录是这样的/opt/sybase/ASE-15_0/install/ ,因为RUN_DBSVR里面写死了/opt/sybase/ASE-15_0/bin/dataserver

—— 当然,这可能跟安装包的版本相关

登录

linux-194:/opt/sybase # export LANG=C --- 有时候不可缺少,有时候又不能有这行,否则报错。
linux-194:/opt/sybase # . SYBASE.sh
linux-194:/opt/sybase # isql -Usa -PTest1234[] -SDBSVR  -- 登录

启动:

记得先 :export LANG=C

       --  如guo /opt/SYBASE下面的文件的属主都是root------- 就不要切换dbuser用户了!!

 首先要切换到dbuser用户,命令:

su - dbuser

. SYBASE.sh   ------- 执行环境变量;

 cd /opt/sybase/ASE-15_0/install/ 

./RUN_DBSVR&       回车;  (---启动主库,要加&)http://zhidao.baidu.com/question/569385907.html  其实和./startserver -f RUN_DBSVR一个作用

./RUN_DBSVR_back&     (--启动备份数据库)

查看数据库是否起来可以使用:ps –ef|grep sybase查看也可以执行

  cd /opt/sybase/ASE-15_0/install

  # ./showserver查看

停止(要先停备份的数据库,)

[ /opt/sybase ]. SYBASE.sh

    [ /opt/sybase ]isql -Usa –Pchangeme123 -SDBSVR

 select * from sysservers   --查找备份数据库的实例名;

shutdown SYB_BACKUP (备份数据库的名称)

go

 然后停止主库

shutdown

go

 忘记sa密码&修改sa密码?

这个真糟糕,不过其实还好,如果掌握了方法的话

http://www.cnblogs.com/poleax81/archive/2006/06/17/428054.html

在/opt/sybase/ASE-15_0/install/RUN_DBSVR最后面(不能加在第一行后面)加上行 -psa

执行

/opt/sybase/ASE-15_0/install> ./startserver -f RUN_DBSVR

注意找到这一行:

New SSO password for sa:bojhvjemyvwpz3

然后:

export LANG=C
su - dbuser
isql -Usa -Pbojhvjemyvwpz3 -SDBSVR

 sp_password 'bojhvjemyvwpz3',Test1234    ———— 这样就重置密码好了!

sp_configure 'con' —— 查看数据库配置信息??

  Parameter Name Default Memory Used
  Config Value Run Value Unit
  Type

sp_helpdb  —— 查看所有数据库状态?

sp_helpdb dbname —— 查看某个数据库状态

sp_who —— 

数据库日志

sybase/ASE-15_0/install/DBSVR.log 数据库日志等

出现The transaction log in database tempdb is almost full.  Your transaction is being suspended until space is made available in the log.

执行

2> dump transaction with truncate_only
3> go
Msg 156, Level 15, State 2:
Server 'DBSVR', Line 2:
Incorrect syntax near the keyword 'with'.  —— 郁闷,奇怪, 我是按照网上来的

1> dump transaction OMSSM with no_log
2> go

一直出现

java.sql.SQLException: JZ00L: 登录失败。检查与此异常现象有关的 SQL 警告以获得失败原因。
at com.sybase.jdbc3.jdbc.ErrorMessage.raiseError(Unknown Source)
at com.sybase.jdbc3.tds.Tds.for(Unknown Source)
at com.sybase.jdbc3.tds.Tds.a(Unknown Source)
at com.sybase.jdbc3.tds.Tds.login(Unknown Source)
at com.sybase.jdbc3.jdbc.SybConnection.a(Unknown Source)
at com.sybase.jdbc3.jdbc.SybConnection.a(Unknown Source)
at com.sybase.jdbc3.jdbc.SybConnection.<init>(Unknown Source)
at com.sybase.jdbc3.jdbc.SybConnection.<init>(Unknown Source)
at com.sybase.jdbc3.jdbc.SybDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)

不知道是怎么回事,以为是日志满了(后面发现那个The transaction log in database tempdb is almost full.是很久之前的日志了,惭愧。。。)

清除了日志,还是这样

以为是连接数不够了,改了最大连接还是这样。。。

为什么运行 RUN_DBSVR 后面要加 & ———— 不加也是完全可以的,不过, 因为它是个服务器,需要一直运行, 如果不加&, 那么它一直占用终端,一直打印日志,——这可能不是我们想要的

参考http://topmanopensource.iteye.com/blog/1166991

 http://www.cnblogs.com/pony/archive/2011/02/18/1957684.html

原文地址:https://www.cnblogs.com/FlyAway2013/p/3557394.html