Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1634517
  • 博文数量: 201
  • 博客积分: 2812
  • 博客等级: 少校
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-18 18:28
个人简介

从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。

文章存档

2016年(1)

2015年(8)

2014年(23)

2013年(50)

2012年(32)

2011年(87)

分类: Sybase

2012-06-14 17:00:53

   当我们打算把一个机器上备份的IQ 15数据库在另外一台机器上进行恢复,而另外的机器的物理设备名和源机器不一致,如何做呢?其做法与IQ 12.7是相同的,都是在RESTORE时使用RENAME  TO 子句,所不同的是IQ 12.7指定的是DBSPACE NAME,而IQ 15需要指定DBFILE NAME。

   下面是具体的步骤:

--先关闭(shutdown)IQ服务器。
--然后检查RESTORE语句恢复到的目录下是否有同名的dbname.db 和dbname.log .
--如果有先删除它们或者把这些文件移到其它地方或改名暂时保留。
 
--然后启动utility server,方法如下:
start_asiq -n DBRST_utility -cl 2048m -ch 4096m
 
--编辑sql脚本文件db_restore.sql,包含下面的语句:
 
RESTORE DATABASE '/xxx/xxx/xxx.db'         -
FROM '/bbb/bbb/backfufile'     --备份文件所在绝对路径和名,备份时如果有多个TO ,那么这里也要求多个FROM
RENAME IQ_SYSTEM_MAIN TO '/dev/raw/raw101'     --这里只是示意,根据实际情况修改为你期望的设别名.下同.
RENAME IQ_SYSTEM_MAIN02 TO '/dev/raw/raw102'
RENAME USER_MAIN_FILE01 TO '/dev/raw/raw301'
RENAME USER_MAIN_FILE02 TO '/dev/raw/raw302'
RENAME USER_MAIN_FILE03 TO '/dev/raw/raw303'
RENAME USER_MAIN_FILE04 TO '/dev/raw/raw304'
RENAME USER_MAIN_FILE05 TO '/dev/raw/raw305'
RENAME IQ_SYS_TEMP_FILE01 to '/dev/raw/raw201'
RENAME IQ_SYS_TEMP_FILE02 to '/dev/raw/raw202'
RENAME IQ_SYSTEM_MSG to '/xxx/xxx/xxx.iqmsg' ;  --与.db文件目录相同
 

 --启动dbsiql执行db_restore.sql
dbisql -c "uid=DBA;pwd=sql;eng=DBRST_utility;dbn=utility_db" -nogui db_restore.sql

阅读(2370) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~