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

Sybase ASE学习笔记1
Sybase ASE学习笔记1
&&&&& 通过这两天的学习,由于之前完全没有接触过sybase,发现sybase跟oracle或者SQL server都有比较大的差别,一是需要配置运行sybase的环境,二是sybase采用的是Transaction-SQL。三是,其数据库管理开始时让我很不习惯。
&&&&& 在接触别人安装了的sybase(linux 64bit-ase15.7)时,我发现sybase老是连不上,通过showserver命令来查看,shell却说没此命令,接着进入其安装 SYBASE_HOME/ASE-15_0/install/检查了,showserver没有问题,但启动./startServer.sh时,发现错误 了,出现了can execute file RUN_SYBASE。此刻我发现了我与本目录的RUN_*****不同,虽然意识到不同,但我只是mark下它而没有进行进一步思考。通过上网搜索资 料,如果sybase是安装成功,那么应该就是环境问题了。所以我调用./SYBASE.sh(我以为起码当前的环境就配好了),于是我就调用isql -Usa -S服务名、isql -Usa -S192.168.*.*和isql -Usa -S192.168.*.*:5000 以及它们各种变形,其间还需用注意得在SYBASE_HOME/OCS-15_0/bin目录下(即存在isql.sh脚本文件的目录下),这里花了我不 少时间来弄明白,最后通过同事的协调,请到了高人给我展示了一下其登陆过程,我才弄明白。
小结:1.出现can execute file RUN_SYBASE的错误可能是安装者修改了默认服务名而引起的。
& && & 2.调用./SYBASE.sh是不可以把环境信息导入当前的shell中的,要使用source ./SYBASE.sh才行。另外可以使用export -p来看当前shell的环境情况。
& && & 3.连接时出现了LANG的错误,可能就是sybase不识别系统使用的语言,我遇到的是由于多语言引起的。export LANG=&en_US&应该可以了 。
& &&&& 4.另外还有一个方法可以快速查sybase有没启动服务。lsof -i:端口号。端口号可以在SYBASE_HOME/interfaces可以查看端口号。
&&&&&& 5.关闭服务可以通过Kill进程,或者通过isql以SA用户登录使用shutdown go来关闭数据库
&&&&&& 6.开启数据库,./startserver.sh -f RUN_服务名 -f RUN_备份服务名
some points in sybase: sybsystemprocs 系统过程数据库 sybsystemdb 两阶段提交事务数据库 tempdb 临时数据库 master数据库存储有关用户数据库和设备的信息,但不要放置用户对象,这会导致master的事务日志很快就满。如果事务日志的空间已用完,则无法使用dump transaction命令来释放master数据库中的空间。 注意:不要将用户数据库存储在主设备上。在更改配置参数时要谨慎。
用于磁盘资源的命令:
name=&dev_name&
physname=&phys_name& ...
使某个物理设备可供特定的Adaptive Server使用。
指派数据库设备名称(dev_name),用于在其它
Adaptive Server命令中表示该设备
sp_deviceattr logicalname、
optname、optvalue
更改现有数据库设备文件的dsync设置
sp_diskdefault &dev_name&
向缺省数据库空间的常规缓冲池添加dev_name.
disk resize
name =&dev_name&
size =addtional_space
动态增加数据库设备的大少
disk mirror
name=&dev_name&
mirror =&phys_name&
在特定物理设备上镜像数据库设备
在创建登录用户时,最好指定好数据库,尽量不用master数据库,以免master有包含用户创建的数据库对象
使用配置文件可有以下几方面的好处:
1.可以使用同一个配置文件,在多台服务器上复制某一特定配置文件。
2.能够以某个配置文件为基准测试服务器的配置值。
3.可以在实际设置参数值之前,先使用配置文件对参数值进行检查。
4.可以创建多个配置文件,以便需要更改资源时在它们之间转换。
把日志放到独立的数据库设备上,可以:
1,允许使用dump transaction 命令而不是dump database命令,从而节省时间和磁带
2,允许建立固定长度的日志,防止它与其他数据库活动争用空间
3,在日志段上创建缺省的可用空间或值监控,并允许在数据库的日志和数据部分创建额外的可用空间监控。
4,提高性能
5,确保硬盘崩溃后的完全恢复。
事务日志的大小由下列因素决定:
1.相关数据库中更新活动的数量
2.事务日志转储的频率程度
查看报告日志使用情况:dbcc checktable(syslogs)
查看数据库使用情况: sp_spaceused 先通过 use 数据库名 go 去到想查看的数据库里先。
sp_spaceused输出结果列解析:
database_name 正在检查数据库的数据库名称
database_size 数据库中的大小
reserved 分配给所有在数据库中创建的表和索引的空间量。
data,index 数据和索引所用的空间。
unused 已保留但尚未被已存在的表和索引所用的空间量。
如果想删除设备,先得删除使用该设备的数据库。
将日志和数据在同一设备上的数据库的事务日志移到单独的数据库设备上:sp_logdevice dbname,devname
1,只有在单用户模式下才能执行。2,只将sp_logdevice& & 用于日志和数据都在同一设备上的数据库,不要将它使用在具有单独的日志设备的数据库上。
查看数据库大小和设备信息:sp_helpdb [dbname]。
在sybase的数据类型中,只有可变长的数据类型才能置NULL值,如varchar(n)和varbinary(n).另外输入的带有E符号的文字货币都会被看成float。
datetime 8个字节,date time smallldatetime 4个字节
sybase不能进行一下转换:
1.将smallint数据转换为datetime
2.datetime数据转换成smallint
3.将binary或varbinary数据转换为smalldatetime或datetime数据
@@boottime 返回Adaptive Server 上次启动的日期和时间
@@errorlog 返回指向Adaptive Server错误日志所在目录的完整路径。
@@maxpagesize 返回服务器的逻辑页大小。
@@servername 返回Adaptive Server的名称
@@version &返回sybase的版本
临时表名以#开头,变量名以@开头
my experiences: 在使用sybase的这几天内,遇到比较多问题: 一.如何设置linux用户登录时自动执行source SYBASE.sh?(~/.bash_profile中添加source SYBASE.sh) 二.sybase的数据库使用经验: 1.增加登录用户 以sa登录寻使用sp_addlogin loginname,password,defaultdb 增加用户。
& & & & & & & & & & & &sp_adduser loginname把用户添加到当前数据库中。
& & & & & & & & & & & 要注意的点是:sp_addlogin中虽然加入默认登录的db,但只执行该语句并不能使用户有登录默认数据库的权限,一定得使用sp_adduser加入数据库后才能访问该DB。 2.权限管理跟oracle语法差不多,只是有个别权限名字不同而已。create default、create procedure、create rule、create table、create view、create function。免得麻烦,我通常grant all。all就等于前面6个权限。如有怀疑,可通过以下方式验证:&
&&&&&&&&&&&&&&&&用dbo登录数据库, 使用该语句可以查询用户具有的权限:select a.uid,a.name,b.action from sysusers a,sysprotects where a.uid=b.uid &
& & & & & & & & 关于sysusers和sysproctects的详情可下载官方的tables文档来看。& & &
3.设备的新建: disk init name=&server中唯一识别符&,& &--不要漏了逗号 physname=&物理路径&, size=&1g&&&--不加单位为多少页,页的大小在创建服务器时已制定,可以通过select @@maxpagesize来查询,大小写均可。 改变设备的大小(只能增大):在某些版本中没有disk resize disk resize name=&dev_name&, size=&addtional_space& -- 增加的大小 sybase ase默认的设备个数为10。 4. 新建数据库. create database dbname on dev_name=size log on dev_name=size 在此过程,服务器将执行以下动作: ①.检查数据库名是否唯一 ②.检查数据库所依赖的设备是否可用,即检查该设备是否存在,和它满不满足数据库要求的空间大小。 ③.服务器将自动为该数据库寻找唯一的dbid. ④.在master的sysusages记录数据库占用设备的信息。 ⑤.在sysdatabases中新增一行。 ⑥.根据model数据库生成该数据库的系统表 ⑦.因为上述语句没有for load,所以服务器会清除该数据库设备的剩余页。 5.数据库与设备的关系 设备根据其用途大概为分为3种: ①数据设备 ②日志设备 ③混合设备 但强烈不建议使用混合设备。原因:降低数据查询速度(具体看上面)。 虽然设备与数据库是多对多的关系(即一个设备可以对应多个数据库),但个人不建议这样做,建议一个数据库对应一个数据设备和一个日志设备。想要删除设备,就先得删除依赖它的数据库,使用sp_dropdevice删除设备。 三、遇到连接错误的问题:当使用isql登录服务器时,出现这样的错误:ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failed。 一看到这个错误,应该是网络出现了问题,但使用lsof -i:5000 和RUN_servername来查看sybase服务器的状态,都没有问题,使用命令hostname -i也没有发现问题。因此具体造成此错误的原因我尚未弄明白,但通过重启服务就把它就解决了。这个错误让我想起之前我在oracle中遇到的一个问题:我 把原来关闭了orcle的console服务打开(其他相关的服务原来就开启了),打开后,我用cmd以sysdba的分配登录sqlplus时,报一个 监听错误,我用NET MANAGER查看监听信息,与ora的配置文件中信息对比,都没有发现错误,最后重启一个listener服务就可以了。我想可能console的服务 与listener的服务存在前后顺序的关联。
sybase的字符集问题: 1.安装字符集:到sybase安装目录下的charsets的目录,选择要安装的字符集,使用charset -Usa -Ppassword -Sserver_name binary.srt charset_name 2.查看默认字符集:sp_helpsort 3.设置默认字符集:sp_configure &default character set id&,id 在master数据库下运行,id可以通过select * from syscharsets查询。
日志满了的问题: 两种解决方法:1.手动清除 truncate transaction dbname with truancate_only 当然如有需要,你可以先备份数据。 & & & & & & & & & & & 2.自动清除 sp_dboption dbname,&trunc log on ckpt&,true (在master下运行,且需要在dbname下运行checkpoint才能生效,有提示信息的)
修改设备数量:sp_configure &number of devices&,30 默认为10个 查看当前用户信息:sp_displaylogin 查看最大连接数:select @@max_connections 查看当前连接数: select @@connections 查看最大用户连接数:sp_configure &number of user connections&
查看sybase锁的个数(个人认为挺重要的参数):sp_configure “number of locks”
创建登录用户: sp_addlogin username,userpassword 把某个数据库的登录权限授予用户:use dbname。sp_adduser name 改变某个数据库的拥有者给某个用户: use dbname。sp_changedbowner username(这个用户不能是该数据库的用户) 修改用户参数:sp_modifylogin username,option,option_value
option有:authenticate with-登录鉴别 defdb-默认登录数据库 deflanguage-用户缺省语言的正式名称 fullname-用户的全名 &add default role&-增加用户角色 &drop default role&-删除用户角色 &passwd expiration&-口令有效日期(天数:0-32767) &min passwd length&-密码最小长度 &max failed_logins&-允许登录失败次数 log script-登录时运行的脚本
&使用sp_who可以查看那当前所以用户和进程信息
dbcc traceon(3604)打开跟踪,使得dbcc的运行结果打印在控制台上。
dbcc sqltext(pid)就可以打印出进程号为pid正在运行的SQL语句。
参考资料来源:部分内容来自网络,主要是sybook。
如有错漏,请回帖指出,我会尽快修改。
该文章对我有帮助
283°|2818 人阅读|2
非常不错的分享
后发表评论
谢满彬 的其他博文 更多
& 测试窝,促进软件测试领域知识的传播。二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
自我感觉良好
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(3317)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_094070',
blogTitle:'修改Sybase数据库最大连接数',
blogAbstract:'\r\n&&&&&&& 今天有一家客户说数据库产生了错误,让我看一下。\r\nError: 1601, Severity: 17, State: 3& There are not enough \'user connections\' available to start a new process. Retry when there are fewer active users, or ask your System Administrator to reconfigure SQL Server with more user connections. \r\n经分析,认为是连接数太小导致,需要修改数据库的最大连接数。 ',
blogTag:'sybase,连接数,原创',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:4,
permalink:'blog/static/',
commentCount:2,
mainCommentCount:1,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'自我感觉良好',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分47阅读权限10帖子精华可用积分49 信誉积分152 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 47, 距离下一级还需 153 积分
帖子主题精华可用积分49 信誉积分152 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
如何判断sybase数据库的剩余空间?
网上有的说使用段的查询&&
& &如:& sp_helpsegment system& && && & 查看系统的剩余空间
& && && & & sp_helpsegment logsegment& & 查看日志的剩余空间
又有的说使用&&sp_spaceused 来查询。。。或者 sp_helpdb db_name来查询。。
由于使用各命令查询出来的结果会有些不一样,因此不知道哪个才是正确的。
请各位高手解释一下。
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
生命若只如初见 何事秋风悲画扇
UID7509663空间积分900 积分12398阅读权限100帖子精华可用积分12398 信誉积分2120 专家积分0 在线时间3397 小时注册时间最后登录
帖子主题精华可用积分12398 信誉积分2120 专家积分0 在线时间3397 小时注册时间最后登录
认证徽章论坛徽章:25
sp_help dbname
生命若只如初见 何事秋风悲画扇
UID空间积分0 积分12426阅读权限90帖子精华可用积分12426 信誉积分2174 专家积分0 在线时间3082 小时注册时间最后登录
大富大贵, 积分 12426, 距离下一级还需 7574 积分
帖子主题精华可用积分12426 信誉积分2174 专家积分0 在线时间3082 小时注册时间最后登录
认证徽章论坛徽章:2
data_pages() 或者data_pgs()
curunreservedpgs()
通过这两个函数自己计算。
Sybase数据库技术,数据库恢复&
分享Sybase数据库知识
UID空间积分0 积分47阅读权限10帖子精华可用积分49 信誉积分152 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 47, 距离下一级还需 153 积分
帖子主题精华可用积分49 信誉积分152 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
回复 #2 wfcjz 的帖子
是sp_helpdb dbname 吧,不是sp_help dbname。
通过sp_helpdb dbname得到的返回值有(部分信息):
device_fragments& && && && && &size& && && & usage& && && && && & free kbytes
----------------& && && && && &----& && && & -----& && && && && & -----------
ciimlog& && && && && && && && &450.0 MB& && &data only& && && && && && &&&240
ciimlog& && && && && && && && &1022.0 MB& &&&data only& && && && && && &&&912
ciimlog& && && && && && && && &218.0 MB& && &log only& && && && && && &223232
ciimlog& && && && && && && && &310.0 MB& && &log only& && && && && && &317440
datadev1& && && && && && && &&&192.0 MB& && &data only& && && && && && & 6208
datadev1& && && && && && && &&&1000.0 MB& &&&data only& && && && && && &62992
datadev1& && && && && && && &&&308.0 MB& && &log only& && && && && && &315392
datadev1& && && && && && && &&&500.0 MB& && &log only& && && && && && &512000
是否把free kbytes 列进行累加就可以得出剩余空间大小么?这样算是否精确?
还有其他直接的办法么?
UID空间积分0 积分47阅读权限10帖子精华可用积分49 信誉积分152 专家积分0 在线时间55 小时注册时间最后登录
白手起家, 积分 47, 距离下一级还需 153 积分
帖子主题精华可用积分49 信誉积分152 专家积分0 在线时间55 小时注册时间最后登录
论坛徽章:0
回复 #3 andkylee 的帖子
这两个函数该怎么用阿?能不能给个简单的例子阿?谢谢了。
UID空间积分0 积分12426阅读权限90帖子精华可用积分12426 信誉积分2174 专家积分0 在线时间3082 小时注册时间最后登录
大富大贵, 积分 12426, 距离下一级还需 7574 积分
帖子主题精华可用积分12426 信誉积分2174 专家积分0 在线时间3082 小时注册时间最后登录
认证徽章论坛徽章:2
回复 #5 aokzhu 的帖子
查看数据库内使用对象占用的空间
use xxxx&&----你的数据库名字
--查看数据库内所有对象使用的数据空间:
select count( data_pages(db_id(),id,doampg) + data_pages(db_id(),id,ioampg)) from sysindexes where id && 8
--查看数据库内日志空间:
select count( data_pages(db_id(),id,doampg) + data_pages(db_id(),id,ioampg)) from sysindexes where id
函数data_pages的第一个参数为数据库id,第二个参数为对象ID,第三个参数为 doampg或者ioampg分别表示统计数据、日志所占空间。
函数curunreservedpgs统计设备上面指定段的剩余空间。
[ 本帖最后由 andkylee 于
13:31 编辑 ]
Sybase数据库技术,数据库恢复&
分享Sybase数据库知识
生命若只如初见 何事秋风悲画扇
UID7509663空间积分900 积分12398阅读权限100帖子精华可用积分12398 信誉积分2120 专家积分0 在线时间3397 小时注册时间最后登录
帖子主题精华可用积分12398 信誉积分2120 专家积分0 在线时间3397 小时注册时间最后登录
认证徽章论坛徽章:25
回复 #4 aokzhu 的帖子
惭愧,确实是语法给错了,最近心里很乱,请见谅!
生命若只如初见 何事秋风悲画扇}

我要回帖

更多关于 sybase数据库日志文件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信