忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 8801 | 回复: 6

请教大家SYABSE的恢复 [复制链接]

论坛徽章:
0
发表于 2016-12-23 16:30 |显示全部楼层
我现在有一台旧机器,已经不能开机,但数据文件和日志文件由于放在存储上还能找到。现在我在另外一台主机上安装了同样版本的sybase。问题是我怎么在这台新机器上把原来的数据库online起来,请大家指教,谢谢!

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2016-12-23 18:27 |显示全部楼层
第一种方法:
disk reinit
disk refit
第二种方法:
如果能够找到备份的数据库分配信息,在新机器上按照之前的方式创建数据库。
覆盖sybase设备文件。

论坛徽章:
0
发表于 2016-12-28 17:15 |显示全部楼层
andkylee 发表于 2016-12-23 18:27
第一种方法:
disk reinit
disk refit

谢谢你的回复。前几天出差把这件事放下了。现在才上来弄。
我想你的第二种方法由于历史原因看来已经不可实现了。
第一种方法我还想知道如何实现。毕竟我对SYBASE不熟,只对ORACLE有了解。还请你指教。或者给一篇文档我做参考。非常感谢!

论坛徽章:
7
数据库技术版块每日发帖之星
日期:2015-08-09 06:20:00数据库技术版块每日发帖之星
日期:2015-11-03 06:20:00数据库技术版块每日发帖之星
日期:2016-02-20 06:20:00数据库技术版块每日发帖之星
日期:2016-07-13 06:20:00数据库技术版块每日发帖之星
日期:2016-07-31 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
发表于 2016-12-29 17:26 |显示全部楼层
先把原master设备copy过来试着启动一下,如果可以,立刻检查sysdatabase和sysusages两个表。
这个就是第二种方法里面说的db分配信息。
如果没有的话,第一种方法里面也不好讲怎么来disk reinit

论坛徽章:
0
发表于 2018-01-19 12:37 |显示全部楼层
大家好,还是楼主我,以下是我能找到的方法,大家觉得有问题吗?
将生产环境中AIX5.3平台上的Sybase ASE12.5.2迁移到备机作测试用,下面简单记录下主要步骤。

环境:

Sybase ASE version: 12.5.2 32bit

OS Version: AIX 5.3

$SYBASE: /home/syb123

Instance name: TEST

database name: testdb

备机上建立好了与主机相同的vg与lv



主要步骤:

1.将主机上的目录/home/syb123打包,拷贝到备机,解开tar包到备机的相同目录下。删除备机/home/syb123下的interfaces文件。

2.修改资源文件resource file中的实例名(srvbuild.server_name),主机名(srvbuild.network_hostname_list)等信息。主要有3个rs文件: syb_dataserver.rs,syb_backupserver.rs,syb_sqlloc.rs

3.新建Sybase ASE实例。执行:

srvbuildres -r /home/syb123/syb_dataserver.rs

在新建实例的过程中,因为异步IO没有开启,报错Symbol resolution failed for /usr/ccs/lib/libc.a[aio_64.o] 。解决方法见:

AIX上未启动异步IO导致Sybase服务创建失败

4.配置字符集roman8。

源数据库的字符集为roman8,使用资源文件配置新建的备机上的字符集为roman8、排序规则为:bin_roman8。unix/linux环境上新建的实例默认没有安装bin_roman8这个排序规则,需要手动添加:

cd /home/syb123/charsets/roman8

charset  -Usa -P -STEST binary.srt roman8

然后在执行:srvbuildres -r /home/syb123/syb_sqlloc.rs 来修改实例的默认字符集和排序规则。

5.新建备份服务

srvbuildres -r /home/syb123/syb_backupserver.rs

6.从源实例中导出disk init脚本

使用下面的SQL语句能够导出:

select 'disk init name="'+name+'",physname="'+phyname+'",size="'+convert(varchar,convert(int,(high-low+1)*2.0/1024.0))+'M"'+char(10)+'go' from master.dbo.sysdevices
where low/power(2,24)>0
go

7.导出create database语句

使用ddlgen导出源实例中用户数据库的create database语句。

