存档

2010年6月 的存档,文章数:11

在测试load tran with until_time 的时候出现了错误。

先执行:dump tran andkylee to "d:\andkylee_tran2.dmp" with no_truncate 然后,进行数据库的恢复。

先进行全库恢复,接着进行下面的日志恢复,并恢复到指定的时间点。

但是报下面的错误:

1> load tran andkylee from "d:\andkylee_tran2.dmp" with until_time='Jun 28 2010 5:24:10 PM'
2> go
Backup Server session id is:  111.  Use this value when executing the
'sp_volchanged' system stored procedure after fulfilling any volume change
request from the Backup Server.
Backup Server: 6.28.1.1: Dumpfile name 'ndkylee101790F554' section number 1
mounted on disk file 'd:\andkylee_tran2.dmp'
Backup Server: 4.58.1.1: Database andkylee: 75548 kilobytes LOADed.
Msg 623, Level 21, State 1:
Server 'TEST', Line 1:
Adaptive Server failed to retrieve a row via its RID in database 'andkylee'
because the target page is not a data page. Rid pageid = 0x16381; row num = 0x0.

Page pointer = 0x240FA000, pageno = 0, status = 0x300, ptnid = 99, indexid = 0,
level = 0.

用dbcc page查看pageid = 0x16381 的页面内容,发现此页面为日志页。页面号0x16381为十六进制,转化成十进制为:91009

今天下午作为公司的代表参加了南大通用数据技术有限公司在钓鱼台国宾馆举行的GBase 8a产品发布会。GBase 8a是国内首款具有自主知识产权的分析型数据库。 GBase 8a采用了列式存储、智能查询、高效压缩、双向并行、自适应优化等多项新技术,打破了以往提高性能只能靠增加数据库的容量,建很多索引的常规,使得 GBase 8a既有高性能又有很高的数据压缩比。宣称查询速度比传统关系型统数据库能够提升10倍以上,有5倍以上的存储压缩率。现在发布的单节点GBase 8a可以支撑大约10T的数据量,紧接着会发布GBase 8a的集群版本SN(share nothing)能存储100T级别的大规模数据量。 发布会现场展示了GBase 8a的卓越的查询性能。 模拟一个超市历年的销售数据,2张表,每张都有500亿多行的记录。 统计一下表内的行总数select count(*) from TABLE_NAME 只花了2秒左右的时间。的确够快的!还有,在聚合统计方面的速度更惊人,统计1994年2月1日至1994年2月28日之间的折扣率为5%到7%之间的 (包含5%,7%)的所有销售收入总和,(忘记了还有一个也是范围的条件),查询列是: sum(数量*价格),这个操作仅仅需要了6秒多点的时间。很惊讶!国产数据库能做到这个水平,不容易。GBase 8a采用列存储,使用智能索引技术,有一个称为数据包或者知识网格knowledge grid的东西。想不出来,用什么技术会产生这么惊人的结果。 好像,GBase 8a目前只能运行在64bit的unix平台上。比较经典的是运行在linux上,比如redhat,redflag(这和他们的ceo以前在redflag工作过不无关系,呵呵)。 好像aix上也有版本吧。windows平台上应该不支持。 以后,继续试用。 163 国内首款自主知识产权分析数据库今天问世 pchome 南大通用发布自主分析数据库GBase 8a

今天试验了一下不同ASE版本跨平台远程备份数据库的操作。 环境: 源数据端:solaris 10 SPARC 64bit,ASE 12.5.4,称为:server1 目的数据端:windows xp x86,ASE15.0.3,称为:server2   任务: 测试将源数据端solaris上的ASE数据库服务器里面的andkylee库远程备份到目的windows-xp机子上。 第一步:在server1的interfaces文件中添加远程服务器条目 在server2的连接接口配置文件%SYBASE%\ini\sql.ini中,备份服务器的名称为:TEST_BS. 在server1的 /db/sybase/ase1254/interfaces中添加: TEST_BS         master tcp ether 192.168.2.173 5001         query tcp ether 192.168.2.173 5001   注意:添加到server1的远程备份服务器名称务必和server2中的备份服务器名称保持一致。   第二步:连接上server1的ASE服务器,添加远程备份服务器的条目 isql -Usa -P -Sase1254 sp_addserver TEST_BS 这一步不是必须的! 第三步:在server1的ASE中执行远程备份命令 dump database andkylee to "d:\andkylee_remote.dmp" at TEST_BS 可以使用stripe on进行远程备份文件分片,最大分片数为32。 如果想压缩远程备份文件的话,必须使用with compression=[0-9]选项;兼容选项compress::只支持本地备份。 最后检查,在远程服务器server2上D盘发现有远程备份生成的文件:andkylee_remote.dmp。 远程备份数据库操作完成! [...]

AIX下mount一个iso文件的步骤: mklv -y cdaix -s n -L /dev/cdaix rootvg 384M hdisk0 dd if=/sybase/sybaseAIX64BIT.iso of=/dev/cdaix bs=10m mkdir /mnt/cdaix mount -v cdrfs -o ro /dev/cdaix /mnt/cdaix 完成,加载点/mnt/aix内即为iso的内容。 Solaris下mount一个iso文件的步骤: lofiadm (显示已用的设备名) lofiadm -a /db/sybdata/rs1520solx64zhja.ISO /dev/lofi/2 lofiadm /dev/lofi/2   (查看刚才创建的附属的块设备) mount -F hsfs -o ro /dev/lofi/2 /mnt  (用mount命令mount映像文件) 完成,加载点/mnt内即为iso的内容。 Linux下mount一个iso文件的步骤: mount -t iso9660  -o loop ./wary-5.1.4.iso  /mnt/remove/   ————————————————————————————————- —- [...]

