相关文章
- 2010-08-11 sybase ASE在unix&linux上的自动备份脚本
以下操作均由sybase用户来做:
新建一个脚本文件,譬如/sybase/script/dump.sh
类容如下
$ cat dump.sh
/sybase/OCS-12_5/bin/isql -Usa -P******* -S******* -i /sybase/script/dump.sql -o /sybse/script/dump.log
mv /caiwubackup/backup/cwbase1.bak /caiwubackup/backup/cwbase1_`date +%Y%m%d`.bak
mv /caiwubackup/backup/cwbase2.bak /caiwubackup/backup/cwbase2_`date +%Y%m%d`.bak
mv /caiwubackup/backup/cwbase3.bak /caiwubackup/backup/cwbase3_`date +%Y%m%d`.bak
mv /caiwubackup/backup/cwmaster.bak […] - 2014-12-09 ASE使用with ignore_dup_row删除重复数据
之前博文中介绍了ASE中使用union来删除重复数据的方法:Sybase去除重复数据的一种方法!用union的方法要求先把不重复的数据行插入到临时表中,然后清空源表后再把数据倒回到源表中。
本文介绍使用索引的with ignore_dup_row选项来在线删除表的重复数据行。
创建非唯一、聚簇索引,带选项 : with ignore_dup_row
在索引的创建语法中,unique 和 with ignore_dup_row 是互斥的,nonclustered 和 with ignore_dup_row 是互斥的;也就是说,使用with ignore_dup_row选项时索引必须是非唯一、聚簇的。
通过索引删除重复数据后,再把新建的非唯一、聚簇索引删除。
下面演示创建过程及注意问题:
--创建表
create table DeleteDuplicateRow(id int
, name varchar(30)
, begin_time datetime
)
go
create […] - 2010-05-13 sybase公司将被SAP收购
据网易科技:2010-05-13 08:05:09
--------------------------------
5月13日消息,据国外媒体报道,德国软件巨擘SAP周三宣布,将以58亿美元的现金收购Sybase
SAP将以每股65美元的价格收购Sybase,交易总金额为58亿美元。自20世纪90年代中期以来,Sybase股价从未超过50 美元。
SAP是全球最大的商业管理软件厂商,而Sybase是全球领先的数据管理及企业集成解决方案供应商,该交易将有助于SAP与甲骨文抗衡。甲骨文不 久前以74亿美元收购Sun。
SAP表示,该交易将使SAP获得Sybase的核心技术,使一些商业应用在手机上运行。如果顺利,该交易预计于今年第三季度完成。
在交易宣布前,市场上已经有相关传闻,导致Sybase股价上扬35%至56.14美元。在盘后交易中,Sybase股价再度上扬15%至 64.30美元。
from AP,May 12, 2010
---------------------
SOFTWARE SNAP-UP: German […] - 2010-05-31 ASE中数据结果集分页功能的三种实现方法
接上篇的关于MySQL中的分页方法,本篇简单讨论在Sybase ASE中实现数据结果分页的方式。
本篇介绍三种方法。
第一种:利用游标
程序开发人员比较喜欢使用游标,因为游标的“循环”遍历方式类似编程语言中的for,while,loop语句的实现方法,写起来比较容易。使用游标一般步骤是:为指定的SQL语句定义一个游标,打开并移动游标,当移动到指定行号的记录行之后,再按照需要提取的行数来取数据。从表面上看解决了提取指 定范围数据的问题;但是在实际应用上,有可能会出现严重的性能问题。建立游标需要耗用一定的系统资源之外;当表内的数据量有上千万甚至到亿级别并且需要取大量的数据结果时,用游标每移动一 次就取这行数据,然后再移动游标,这个过程将是缓慢的。在使用游标的过程中,系统会给相应的表加上共享锁,导致锁竞争而严重影响数据库的性能。
在此不再介绍游标的实现方式,此法比较简单。一个使用游标分页的例子:sp_splitpage_by_cursor.sql
第二种:利用临时表和标志列
在Sybase […] - 2011-11-02 显示dd命令的进度
linux下显示dd命令的进度:
dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000
想要查看上面的dd命令的执行进度,可以使用下面几种方法:
比如:每5秒输出dd的进度
方法一:
watch -n 5 pkill -USR1 ^dd$
方法二:
watch -n 5 killall -USR1 dd
方法三:
while killall -USR1 dd; do sleep 5; done
方法四:
while (ps auxww |grep " dd " |grep -v grep |awk '{print $2}' |while read pid; do kill -USR1 $pid; done) ; do sleep 5; done
上述四种方法中使用三个命令:pkill、killall、kill向dd命令发送SIGUSR1信息,dd命令进程接收到信号之后就打印出自己当前的进度。
参考:贝塔中的DBA - […] - 2013-09-16 ASE从表中随机选择数据的三种方法
mark:
rand2() ASE 15.0.2
newid() ASE 12.5.1
rand() Any Version
set rowcount N
select * from table order by rand(convert(int,row1)+datepart(ms,getdate()))
set rowcount 0
- 2013-04-02 ASE中对于大文本字段的使用方法
ASE中对 text、image 和 unitext 列的限制
不能在以下情况中使用 text、image 或 unitext 列:
用作存储过程的参数或传递给这些参数的值
作为局部变量
在 order by clause、compute clause、group by 和 union 子句中
用于索引
用于子查询或连接
在 where 子句中,除非带有关键字 like
同 + 并置运算符一起使用
建立测试数据:
create table test_lob(id int not null,notes text null)
go
insert into test_lob values(1,replicate('x',1024))
go
insert into test_lob […] - 2009-12-28 用vnc实现windows远程连接linux桌面
网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。
VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。
(在windows中也由一套著名的网络遥控软件――Symantec公司推出的pcAnywhere。
VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC […] - 2010-09-28 查看表中列属性的SQL语句
在sqlplus中,desc后面跟上表名,能够显示简要的表创建语法。
下面的SQL语句能够实现类似sqlplus中desc的类似的功能。
select o.obj#,o.name object_name,c.column_id,c.column_name,c.data_type,c.data_length,c.data_precision,c.data_scale,c.nullable
from sys.tab$ t,dba_tab_cols c,sys.obj$ o,sys.user$ u
where o.obj#=t.obj#
and o.name=c.table_name
and c.owner=u.name
and o.owner#=u.user#
and u.name='SCOTT'
and o.name='EMP'
order by obj#,column_id […] - 2011-12-08 Sybase ASE 统计当前执行的SQL语句的存储过程
Sybase ASE自V12.5.0.3引入了MDA表来监控Sybase数据库的性能,ASE15以来MDA的监控能力越来越强。本博客中有关于如何配置MDA表的文章:
如何配置监控表MonTables来实现ASE的监控功能
MDA中的代理表monProcessSQLText包含当前所有会话正在执行的SQL语句。如果已经配置了MDA,可以通过查询该代理表monProcessSQLText来获得正在执行的SQL语句。
在没有配置MDA监控的环境中,可以使用更加通用的命令来查询当前会话正在执行的SQL语句。dbcc sqltext命令需要sybase_ts_role角色才能执行,过程sp_showplan需要sa_role角色才能执行。
下面提供一个存储过程来查询当前Sybase服务器内正在执行的所有SQL语句。思路是:获得当前使用锁的会话ID(spid),利用游标遍历得到每个spid的正在执行的SQL语句。
use sybsystemprocs
go
if exists (select 1 from sysobjects where […]
博主,兔年快乐!