/home/syb123/ASEP/bin/ddlgen -Usa -P -STEST -TDB -Ntestdb -O./ddlgen-testdb.sql

从上面的输出文件ddlgen-testdb.sql中将create database命令提取出来,加上for load选项。类似如下的命令:

create database test on .....

log on ......

for load

go

8.在备机上上初始化设备和创建用户数据库

在执行disk init命令先配置参数: number of devices,

sp_configure "number of devices",50

go

然后分别执行上面得到的disk init命令来初始化Sybase逻辑设备,执行create database来创建用户数据库以备恢复用。

在create database命令中加入for load选项,能够提高创建库的速度,因为不需要将逻辑设备上的页面清空。

9.恢复源数据库

在备机上恢复从主机上拷贝过来的testdb数据库的备份。

load database testdb from '/syb_backup/testdb20110920.dump'

go

在主机上备份数据库testdb的时候,加入了压缩选项:compress=4。在恢复的时候不需要加入压缩选项,sybase备份服务器能够自动识别压缩级别。这点还是挺方便的!

10.增加临时数据库tempdb的空间

alter database tempdb on tempdb_data01='4000m'

11.在备机将数据库testdb的属主有sa改为syb

use testdb

go

sp_changedbowner syb

go

12.重建登录、角色、用户信息

因为主机与备机是相同的平台,可以直接导出源实例master数据库中系统表的数据。从源实例中导出下面4张系统表的数据。

syslogins,sysloginroles,sysroles,sysusers

在备机上导入:

先开启选项:allow updates to system catalog。sp_configure "allow updates",1

导入4张系统表的数据,只追加新添加的登录、用户信息。

bcp master.dbo.syslogins in ./syslogins-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysloginroles in ./sysloginroles-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysroles in ./sysroles-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysusers in ./sysusers-20110920.bcpout -c -Usa -P -STEST -t~# -b1

13.配置用户数据库testdb的options

use master

go

sp_dboption testdb,'select into',true

go

sp_dboption testdb,'trunc',true

go

use testdb

go

checkpoint

go

14.配置备机的参数

如果备机与主机环境相同的话,可以将主机上的<servername>.cfg直接拷贝到备机。否则,根据主机的cfg文件适当调整sybase ase的参数。

15.备份master数据库、导出几张重要系统表的数据

初始化设备、新建数据库,添加登录等操作后,要及时备份master数据库。最好对几张重要的系统表再做一次备份。使用bcp导出系统表sysusages,sysdatabases,sysdevices,syslogins,sysloginroles,sysroles,sysusers。

论坛徽章:
0
发表于 2018-01-19 12:38 |显示全部楼层
大家好,还是楼主我,以下是我能找到的办法,可行吗?
将生产环境中AIX5.3平台上的Sybase ASE12.5.2迁移到备机作测试用,下面简单记录下主要步骤。

环境:

Sybase ASE version: 12.5.2 32bit

OS Version: AIX 5.3

$SYBASE: /home/syb123

Instance name: TEST

database name: testdb

备机上建立好了与主机相同的vg与lv



主要步骤:

1.将主机上的目录/home/syb123打包,拷贝到备机,解开tar包到备机的相同目录下。删除备机/home/syb123下的interfaces文件。

2.修改资源文件resource file中的实例名(srvbuild.server_name),主机名(srvbuild.network_hostname_list)等信息。主要有3个rs文件: syb_dataserver.rs,syb_backupserver.rs,syb_sqlloc.rs

3.新建Sybase ASE实例。执行:

srvbuildres -r /home/syb123/syb_dataserver.rs

在新建实例的过程中,因为异步IO没有开启,报错Symbol resolution failed for /usr/ccs/lib/libc.a[aio_64.o] 。解决方法见:

AIX上未启动异步IO导致Sybase服务创建失败

4.配置字符集roman8。

源数据库的字符集为roman8,使用资源文件配置新建的备机上的字符集为roman8、排序规则为:bin_roman8。unix/linux环境上新建的实例默认没有安装bin_roman8这个排序规则,需要手动添加:

cd /home/syb123/charsets/roman8

charset  -Usa -P -STEST binary.srt roman8

然后在执行:srvbuildres -r /home/syb123/syb_sqlloc.rs 来修改实例的默认字符集和排序规则。

5.新建备份服务

srvbuildres -r /home/syb123/syb_backupserver.rs

6.从源实例中导出disk init脚本

使用下面的SQL语句能够导出:

select 'disk init name="'+name+'",physname="'+phyname+'",size="'+convert(varchar,convert(int,(high-low+1)*2.0/1024.0))+'M"'+char(10)+'go' from master.dbo.sysdevices
where low/power(2,24)>0
go

7.导出create database语句

使用ddlgen导出源实例中用户数据库的create database语句。

/home/syb123/ASEP/bin/ddlgen -Usa -P -STEST -TDB -Ntestdb -O./ddlgen-testdb.sql

从上面的输出文件ddlgen-testdb.sql中将create database命令提取出来,加上for load选项。类似如下的命令:

create database test on .....

log on ......

for load

go

8.在备机上上初始化设备和创建用户数据库

在执行disk init命令先配置参数: number of devices,

sp_configure "number of devices",50

go

然后分别执行上面得到的disk init命令来初始化Sybase逻辑设备,执行create database来创建用户数据库以备恢复用。

在create database命令中加入for load选项,能够提高创建库的速度,因为不需要将逻辑设备上的页面清空。

9.恢复源数据库

在备机上恢复从主机上拷贝过来的testdb数据库的备份。

load database testdb from '/syb_backup/testdb20110920.dump'

go

在主机上备份数据库testdb的时候,加入了压缩选项:compress=4。在恢复的时候不需要加入压缩选项,sybase备份服务器能够自动识别压缩级别。这点还是挺方便的!

10.增加临时数据库tempdb的空间

alter database tempdb on tempdb_data01='4000m'

11.在备机将数据库testdb的属主有sa改为syb

use testdb

go

sp_changedbowner syb

go

12.重建登录、角色、用户信息

因为主机与备机是相同的平台,可以直接导出源实例master数据库中系统表的数据。从源实例中导出下面4张系统表的数据。

syslogins,sysloginroles,sysroles,sysusers

在备机上导入:

先开启选项:allow updates to system catalog。sp_configure "allow updates",1

导入4张系统表的数据,只追加新添加的登录、用户信息。

bcp master.dbo.syslogins in ./syslogins-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysloginroles in ./sysloginroles-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysroles in ./sysroles-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysusers in ./sysusers-20110920.bcpout -c -Usa -P -STEST -t~# -b1

13.配置用户数据库testdb的options

use master

go

sp_dboption testdb,'select into',true

go

sp_dboption testdb,'trunc',true

go

use testdb

go

checkpoint

go

14.配置备机的参数

如果备机与主机环境相同的话,可以将主机上的<servername>.cfg直接拷贝到备机。否则,根据主机的cfg文件适当调整sybase ase的参数。

15.备份master数据库、导出几张重要系统表的数据

初始化设备、新建数据库,添加登录等操作后,要及时备份master数据库。最好对几张重要的系统表再做一次备份。使用bcp导出系统表sysusages,sysdatabases,sysdevices,syslogins,sysloginroles,sysroles,sysusers。

论坛徽章:
0
发表于 2018-01-19 12:39 |显示全部楼层
大家好,还是楼主我,以下是我能找到的恢复方法,大家看可行吗?

将生产环境中AIX5.3平台上的Sybase ASE12.5.2迁移到备机作测试用,下面简单记录下主要步骤。

环境:

Sybase ASE version: 12.5.2 32bit

OS Version: AIX 5.3

$SYBASE: /home/syb123

Instance name: TEST

database name: testdb

备机上建立好了与主机相同的vg与lv


主要步骤:

1.将主机上的目录/home/syb123打包,拷贝到备机,解开tar包到备机的相同目录下。删除备机/home/syb123下的interfaces文件。

2.修改资源文件resource file中的实例名(srvbuild.server_name),主机名(srvbuild.network_hostname_list)等信息。主要有3个rs文件: syb_dataserver.rs,syb_backupserver.rs,syb_sqlloc.rs