在ASE12.5.x平台中没有替换字符串的函数,也就是说没有类似replace的函数。对于replace这个词,我想有编程经验的肯定一看字 面意思就知道是将某一字符串中指定的字符串替换为另外的字符串。可惜的是这么简单的功能在ase12.5.x中没有相应的函数,只有一个可怜的stuff 函数。 stuff函数仅仅能够替换某一个字符串中某一个位置处的字符串为另外的字符串,如果这个字符串中有多处需要被替换呢?抱歉,stuff歇菜了。 一个简单的类似replace的功能还得需要写个过程或者函数来实现。 写起来效率低执行起来效率更低, so pooor. 谁要是实现了用简单的一两条sql语句顶替replace的功能,麻烦告诉我一声。谢谢! 幸运的是,ASE15.0版本中引入了类似replace的函数,但是人家的名字叫str_replace,不知道为啥?replace这个词和那个关键字冲突吗? 不解ZZZZZZZ~~~ str_replace函数的语法很简单:                      st_replace("string_expression1", "string_expression2", "string_expression3") 就是:将字符串1中所包含的所有 的字符串2都用字符串3统统替换。 一个简单的例子: 1> select str_replace('This is Andkylee!My nAme is andkylee!','A','a') 2> go  ————————————-  This is andkylee!My name is andkylee! (1 row affected)   但是, 网上有人发帖说str_replace不能替换字符串中的空格为“(也就是说删除字符串中的所有空格)。不看官方文档,想当然的就写出来这样的语句:select str_replace('123 456 ',' ','') 但是很可惜,执行失败。 1> select len('123 456 '),str_replace('123 456 ',' ','') [...]

一、添加镜像 为master设备添加镜像设备: 1> disk mirror 2> name='master', 3> mirror='D:\sybase\data\master_mirr.dat' 4> go Msg 5155, Level 16, State 1: Server 'TEST', Line 1: The command 'DISK MIRROR' cannot be executed since disk mirroring has been disabled. In order to enable disk mirroring, use: sp_configure 'disable disk mirroring',0 and restart the server.   ASE默认是关闭设备镜像功能的,需要配置参数启用。disable disk mirroring 这是一个静态参数,配置完之后需要重启ASE服务器。 1> [...]

本人的pc机上装的数据库比较多。有:oracle 10g,MySQL5.0.45,Sybase ASE15.0.3,Sybase IQ15.1,MSSQLSERVER2005,MSSQLSERVER2000,Sybase Anywhere8,Sybase Anywhere9,Sybase Anywhere10等等。还有非安装版的Sybase ASE12.5.x,ASA5,ASA6等。 数据库比较多,都通过系统工具中的服务项来启动不太现实。有时用到的时候直接用命令行启动,这样挺方便。注册表信息也省得维护了。 最近,在用SQLSERVER2005 management studio读取表数据的时候,报了下面的两个错误。 在对象资源管理器中找到sqlserver2000数据库中的用户表,点右键“打开表”报错如下: 标题: Microsoft SQL Server Management Studio —————————— 调用的目标发生了异常。 (SQLEditors) —————————— 其他信息: 找不到请求的 .Net Framework 数据提供程序。可能没有安装。 (System.Data)   在对象资源管理器中找到sqlserver2005中某个用户数据库中的用户表,点右键“打开表”报错如下: 标题: Microsoft SQL Server Management Studio —————————— 调用的目标发生了异常。 (SQLEditors) —————————— 其他信息: 创建 system.data 的配置节处理程序时出错: 列“InvariantName”被约束为是唯一的。值“iAnywhere.Data.SQLAnywhere”已存在。 (C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 126) (System.Configuration) —————————— 列“InvariantName”被约束为是唯一的。值“iAnywhere.Data.SQLAnywhere”已存在。 (System.Data)   问题怎么解决呢? [...]

本文给出sybase IQ15.1试用版在试用一个月到期之后继续试用的两种方法。 第一种:删除注册表后重新安装 Sybase IQ作为数据分析以及数据仓库的一款数据库管理系统,目前最新版本为15.5。我手头上使用的这份为公司从sybase公司那里领用的试用版,有效期只有一个月。 Sybase IQ15.1 for windows的安装介质CD光盘包含32bit和64bit两类平台的安装程序。我在自己的windows-xp(32bit)上安装了sybase IQ15.1。在安装过程中要求选择产品类型的时候,我从两个备选项:开发版和体验版中选择了开发版,一个月之后sybase IQ就启动不起来了,报没有可用license的问题。 在我的pc上ASE15.0.3和IQ15.1是共用d:\sybase这个%SYBASE%目录的,所以默认的认证文件夹也在D:\sybase \SYSAM-2_0,该文件夹内只有一个文件:SYBASE_ASE_DE.lic;且这个文件的修改日期也是很早之前了。心里有点疑惑。 不管三七二十一先重装一遍IQ再说,结果装完之后,原来的iq库还是因为没有可用license而启动不起来。心里很窝火哦。 又想到一个办法,把sybase IQ的注册表项目都删除,然后又重装了一遍,这次IQ可以启动起来了。  步骤如下: 第一步:删除sybase IQ的相关服务项目 在控制面板>管理工具>服务里面,我发现对于sybase IQ数据库仅有一个相关的服务: Sybase IQ Agent 15.1。在这一服务名Sybase IQ Agent 15.1上点右键,查看其属性,得知其服务名称为:SybaseIQAgent15。 实际上,SybaseIQAgent15此名即为该项服务的ServiceKeyName。 要想删除windows系统中的系统服务, 除了用其它的管理工具外, 系统自带了一个命令行工具sc。语法为: C:\Documents and Settings\Administrator>sc delete DESCRIPTION:         Deletes a service entry from the registry.         If the service is running, or another process has [...]