linux下如何启动和停止sybase的服务

linux下如何启动和停止sybase的服务,第1张

最好写个角本运行,找到sybase两个服务的路径

停止服务的路径 如果是用的是sybaseO数据库,下面是脚本里的内容

启动:

su - sybase -c "/home/sybase/1254/ASE-12_5/install/startserver -f /home/sybase/1254/ASE-12_5/install/RUN_ascrm"

sleep 20

su - sybase -c "/home/sybase/1254/ASE-12_5/install/startserver -f /home/sybase/1254/ASE-12_5/install/RUN_ascrm_BS"

停止:

su - sybase -c "/home/sybase/1254/OCS-12_5/bin/isql -Usa -P -Sascrm -i/home/sybase/1254/ASE-12_5/install/down.sql"

在Windows 2003下安装了Sybase IQ 12.6,经过一番研究总结了启动,关闭和连接的方法。

E:\DBstart_asiq -n foo bar.db -n bar -x tcpip(port=4444)

简单解释一下:

start_asiq就是启动数据库服务的命令

-n foo 表示将server命名为foo

bar.db 是数据库名,因为当前目录就是数据库文件存放目录,所以这里不写完整路径了

-n bar是把数据库命名为bar

Interactive SQL Java的连接窗口分3个Tab页。

Identification Tab页中只用填写user id和password即可

Advanced Tab页也要填,不然就连不上。这里只用在参数框里添上一句

links=tcpip(host=hostnameport=portnumber)

hostname即服务器名称,可以填ip地址;portnumber即启动数据库服务时定义的端口号。如果参照上例,那么Portnumber要填4444

至此,连接服务器就成功了。

Sybase提供的解决方法:

强行恢复数据库步骤 (可在故障及恢复手册 第二章 75页找到)

1. 使用强制选项启动IQ服务器,在start_asiq命令中使用 -iqfrec 选项

例如:

start_asiq @query.cfg -gd dba -gm 1 -iqfrec query query.db

日志显示:

=============================================================

IQ server starting with:

200 connections ( -gm )

42 cmd resources ( -iqgovern )

1245 threads ( -iqmt )

512 Kb thread stack size ( -iqtss )

637440 Kb thread memory size ( -iqmt * -iqtss )

16 IQ number of cpus ( -iqnumbercpus )

=============================================================

I. 01/27 20:13:38. Rollback log...

I. 01/27 20:13:38. Checkpointing...

I. 01/27 20:13:38. Starting checkpoint of "query" (query.db) at Wed Jan 27 2010 20:13

I. 01/27 20:13:38. Finished checkpoint of "query" (query.db) at Wed Jan 27 2010 20:13

I. 01/27 20:13:38. Recovery complete

I. 01/27 20:13:39. Database "query" (query.db) started at Wed Jan 27 2010 20:13

I. 01/27 20:13:39. IQ Server query.

I. 01/27 20:13:39. Database server started at Wed Jan 27 2010 20:13

I. 01/27 20:13:39. Trying to start TCPIP link ...

I. 01/27 20:13:39. Starting on port 2638

I. 01/27 20:13:44. TCPIP link started successfully

I. 01/27 20:13:44. Now accepting requests

New process id is 7472

Server started successfully

你应该指定两次数据库名称,一次是指定强制恢复的数据库,一次是指定启动的数据库,-iqfrec 选项要求数据库名称。

注意这是指物理数据库的名称,是大小写敏感的。 不要使用select_dbname得到的名称,那是逻辑名称。

2. 运行sp_iqcheckdb命令去检查数据库是否存在泄露的空间

连接到正在恢复的数据库。

以分配模式运行存储过程 sp_iqcheckdb:sp_iqcheckdb 'allocation database'

如果检查显示以下信息:

======================================== ============================== =====

DBCC Allocation Mode Report

======================================== ============================== =====

** DBCC Status Errors Detected*****

** Block Count Mismatch -11857364 *****

** Blocks Leaked 11857364 *****

则说明存在泄露空间,你需要正常的停止IQ服务器,并使用-iqdroplks选项去重新启动IQ服务器 (手册77页 “在强制恢复中恢复泄露空间”)

例如:start_asiq @query.cfg -gd dba -gm 1 -iqdroplks query -iqfrec query query.db

连接到正在恢复的数据库。

以分配模式运行存储过程 sp_iqcheckdb:sp_iqcheckdb 'allocation database'

如果没有报错并且 sp_iqcheckdb 显示消息:

======================================== ============================== =====

DBCC Allocation Mode Report

======================================== ============================== =====

DBCC Status Freelist updated

DBCC Status No Errors Detected

则说明泄露的空间已恢复并且是强制执行的恢复。

发出检查点。checkpoint

3.使用常规方法停止服务器。(取消 -iqfrec 及 -iqdroplks 启动选项)

使用常规方法重新启动服务器,然后继续正常的处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6707006.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存