3.新建Sybase ASE实例。执行:

srvbuildres -r /home/syb123/syb_dataserver.rs

在新建实例的过程中,因为异步IO没有开启,报错Symbol resolution failed for /usr/ccs/lib/libc.a[aio_64.o] 。解决方法见:

AIX上未启动异步IO导致Sybase服务创建失败

4.配置字符集roman8。

源数据库的字符集为roman8,使用资源文件配置新建的备机上的字符集为roman8、排序规则为:bin_roman8。unix/linux环境上新建的实例默认没有安装bin_roman8这个排序规则,需要手动添加:

cd /home/syb123/charsets/roman8

charset  -Usa -P -STEST binary.srt roman8

然后在执行:srvbuildres -r /home/syb123/syb_sqlloc.rs 来修改实例的默认字符集和排序规则。

5.新建备份服务

srvbuildres -r /home/syb123/syb_backupserver.rs

6.从源实例中导出disk init脚本

使用下面的SQL语句能够导出:

select 'disk init name="'+name+'",physname="'+phyname+'",size="'+convert(varchar,convert(int,(high-low+1)*2.0/1024.0))+'M"'+char(10)+'go' from master.dbo.sysdevices
where low/power(2,24)>0
go

7.导出create database语句

使用ddlgen导出源实例中用户数据库的create database语句。

/home/syb123/ASEP/bin/ddlgen -Usa -P -STEST -TDB -Ntestdb -O./ddlgen-testdb.sql

从上面的输出文件ddlgen-testdb.sql中将create database命令提取出来,加上for load选项。类似如下的命令:

create database test on .....

log on ......

for load

go

8.在备机上上初始化设备和创建用户数据库

在执行disk init命令先配置参数: number of devices,

sp_configure "number of devices",50

go

然后分别执行上面得到的disk init命令来初始化Sybase逻辑设备,执行create database来创建用户数据库以备恢复用。

在create database命令中加入for load选项,能够提高创建库的速度,因为不需要将逻辑设备上的页面清空。

9.恢复源数据库

在备机上恢复从主机上拷贝过来的testdb数据库的备份。

load database testdb from '/syb_backup/testdb20110920.dump'

go

在主机上备份数据库testdb的时候,加入了压缩选项:compress=4。在恢复的时候不需要加入压缩选项,sybase备份服务器能够自动识别压缩级别。这点还是挺方便的!

10.增加临时数据库tempdb的空间

alter database tempdb on tempdb_data01='4000m'

11.在备机将数据库testdb的属主有sa改为syb

use testdb

go

sp_changedbowner syb

go

12.重建登录、角色、用户信息

因为主机与备机是相同的平台,可以直接导出源实例master数据库中系统表的数据。从源实例中导出下面4张系统表的数据。

syslogins,sysloginroles,sysroles,sysusers

在备机上导入:

先开启选项:allow updates to system catalog。sp_configure "allow updates",1

导入4张系统表的数据,只追加新添加的登录、用户信息。

bcp master.dbo.syslogins in ./syslogins-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysloginroles in ./sysloginroles-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysroles in ./sysroles-20110920.bcpout -c -Usa -P -STEST -t~# -b1

bcp master.dbo.sysusers in ./sysusers-20110920.bcpout -c -Usa -P -STEST -t~# -b1

13.配置用户数据库testdb的options

use master

go

sp_dboption testdb,'select into',true

go

sp_dboption testdb,'trunc',true

go

use testdb

go

checkpoint

go

14.配置备机的参数

如果备机与主机环境相同的话,可以将主机上的<servername>.cfg直接拷贝到备机。否则,根据主机的cfg文件适当调整sybase ase的参数。

15.备份master数据库、导出几张重要系统表的数据

初始化设备、新建数据库,添加登录等操作后,要及时备份master数据库。最好对几张重要的系统表再做一次备份。使用bcp导出系统表sysusages,sysdatabases,sysdevices,syslogins,sysloginroles,sysroles,sysusers。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP