如何查看sybase数据库空间日志

如何查看sybase数据库空间日志,第1张

1.检查数据库日志空间使用情况。主要是数据库日志空间的占用情况。

检查步骤:

sybase命令

sp_spaceused syslogs

(在使用的数据库中执行)

sp_helpsegment logsegment

用sybase central 图形界面

更加直观。

参考指标:

正常情况下,数据库日志剩余空间大小应为20%以上;如果少于20%,则要通过DUMP TRANsaction命令备份事务日志或截断事务日志。

后面的最后三个参数要详细讲一讲。

2.检查数据库系统日志,检查是否当中有错误记录,并作出处理。

检查步骤:

查看数据库系统日志,文件名一般为$Sybase/install/SYBASE.log.可通过指令vi、more或tail指令检查

*** 作系统命令

# cd $sybase/ASE-12_5/install

# tail -500 sybase.log

检查messages文件最后500行的输出信息,并进行分析。

注:tail所加的参数视具体情况而定,原则上要看上一日的信息。

参考指标:

若日志中有’ Error:’的字眼,则数据库系统管理员应根据出错代码进一步处理。

备注:

错误代码可以参考 Enterprise Troubleshooting and Error Messages Guide Volume 1-3 的字眼,数据库系统管理员应根据出错代码进一步处理。

第一步:设定Sybase数据库自动截断日志:

方法一:

[sql]

isql -Usa -Ppassword -Ssybaseserver

>sp_dboption database_name,"trunc log on chkpt",true

>go

>checkpoint

>go

方法二:在sybase central 数据库属性对话框的选项页中选择“在检查点上截断日志”项。

第二步:清空日志:

方法一:

[sql]

>dump transaction database_name with truncate_only

>go

通常删除事务日志中不活跃的部分可使用“dumptransaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。

详细步骤,已测试成功[@more@]

1、备份数据库,包括 master 和你要分离数据与日志的应用库,最好是备份所有数据库;

2、检查数据库的日志是否有单独的存放设备,如有,则直接到第5步;

3、如没有单独的日志设备,则增加一个设备:disk init .....;

4、alter database db_name log on new_log_device=xxx

5、sp_logdevice dbname,new_logdev (移动日志设备)

6、sp_dropsegment logsegment, db_name, device_name (如果数据库有多个设备既放数据又放日志,则

要相应的运行几次

7、创建一个临时表,然后往里面插入足够的数据,然后截断日志

use db_name

go

create table t1 (id int)

go

declare @loop int

select @loop = 1

while(@loop<500)

begin

insert t1 values(@loop)

select @loop = @loop + 1

end

go

dump tran db_name with truncate_only

go

8、到此,数据与日志的分离已经完成,使用sp_helpdb db_name或sp_helplog查看是否已分离。

增加和删除 segment 并不移动当前的已分配空间。日志至少有一个扩充(extend)位于以前的 segment

上(还记得吗,为对象分配存贮单元时,实际是以 extend 为单位的。)。如果当前 extend 被填满,需要再

为日志分配时,ASE会在新的 segment 上分配(segment 约束它不得不这么做)。此时,截断日志就可以回收

以前分配的 extend 了。

最后,还是要备份所有数据库.


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

原文地址: https://outofmemory.cn/sjk/6781604.html

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

发表评论

登录后才能评论

评论列表(0条)

保存