`
lubacui
  • 浏览: 26273 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Sybase临时表空间tempdb已满的处理 转

阅读更多
Sybase临时表空间是Sybase数据库的重要组成部分,下面就为您详细介绍Sybase临时表空间tempdb已满的处理方法,供您参考。

开发数据库服务器遇到这样的一个问题,使用了一段时间之的后,突然之间数据库就用不了了,现象是新连接连接不上,已经连接的执行sql时,报出tempdb日志满了,无法进行操作的错误,而且控制台无法连接上服务器,所有操作都无法正常进行。

经过上网查询,得知是tempdb日志满了,缺省情况下,tempdb数据库是放置在master设备上,容量为2M,而临时数据库是活动最为平凡的数据库常常被用来排序、创建临时表、重格式化等操作,所以tempdb的优化应该受到特别的关注。安装Sybase的时候就应该把tempdb的空间扩大,并且最好新建一个表空间给它专门用。

正常的时候可以用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 init
name="tempdblog",
physname="D:/Sybase/tempdblog.dat",
vdevno=11,
size= 409600
go

新建好表空间后,将该空间分配给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,master
sp_dropsegment logsegment,tempdb,master 还可以将临时数据库与高速缓冲进行绑定
tempdb数据库是活动最为平凡的数据库,常常被用来排序、创建临时表、重格式化等操作,它会频繁地使用数据缓存,所以应为临时数据库创建高速缓存,从而可以使其常驻内存并有助于分散I/O,根据服务器的实际情况,我们为tempdb数据库创建100M的高速缓存,实现方法如下:
创建命名高速缓存
sp_cacheconfig “tempdb_cache”,”100m”,”mixed”
go
2、重新启动server
3、捆绑临时数据库到tempdb_cache高速缓存
sp_bindcache “tempdb_cache”, tempdb
go

分享到:
评论

相关推荐

    SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案

    数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限。 ...

    数据库tempdb的日志已满

    数据库tempdb的日志已满数据库tempdb的日志已满

    sql server 临时表详解与示例

    1、局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。 2、全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它的连接都断开时自动删除。 3、不管局部临时表还是全局临时表,只要连接有...

    存储过程中的临时表使用方法

    创建临时表。临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。

    恢复tempdb到安装初始化状态

    恢复tempdb数据库的方法要分两个部分。首先将tempdb重设到默认大小;其次确认和改变tempdb数据库到新的设备上

    临时表操作详解SQL Server 实例

    临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。 临时表有两种类型:本地和全局。它们在名称、可见性以 及可用性上有区别。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户...

    SQL Server 临时表用法 object_id sysobjects tempdb dbo #temp

    临时表存储在tempdb中,当不再使用时会自动删除。临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。 临时表有如下几个特点: 本地临时表就是用户在创建表的时候添加了”#”前缀的表,其特点是...

    tempdb太大引起磁盘容量不足的解决方案.docx

    tempdb太大引起磁盘容量不足的解决方案

    Sql Server临时表和游标的使用小结

    临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。 临时表有局部和全局两种类型 2者比较: 局部临时表的名称以符号 (#) 打头 仅对当前的用户连接是可见的 当用户实例断开连接时被自动删除...

    查询数据库中表空间情况

    当我们无法从oracler的登录界面查询表空间的情况的时候可以用这个SQL语句查询出表空间的情况

    sybase日志问题知识普及

    SYBASE SQL Server 的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有syslogs表。Log记录用户对数据库修改的操作,所以如果不用...

    计算机等考三级数据库基础:一次TempDB损毁的处理过程.docx

    计算机等考三级数据库基础:一次TempDB损毁的处理过程.docx

    SQLServer中临时表与表变量的区别分析

    在实际使用的时候,我们如何灵活的在存储过程中运用它们,虽然它们实现的功能基本上是一样的,可如何在一个存储过程中有时候去使用临时表而不使用表变量,有时候去使用表变量而不使用临时表呢? 临时表  临时表与...

    SQL Server使用游标处理Tempdb究极竞争-DBA问题-程序员必知

    这里给大家剖析下游标在tempdb中的特点使其在一定场景下替代临时表/表变量对象,解决深层次的tempdb竞争问题. 在抛出这个不可避免的问题之前我们先简要看下什么是tempdb竞争. 我们拿SQL Server创建一个临时表的过程来...

    Sybase ASE快速参考手册

    4.11 关于tempdb的优化 96 4.12 ASE12.5.x的一条有用的命令: disk resize 97 4.13 如何更改字符集为cp936 97 5. 灾难恢复篇 99 5.1 数据库服务不能启动 99 5.1.1 如何查找数据库启动失败原因 99 5.1.2 简单故障及...

    sql server 临时表 查找并删除的实现代码

    if exists(select * from tempdb..sysobjects where id=object_id(‘tempdb..#temp’)) drop table #temp临时表 可以创建本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。 本地临时...

    如何查看SQLSERVER中某个查询用了多少TempDB空间

    最近帮助客户做sql优化的过程中,发现客户的TempDB存在非常大的压力,经过排查是发现某些语句对TempDB的巨量使用所导致。那么如何才能排查出来呢,我们来探讨下。

    Sybase ASE快速参考手册.pdf

    本文档详细介绍了sybase ASE的从基本感念到具体的详细的操作,目录如下: 1. 基本概念篇 5 1.1 什么是Sybase Adaptive Server Enterprise (ASE)? 5 1.2 Sybase 具有哪些Server以及这些Server的用途? 5 Backup...

    如何查看某个查询用了多少TempDB空间

    一些比较复杂的查询中由于涉及到了大量的并行、排序等操作时需要大量的内存空间,每一个查询在开始时都会由SQL Server预估需要多少内存,在具体的执行过程中,如果授予的内存不足,则需要将多出来的部分由TempDB处理...

Global site tag (gtag.js) - Google Analytics