停止服务的路径 如果是用的是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 启动选项)
使用常规方法重新启动服务器,然后继续正常的处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)