Sybase12日志满的解决办法2
数据库硬盘满了如何清空数据库日志
![数据库硬盘满了如何清空数据库日志](https://img.taocdn.com/s3/m/1d7be22c2e60ddccda38376baf1ffc4ffe47e26b.png)
数据库硬盘满了如何清空数据库日志
SQL SERVER 数据库日志占用很大的空间 ,如果长时间不清除,就会影响数据存储。 一、工具 sql server 二 方法步骤 1、打开sql server 数据库,找到要清除日志的库。 2、鼠标选中对应的数据库名称,右键——属性,将选项里的恢复模式改成【简单】。
3、右键——任务——收缩——文件
4、找到文件类型,改成【日志】,勾选收缩操作的第二项,并填写将文件收缩的大小,最后点击【确认】即可。
Sybase数据库空间满了的处理方案
![Sybase数据库空间满了的处理方案](https://img.taocdn.com/s3/m/20152619f02d2af90242a8956bec0975f565a452.png)
Sybase日志满了处理方案在Sybase SQLServer中,我们的bshare数据库停止运行,查看日志显示如下: Can't allocate space for object 'tbs_stop_time_log' in database 'bshare' because 'default' segment is full/has no free extents. If you ran out of space in syslogs, dump thetransaction log. Otherwise, use ALTER DATABASE to increase the size of the segment.由上面的错误信息可以看出没有数据库”default”段没空间了。
可以通过两种方案实现相关的功能。
查看数据库的设备使用情况:Sp_helpdb bshare查看数据段和日志段信息sp_helpsegment查看默认段:sp_helpsegment default查看日志段:sp_helpsegment logsegment方案一:添加数据库设备空间1. root用户登录系统创建相关的逻辑卷lvcreate -L 5120M /dev/vg01/lv_bsharedev2 vg012. 修改设备文件的属主和权限chmod 777 /dev/vg01/lv_bsharedev2chown sybase:sybase /dev/vg01/lv_bsharedev23. 切换sybase用户su – Sybase4. 以sa用户登录master数据库isql –Usa –P -SQ5_DSuse master5. 选择master数据库,添加数据库设备查看设备编号sp_helpdevice添加设备信息DISK init name='bshare_dev2',physname='/dev/vg01/lv_bsharedev2', #创建lv的路径vdevno='16', #在原设备中不存在的编号size ='5120M' #设备大小必须小于等于lv大小备注:disk init name = '设备逻辑名',physname = '设备路径及物理名',size = '大小6. 设置设备对应的数据库alter database bshareon bshare_dev2=’5120M’;备注:alter database your_db on 设备逻辑名 = '大小'方案二:截断数据日志或者情况日志1. 截断日志的方法dump transaction bshare with no_log或者dump tran bshare with truncate_only;2. 操作上面命令之后需要停止ASE(先停止备份服务,然后停止服务器) shutdown –f Q5_DS_BSshutdown Q5_DS。
系统日志已满解决办法
![系统日志已满解决办法](https://img.taocdn.com/s3/m/661ec88f84868762caaed56a.png)
1、系统日志已满出现的情况和错误提示。
在使用非管理员组成员帐号登录到运行Windows Server 2003或微软Windows XP的计算机时,你可能在登录窗口中看到以下
信息:“该系统安全日志已满。
只有管理员才能登录解决问题。
”
2、以超级管理员方式登录计算机。
用户名:administrator,密码:建立windows系统时的超级管理员密码(如果没有设置,密码为空),登录到:选择本机
3、登录后,鼠标右键我的电脑,选择管理。
4、在计算机管理界面,点击事件查看器左侧的加号,将其展开。
5、分别用鼠标右键点击安全性、应用程序、系统,并选择清除所有事件。
6、在下面的对话框提示中选择“否”即可。
7、重启电脑后,以自己的用户名登录,问题既可解决。
如何解决Sybase数据库堆栈溢出导致的异常
![如何解决Sybase数据库堆栈溢出导致的异常](https://img.taocdn.com/s3/m/43f69496e53a580217fcfe06.png)
如何解决Sybase数据库堆栈溢出导致的异常(v 1.0)版本说明目录版本说明 (2)故障现象: (4)故障原因: (4)处理方法: (4)故障现象:SYBASE数据库异常退出,重新启动失败,访问不了数据库。
查看数据库日志,出现如下系统日志:00:00000:00000:2004/10/13 23:30:00.75 kernel Stack overflow detected: limit: 0xf8446ab0, sp: 0xf845275c 00:00000:00000:2004/10/13 23:30:00.75 kernel *** Stack guardword corrupted.00:00000:00000:2004/10/13 23:30:00.77 kernel pc: 0x006654d0 pcstkwalk+0x24(0xf8452688, 0x00000000, 0x0000270f, 0x00000002, 0xfffffff8)00:00000:00000:2004/10/13 23:30:00.78 kernel pc: 0x006653dc ucstkgentrace+0x194(0x00040004, 0x00000000, 0x00000000, 0xf8eff590, 0x00000000)00:00000:00000:2004/10/13 23:30:00.78 kernel pc: 0x00632300 ucbacktrace+0xa8(0xf8eff590, 0x00000001, 0x00040004, 0x00000008, 0xf845275c)故障原因:SYBASE数据库堆栈溢出,可能是某些很长的where子句、较长的选择列表、深层嵌套的存储过程在执行时导致原来配置的堆栈大小不够用导致,需要修改堆栈大小。
处理方法:方法一:***********************************************************************use mastergosp_configure stackgo会显示如信息:Parameter Name Default Memory Used Config Value Run Value-------------- ------- ----------- ------------ ---------esp executionstacksize 34816 0 34816 34816 stack guardsize 4096 #908 40964096stacksize 46080 #10216 46080 46080***********************************************************************注意记下上述结果中 stack size 对应的Default值(红色字体标注),用下面的命令扩大为现在的2倍。
sql2012日志文件过大的处理方法
![sql2012日志文件过大的处理方法](https://img.taocdn.com/s3/m/c68ae0ac6aec0975f46527d3240c844768eaa053.png)
sql2012日志文件过大的处理方法SQL Server是一个广泛使用的关系型数据库管理系统,它的日志文件记录了数据库的所有操作,包括增删改查等。
随着数据库的使用增加,日志文件的大小也会不断增长,如果不及时处理,会占用大量磁盘空间,影响系统性能。
本文将介绍SQL Server 2012日志文件过大的处理方法。
1. 查看日志文件大小我们需要查看当前数据库的日志文件大小,可以使用以下SQL语句:```USE [数据库名]GOEXEC sp_helpfile```其中,[数据库名]为需要查看的数据库名称。
执行以上语句后,可以得到当前数据库的日志文件大小和路径信息。
2. 查看日志文件使用率接下来,我们需要查看当前日志文件的使用率,以确定是否需要进行日志文件的处理。
可以使用以下SQL语句:```USE [数据库名]GODBCC SQLPERF(logspace)```执行以上语句后,会返回当前数据库的日志文件使用情况,包括日志文件大小、已使用空间和剩余空间等信息。
3. 备份日志文件在进行日志文件处理之前,建议先备份当前的日志文件,以防止数据丢失。
可以使用以下SQL语句进行日志文件备份:```BACKUP LOG [数据库名] TO DISK = '备份路径'```其中,[数据库名]为需要备份的数据库名称,'备份路径'为备份文件的保存路径。
4. 缩小日志文件一旦确定需要处理日志文件,可以使用以下SQL语句缩小日志文件:```USE [数据库名]GODBCC SHRINKFILE (2, TRUNCATEONLY)```其中,[数据库名]为需要处理的数据库名称,2为日志文件的文件ID。
执行以上语句后,日志文件将被缩小到最小的可用大小。
5. 修改日志文件大小如果上述方法无法满足需求,还可以考虑修改日志文件的大小。
可以使用以下SQL语句修改日志文件的大小:```USE [数据库名]GOALTER DATABASE [数据库名] MODIFY FILE ( NAME = N'逻辑日志文件名', SIZE = 新大小)```其中,[数据库名]为需要修改的数据库名称,'逻辑日志文件名'为日志文件的逻辑名称,新大小为需要设置的日志文件大小。
SYBASE数据库常见的问题总结
![SYBASE数据库常见的问题总结](https://img.taocdn.com/s3/m/109a673f5022aaea988f0f08.png)
SYBASE数据库常见的问题总结SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结 (2)1. SYSLOGS日志满了进不了系统,如何清除日志启动系统 (3)2. 数据库日志损坏时重建日志启动数据库的解决办法 (6)3. 数据库处于可疑状态的解决方法 (7)4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库? (10)5.不小心直接删除了日志的设备文件,如何恢复数据库? (17)6.sa密码忘记了导致isql -Usa -P******进不去怎么办? (19)7.关于sybase的配置-(数据库慢的请留意) (20)8.设备路径更改的方法 (26)9.dump文件load后数据库访问不了解决办法 (27)10.sybase数据库备份方案 (27)11.master数据库状态被置为-32768后的处理方法 (35)1. SYSLOGS日志满了进不了系统,如何清除日志启动系统业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决:第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。
系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,完成修改后应立即禁用allow updates to system tables。
1>sp_configure "allow update",12>go第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。
sql数据库日志已满的处理方式
![sql数据库日志已满的处理方式](https://img.taocdn.com/s3/m/72612c8516fc700abb68fce6.png)
DBCC SHRINKDATABASE收缩指定数据库中的数据文件大小。
语法DBCC SHRINKDATABASE( database_name [ , target_percent ][ , { NOTRUNCATE | TRUNCATEONLY } ])参数database_name是要收缩的数据库名称。
数据库名称必须符合标识符的规则。
有关更多信息,请参见使用标识符。
target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。
NOTRUNCATE导致在数据库文件中保留所释放的文件空间。
如果未指定,将所释放的文件空间释放给操作系统。
TRUNCATEONLY导致将数据文件中的任何未使用的空间释放给操作系统,并将文件收缩到上一次所分配的大小,从而减少文件大小,而不移动任何数据。
不试图重新定位未分配页的行。
使用TRUNCATEONLY 时,忽略target_percentis。
注释Microsoft® SQL Server™可收缩:特定数据库的所有数据和日志文件。
执行DBCC SHRINKDATABASE。
一次一个特定数据库中的数据或日志文件。
执行DBCC SHRINKFILE。
DBCC SHRINKDATABASE 以每个文件为单位对数据文件进行收缩。
然而,DBCC SHRINKDATABASE 在对日志文件进行收缩时,看起来好像所有的日志文件都存在于一个连续的日志池中。
假设名为mydb 的数据库有两个数据文件和两个日志文件。
这些数据文件和日志文件大小都为10 MB。
第一个数据文件包含6 MB 数据。
对于每个文件,SQL Server 计算目标大小,即要收缩文件到的大小。
当用target_percent 指定DBCC SHRINKDATABASE 时,SQL Server 计算的目标大小是收缩后文件中的target_percent可用空间大小。
例如,如果指定按target_percent 为25 收缩mydb。
Sybase不能启动、日志满、空间不够、数据库迁移
![Sybase不能启动、日志满、空间不够、数据库迁移](https://img.taocdn.com/s3/m/7e25fd7b9b6648d7c0c74610.png)
Sybase不能启动、日志满、空间不够、数据库迁移一、现状介绍国庆长假回来,例行检查系统,发现SAP Solution Manager不能启动,介绍下公司的SAP Solution Manager,部门负责人定下了Sybase 16.0 Sp3+SAP Solution Manager 7.2 SP06,硬件是一台组装台式机,内存32G,硬盘二块SSD硬盘,一块256G,一块500G,当初上项目,负责人为了省人天,安装是我安装的,配置是顾问配置的,留下的文档不全。
槽点1、数据库为什么要选Sybase,(SAP的数据库是Hana 2.0)这就要求系统管理员要懂Sybase。
槽点2、为什么要装在兼容机的工作站上,不便宜,配下来差不多快9000元了,为什么不放到虚拟机里。
当初装系统时,负责人说256G硬盘要用作别的用途,于是我把500G划了150G给系统盘,当时的想法是免得天长日久后系统盘空间不够,数据库和SAP的D盘350G,安装完成后D盘只余40G空间了,现在想要用C盘空间了。
二、问题描述SAP SolutionManager启动报错,logsegment is full要么扩大数据库日志文件,要么做清除日志操作!于是先备份下,无奈,备份也做不了,同样的报错!三、问题操作1、扩数据库日志文件,这里做了个错误操作,错误操作成扩数据库文件了,本来D盘还有40G空间的,结果满了,如下截图:2、于是清除掉SAP work目录下的日志,trans下的日志,以及EPS下的补丁文件,整理出了800M空间。
3、现在只有清除日志一条路了>dump transaction database_name with truncate_only>go清除日志后,可以顺利启动,可以登陆,但D盘没有空间了,SAP日志满了就会死机,这要解决,想着要把数据库文件移到E盘去。
4、先备份到E盘,压缩比为5dump database SMA to "E:\backup\SMA_data_001.dat" compression=5go如下截图,然后看了看,备份有70G左右,C盘够,移到C盘吧,现在有了备份,可以实施迁移了,为了顺利进行迁移,特意新建了一个test数据库进行二种迁移方法的测试,二种方法都是可行的。
SYBASE数据库的使用及日常问题的解决方法
![SYBASE数据库的使用及日常问题的解决方法](https://img.taocdn.com/s3/m/0e081bec0975f46527d3e19b.png)
SYBASE数据库的使用及日常问题的解决方法中兴通讯固网南京用服部辛国成摘要:介绍sybase数据库的基础知识和核心系统SQL Server的基本特征以及sybase软件重要组成、系统库和用户数据库主要部分,sybase数据库各种问题的处理。
关键词: SQL Server 数据库备份BCP表操作1 Sybase基础知识1.1 Sybase软件的组成Sybase软件可划分为以下三个部分:(1)进行数据管理与维护的联机关系数据库管理系统Sybase SQL Server;( 2 )支持数据库应用系统的建立和开发的一组前端工具软件Sybase SQL Tools;(3)可把异构环境下其他厂商的应用软件和任何类型的数据连接在一起的接口软件Open Client/Open Server。
SQL Server是个可编程的数据库管理系统(DBMS),它是整个Sybase产品的核心软件,起着数据管理、高速缓冲区管理、事务管理的作用。
1.2 SQL Server的基本特征SQL Server是个关系数据库管理系统,它具有如下一些基本特征:(1)SQL Server可以放在若干个磁盘设备上,初始安装时所需的磁盘空间根据版本不同需要的空间不同。
(2)SQL Server支持多库结构,也就是说Sybase系统中可以有多个数据库。
Sybase可以管理多个数据库。
(3)SQL Server可以编译和运行T-SQL语句,并可返回客户程序所要求的结果。
T-SQL语句是标准SQL的扩充,它除了有数据定义语句、数据操纵语句和数据控制语句之外,主要增加了流程控制语句。
(4)SQL Server可以管理多个用户并具有较高的事务吞吐量和较低的事务响应时间。
1.3 客户/服务器体系结构Sybase系统是一种建立在客户/服务器体系结构上的数据库管理系统。
那么什么是客户/服务器体系结构?从硬件角度看,客户/服务器体系结构是指将某项任务在两台或多台机器之间进行分配,其中客户机(Client)用来运行提供用户接口和前端处理的应用程序,服务器机(Server)提供客户机使用的各种资源和服务。
解决SQL数据库日志已满的问题
![解决SQL数据库日志已满的问题](https://img.taocdn.com/s3/m/a4390116f18583d049645913.png)
解决SQL数据库日志已满的问题1、右键数据库→属性→选项→故障还原模型→设为简单→确定;2、右键数据库→所有任务→收缩数据库→确定;3、右键数据库→属性→选项→故障还原模型→设为大容量日志记录→确定。
二、复杂方法1、清空日志DUMP TRANSACTION库名WITH NO_LOG2、截断事务日志BACKUP LOG数据库名WITH NO_LOG3、收缩数据库文件(如果不压缩,数据库的文件不会减小)企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1)4、为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)a.分离数据库企业管理器--服务器--数据库--右键--分离数据库b.在我的电脑中删除LOG文件c.附加数据库企业管理器--服务器--数据库--右键--附加数据库此法将生成新的LOG,大小只有500多K或用代码:下面的示例分离pubs,然后将pubs 中的一个文件附加到当前服务器。
a.分离EXEC sp_detach_db @dbname = 'pubs'b.删除日志文件c.再附加EXEC sp_attach_single_file_db @dbname = 'pubs',@physname = 'c:\ProgramFiles\Microsoft SQL Server\MSSQL\Data\pubs.mdf'5、为了以后能自动收缩,做如下设置企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"--SQL语句设置方式:EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE'6、如果想以后不让它日志增长得太大企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)--SQL语句的设置方式:alter database 数据库名modify file(name=逻辑文件名,maxsize=20)特别注意:请按步骤进行,未进行前面的步骤,请不要做后面的步骤,否则可能损坏你的数据库。
Sbase清除日志
![Sbase清除日志](https://img.taocdn.com/s3/m/82572d14866fb84ae45c8d23.png)
一. Sybase数据库清除日志1. cmd进入命令窗口.2. 输入以下命令:isql –Usa –S Servername (数据库服务名)Password:如果没有密码直接回车1〉use pj(数据库名)2〉go3〉dump tran pj with no_log4〉go二. Sybase数据库清除表中数据1. cmd进入命令窗口.2. 输入以下命令:isql –Usa –S Servername (数据库服务名)Password:如果没有密码直接回车1〉use pj(数据库名)2〉go3〉trun cate table TableName(表名)4〉go三.在Sybase中查看表中数据1.打开Sybase 下的SQL Advantage 。
2.选择菜单[Server]---[Connect].见下图2.见下图,选择数据库。
点Ctrl+E执行,见结果:四.数据库备份与恢复1.备份数据库⑴选择要备份的数据库.点右键,选择备份.见下图.⑵出现以下窗口:选择下一步.⑶选择备份类型: 选择下一步.⑷选择转储设备: 选择[增加],出现以下窗口:填写路径及文件名.不能是中文路径确定后选择下一步.⑸选择备份名: 点下一步⑹点击完成,开始备份:⑺在H:\下创建了123备份文件.2.恢复数据⑴选择要备份的数据库.点右键,选择备份.见下图.⑵创建一个恢复命令: 选择下一步.出现以下窗口:选择下一步.⑶ 选择转储设备:确定后,选择下一步至完成.出现恢复画面:⑷ 数据恢复完成.填写路径及文件名.不能是中文路径。
处理操作系统安全日志装满时的情况
![处理操作系统安全日志装满时的情况](https://img.taocdn.com/s3/m/7f246ebad1f34693daef3edf.png)
处理操作系统安全日志装满时的情况1.首先打开事件查看器。
单击“开始”→“设置”,然后请你单击“控制面板”,双击“管理工具”,然后再双击“事件查看器”即可。
2.在随后出现的控制台树中,用右键单击“安全日志”,然后单击“属性”。
3.接着在“常规”选项卡上,单击“改写久于n天的事件”(默认是7天前)或“不改写事件(手动清除日志)”。
4.改变日志文件的大小,默认是512KB。
5.接下来点击“开始”→“运行”,再输入“RegEdit”命令打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Lsa分支,这时用右键点击“CrashOnAuditFail”,选择创建“REG_DWORD”类型,赋值为1即可。
6.完成此操作后,需要重新启动你的计算机。
1、加快开机及关机速度在[开始]-->[运行]-->键入[Regedit]-->[HKEY_CURRENT_USER]-->[ControlPanel]--> [Desktop],将字符串值[HungAppTimeout]的数值数据更改为[200],将字符串值[WaitToKillAppTimeout]的数值数据更改为1000.另外在[HKEY_LOCAL_MACHINE]-->[System]-->[CurrentControlSet]-->[Control],将字符串值[HungAppTimeout]的数值数据更改为[200],将字符串值[WaitToKillServiceTimeout]的数值数据更改1000.2、自动关闭停止响应程序在[开始]-->[运行]-->键入[Regedit]-->[HKEY_CURRENT_USER]-->[Control Panel]-->[Desktop],将字符串值[AutoEndTasks]的数值数据更改为1,重新启动即可。
sybase日志清除
![sybase日志清除](https://img.taocdn.com/s3/m/a9f2fa02de80d4d8d15a4fa7.png)
sybase中如何清除日志文件(2009-02-16 14:09:25)dump transaction master with no_loggodump transaction model with no_loggodump transaction sybsystemdb with no_loggodump transaction sybsystemprocs with no_loggodump transaction tempdb with no_loggo我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。
事务是SQL Server的工作单元。
一个事务包含一条或多条作为整体执行的T-SQL语句。
每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。
事务日志自动记录每个用户发出的每个事务。
日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。
一、SYBASE SQL Server 如何记录和读取日志信息SYBASE SQL Server是先记Log的机制。
每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。
一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。
该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。
若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。
这样就保证了整个数据库系统的一致性和完整性。
二、日志设备Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。
一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。
这样做有如下好处:一是可以单独地备份 Backup事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。
SYBASE常见问题
![SYBASE常见问题](https://img.taocdn.com/s3/m/b5efc1c2d5bbfd0a7956732f.png)
SYBASE常见问题1.Sybase数据库日志满碰到这种情况,常会出现能查询数据,但无法更新数据,启动事务等。
在代码中跟踪可以发现,连接能够打开,但事务却无法开启。
常会提示“Connection to Sybase server has been lost. All active transactions have been rollbacked”的错误信息。
解决办法:若是开发数据库,则直接清除日志即可。
若是正式数据库:建议备份当前日志再清空日志,扩日志设备及日志数据库。
清空日志的语句为『dump transaction database_name with no_log 』2.Sybase中文乱码出现这种情况的原因是sybase的服务器字符集不支持中文或是客户端的字符集与服务端字符集不一致。
可以考虑更改sybase的默认字符集。
在Sybase12.5的版本中支持中文的字符集有CP936、EUCGB、UTF-8和GB18030。
这里我们针对Sybase 服务器字符集不支持中文给出解决办法:解决办法(安装cp936字符集):假设sybase的安装路径为"D:\Sybase"。
(1)D:\>cd \sybase\charsets\cp936(2) D:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936(3) 在InterActiveSQL中执行『select name,id from syscharsets』,需注意的是这里要选择在“master”数据库下执行,第4步也是。
找到name为cp936的ID,假定是171。
(4)在InterActiveSQL中执行『sp_configure 'default character set id',171』(5) 重启Sybase服务两次。
迅速帮你解决SQLServer日志满问题综合教程-电脑资料
![迅速帮你解决SQLServer日志满问题综合教程-电脑资料](https://img.taocdn.com/s3/m/efdfa5ac8662caaedd3383c4bb4cf7ec4afeb6d3.png)
迅速帮你解决SQLServer日志满问题综合教程-电脑资料本文先提供一种复杂的方法压缩日志及数据库文件,。
1.清空日志:DUMP TRANSACTION 库名 WITH NO_LOG。
2.截断事务日志:BACKUP LOG 数据库名 WITH NO_LOG。
3.收缩数据库文件(如果不压缩,数据库的文件不会减小:企业管理器->右键你要压缩的数据库->所有任务->收缩数据库->收缩文件->选择日志文件->在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了->选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了,也可以用SQL语句来完成。
--收缩数据库:DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1)。
4.为了最大化的缩小日志文件(如果是SQL 7.0,这步只能在查询分析器中进行)。
a.分离数据库:企业管理器--服务器--数据库--右键--分离数据库。
b.在我的电脑中删除LOG文件。
c.附加数据库:企业管理器--服务器--数据库--右键--附加数据库。
此法将生成新的LOG,大小只有500多KB或用代码:下面的示例分离pubs,然后将 pubs 中的一个文件附加到当前服务器。
a.分离:EXECsp_detach_db @dbname = 'pubs'。
b.删除日志文件c.再附加:EXECsp_attach_single_file_db@dbname = 'pubs',@physname ='c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf'5.为了以后能自动收缩,做如下设置:企业管理器->服务器->右键数据库->属性->选项->选择“自动收缩"->SQL语句设置方式:EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE',电脑资料《迅速帮你解决SQL Server 日志满问题综合教程》(https://www.)。
SYBASE数据库常见的问题总结
![SYBASE数据库常见的问题总结](https://img.taocdn.com/s3/m/aea664434a7302768e9939a5.png)
SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结 (1)1. SYSLOGS日志满了进不了系统,如何清除日志启动系统 (1)2. 数据库日志损坏时重建日志启动数据库的解决办法 (3)3. 数据库处于可疑状态的解决方法 (5)4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库? (8)5.不小心直接删除了日志的设备文件,如何恢复数据库? (13)6.sa密码忘记了导致isql -Usa -P******进不去怎么办? (15)7.关于sybase的配置-(数据库慢的请留意) (15)8.设备路径更改的方法 (19)9.dump文件load后数据库访问不了解决办法 (20)10.sybase数据库备份方案 (20)11.master数据库状态被置为-32768后的处理方法 (26)1. SYSLOGS日志满了进不了系统,如何清除日志启动系统业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决:第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。
系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,完成修改后应立即禁用allow updates to system tables。
1>sp_configure "allow update",12>go第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。
Sybase临时表空间已满的处理
![Sybase临时表空间已满的处理](https://img.taocdn.com/s3/m/5a1925ef172ded630b1cb6e6.png)
正常的时候可以用sp_helpdb tempdb命令查看tempdb,可以看到tempdb占用空间的情况。
如果日志满了,可以执行dump tran tempdb with truncate_only或者dump tran tempdb with no_log来清除日志,但是现在根本无法执行该语句,因为tempdb已经满了,根本没有空间来执行该语句(如果出现Sybase的服务也无法启动的情况就需要把jsj重启,然后再去启动Sybase的服务),这该怎么办,好像进入了一个死循环里,日志满了要清除,但因为满了又无法清除,看来只能先扩容了,现在已经没有一个空闲的表空间了,控制台根本无法连接上数据库,只能用语句来新建一个表空间,下面是新建表空间的语句:执行disk init命令必须先执行use master命令。
disk initname="tempdblog",physname="D:/Sybase/tempdblog.dat",vdevno=11,size= 409600go新建好表空间后,将该空间分配给tempdb存放日志用如下命令:alter database tempdb log on tempdblog=800【注】执行上面的语句之前执行sp_helpdb tempdb命令发现db_size为12MB,执行完上面的语句后db_size变为812MB。
alter database tempdb on tempdbdata=1024 dump tran tempdb with truncate_only或者dump tran tempdb with no_log如果不想占用master的空间,可以执行如下语句将master上为tempdb的空间删除:sp_dropsegment "default",tempdb,mastersp_dropsegment logsegment,tempdb,master 还可以将临时数据库与高速缓冲进行绑定tempdb数据库是活动最为平凡的数据库,常常被用来排序、创建临时表、重格式化等操作,它会频繁地使用数据缓存,所以应为临时数据库创建高速缓存,从而可以使其常驻内存并有助于分散I/O,根据服务器的实际情况,我们为tempdb数据库创建100M的高速缓存,实现方法如下:创建命名高速缓存sp_cacheconfig “tempdb_cache”,”100m”,”mixed”go2、重新启动server3、捆绑临时数据库到tempdb_cache高速缓存sp_bindcache “tempdb_cache”, tempdbgo。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sybase12.5日志满问题的解决日志满分为两种情况:1.非master(用户库或者其他系统库sybsystemprocs)库的日志满,导致用户库不能访问;2.系统库master日志满,导致服务都不能正常启动。
针对以上情况要分别对待处理。
1.非master库日志满的处理:重庆数据库后台sybsystemprocs库日志报满:09:00000:01631:2011/11/13 06:45:36.16 server Error: 3475, Severity: 21, State: 709:00000:01631:2011/11/13 06:45:36.16 server There is no space available in SYSLOGS to log a record for which space has been reserved. This process will retry at intervals of one minute.11:00000:04104:2011/11/13 06:20:11.87 server Space available in the log segment has fallen critically low in database 'sybsystemprocs'. All future modifications to this database will be suspended until the log is successfully dumped and space becomes available.00:00000:02407:2011/11/13 06:20:11.89 server Error: 2812, Severity: 16, State: 500:00000:02407:2011/11/13 06:20:11.89 server Stored procedure 'sp_thresholdaction' not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).或某个用户库etoh2_cq的日志空间满报:00:00000:00001:2008/12/02 17:28:07.38 server<wbr style="line-height:21px; text-align:left"><span style="line-height:21px; text-align:left">Error: 1105, Severity: 17, State: 3</span><brstyle="line-height:21px; text-align:left"><span style="line-height:21px;text-align:left">00:00000:00001:2008/12/02 17:28:07.38 server</span><wbr style="line-height:21px; text-align:left"><span style="line-height:21px; text-align:left">Can't allocate space for object 'syslogs' in database 'etoh2_cq' because 'logsegment' segment is full/has no free extents. If you ran out of space in syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment to increase size of the segment.</span><br style="line-height:21px; text-align:left"><spanstyle="line-height:21px; text-align:left">00:00000:00001:2008/12/02 17:28:07.38 server</span><wbr style="line-height:21px; text-align:left"><span style="line-height:21px; text-align:left">Error: 3475, Severity: 21, State: 7</span><br style="line-height:21px; text-align:left"><spanstyle="line-height:21px; text-align:left">00:00000:00001:2008/12/02 17:28:07.38 server</span><wbr style="line-height:21px; text-align:left"><span style="text-align:left">There is no space available in SYSLOGS for process 1 to log a record for which space has been reserved. This process will retry at intervals of one minute. The internal error number is -4.</span></wbr></wbr></wbr></wbr>处理方法步骤:1、马上增加日志设备,并把设备分配给数据库。
alter database name log on 设备名=200;--设备名泛指日志设备,如果设备文件还没在磁盘上初始化,则先需要disk init初始化设备文件,--如果是系统库,可以考虑先不加设备。
go2、把数据库置于-32768状态,再把日志清除。
-- -32768这个状态值根据实际情况作出调整.--各状态值的含义详见我的blog:Sybase ASE12.5数据库状态值的含义。
--/xujinyang/article/details/6968650sp_configure "allow update",1goupdate master..sysdatabases set status=-32768 where name='数据库名'goshutdown with nowait<wbr>--(注意:可能会延长启动SYBASE数据库时间,若确认没有用户在用,请使用shutdown with wait)</wbr>go--在sybase install目录下startserver -f RUN_etoh--启动完成isql -Usa -P -Sservername1>dump tran database_namewith no_log2>go3>update master..sysdatabases set status=0 where name='数据库名'4>go5>sp_configure "allow update",06>go7>shutdown with nowait8>go重启SYBASE后,日志满报错数据库正常了。
2.master库日志满,已经导致数据库服务都不正常启动情况下日志如下:Recovering database 'master'00:00000:00001:2004/03/12 10:05:27.70 server Redo pass of recovery has processed 10 committed and 0 aborted transactions.00:00000:00001:2004/03/12 10:05:27.81 server No such message: 110500:00000:00001:2004/03/12 10:05:27.81 server There is no space available in SYSLOGS for process 1to log a record for which space has been reserved. This process will retry at intervals of one minute. The internal error number is -4.处理方法步骤:1、在启动文件中加-T3607 -m,然后用sa进dump tran master with no_log或alter database master on 设备名=xxxM 即可--设备名泛指master库设备如还遇到以下问题:启动报:Error: 3475, Severity: 21, State: 700:00000:00006:2004/03/12 10:38:55.71 server There is no space available in SYSLOGS for process 6 to log a record for which space has been reserved. This process will retry at intervals of one minute. The internal error number is -4.用sa登陆进不去:报:Can't allocate space for object 'syslogs' in database 'master' because'logsegment' segment is full/has no free extents. If you ran out of space insyslogs, dump the transaction log. Otherwise, use ALTER DATABASE orsp_extendsegment to increase size of the segment.Msg 3475, Level 21, State 7:There is no space available in SYSLOGS for process 6 to log a record for whichspace has been reserved. This process will retry at intervals of one minute. Theinternal error number is -4.CT-LIBRARY error:ct_connect(): user api layer: internal Client Library error: Read from the server has timed out.2、再加-T699(Turn off transaction logging for the entire SQL dataserver)这次sa可进执行alter database master on master_dev=xxxM 报和上面一样的错dump tran master with no_log也不行3、再加-T7409执行alter database master on master_dev=xxxM ok问题解决--其中/onlinebooks/group-as/asg1250e/svrtsg/是针对sybase ASE 12.5很多出错问题的处理指南。