分享
 
 
 

Ontape -r 恢复大总结

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

以下是我做ontape -r 的总结,我只是将自己的经验共享出来(因为我看到论坛里虽然有这方面的帖子,但都不是很详细)

因为整个过程只是在我能接触的特有的环境中完成,所以如有错误之处欢迎大家指正。。。

主要分六个部分

1.恢复的前提 2.详细恢复过程 3.对恢复期间的监视

4.恢复成功整个过程的online.log

5.恢复过程中我曾遇到的问题

6.常用到的命令

一、恢复的前提(从多次恢复过程可以总结如下:)

我用ontape备份的数据恢复到另一台服务器上时,环境如下

1.两台服务器机型一样(HPL2000系列)

2.操作系统一样(HP-UX B.11.00)、数据库版本一样(IDS7.31.FC6)、

3.非临时分配的Dbspace磁盘空间数量和大小必须一致(即你的各个dbspace对应的chunk大小一样,所对应的符号联接

所在目录的位置最好也保证一样)

4.Onconfig配置文件(最后提出来!它并不要求完全一样!!!)

就以我恢复的机器来说,它和做0级备份的生产机虽然都是hp小型机,但cpu个数,内存,硬盘个数

都不一样,故onconfig相应的参数例如NETTYPE、NUMCPUVPS 都不一样,但我保证了如下参数在onconfig中的一致:

ROOTNAME

ROOTPATH

ROOTOFFSET

ROOTSIZE

MIRROR

MIRRORPATH

MIRROROFFSET

TAPEDEV

TAPEBLK

TAPESIZE

LTAPEDEV

LTAPEBLK

LTAPESIZE

LOGSMAX

其它的都没变化了,反正我这样做是成功了。。。)

注意的问题:

在恢复过程中,如果恢复失败,则可能恢复机上的数据库oninit起不来,则只好用oninit -i来初始化了--(((,

我没找到好的方法。。。

--------------------------------------------------------------------------------

---------------------------------------------------------------------------------

二、详细恢复过程:(只做0级恢复)

1。切换成informix用户,(这一步根据实际情况选做)

ps -ef |grep isql ,如有此进程,kill掉

2.用ipcs 查看还有无其它数据库用户占用的共享内存

确认后以上后(如上述共享内存还存在,则可能会在ontape -r过程中会报 “共享内存初始化失败”,而导致恢复失败!!!)

3.onmode -ky 下掉数据库

hp9000:/informix/etc>ontape -r

Please mount tape 1 on /dev/rmt/0m and press Return to continue ...

Archive Tape Information

Tape type: Archive Backup Tape

Online version: Informix Dynamic Server Version 7.31.FC6

Archive date: Wed Dec 3 16:50:54 2003

User id: hcb

Terminal id: /dev/pts/10

Archive level: 0

Tape device: /dev/rmt/0m

Tape blocksize (in k): 4096

Tape size (in k): 25165824

Tape number in series: 1

。。。。。。。。。。。。。。。

这里显示的是备份的磁盘配置(可验证是否生成了正确的设备和连接)。包括dbspace和chunk等情况。省略了。。。

1。Continue restore? (y/n)y

2。Do you want to back up the logs? (y/n)n

------------------------------------ 进入FastRecovery状态(onstat -观察)

/*此时间开始进行恢复,时间较长,且没有完成百分比提示,请耐心等待*/

3。Restore a level 1 archive (y/n) n

--------------------------------------- 此步应回答为n,不需要进行1级恢复

4。Do you want to restore log tapes? (y/n)n

------------------------------------------ 此步应回答为n,不需要进行日志恢复

Program over. /*恢复完成*/

/home/informix/bin/onmode -sy /*数据库自动进入quiescent 模式*/

/*此期间会存在一个fast recovery模式,直至进入quiescent 模式。可用onstat -、onstat -d监测数据库的情况。*/

5。 如onstat - 显示 已经进入quiescent模式,则手工执行:

onmode -m /*使数据库online*/

6。完成。(整个过程为3小时20分钟,24G磁带)

--------------------------------------------------------------------------------------

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

三、对恢复期间的监视

在恢复DBSPACE期间,由于online.log不更新(我也不知道为什么,是有问题?反正tail -f online.log没有变化),

所以监视恢复状况我就采用onstat来分析

hp9000:/informix>onstat -d (可观察基本的dbspace情况)

Informix Dynamic Server Version 7.31.FC6 -- Fast Recovery (CKPT REQ) -- Up 00:59:30 -- 316616 Kbytes

Blocked:CKPT

hp9000:/informix>onstat -u(查看磁带读写速度)

Informix Dynamic Server Version 7.31.FC6 -- Fast Recovery (CKPT REQ) -- Up 01:30:48 -- 316616 Kbytes

Blocked:CKPT

Userthreads

address flags sessid user tty wait tout locks nreads nwrites

c000000011053028 ---P--D 1 informix - 0 0 0 11 3

c0000000110536f0 ---P--F 0 informix - 0 0 0 0 0

c000000011053db8 ---P--F 0 informix - 0 0 0 0 0

c000000011054480 ---P--F 0 informix - 0 0 0 0 0

c000000011054b48 Y--P--M 13 informix to c0000000114898e0 0 0 0 0

c000000011055210 ---P--- 14 informix - 0 0 0 0 0

c0000000110558d8 ---P--B 15 informix - 0 0 0 0 0

c000000011055fa0 ---P--D 16 informix - 0 0 0 0 0

c000000011056668 -----R- 13 informix to 0 0 0 5 4543006

9 active, 128 total, 9 maximum concurrent

5046814

5857822

6066718 Mon Dec 15 22:21:56 EAT 2003

6498846 Mon Dec 15 22:30:15 EAT 2003

7029278 Mon Dec 15 22:40:37 EAT 2003

8221214 Mon Dec 15 23:02:08 EAT 2003

10506782 Mon Dec 15 23:44:14 EAT 2003

主要看nwrites那一列的数据变化,应该是按时间不断增大。。。

hp9000:/informix>sar -d 2 20

查看磁盘读写状态,通过逻辑卷管理的硬盘,例如对c0t9d0(我的机器正是将dbspace对应的裸设备建在此硬盘组成的逻辑卷上)

的读写可监视恢复是否正常进行。。。

--------------------------------------------------------------------------------------------------------

四、恢复成功整个过程的online.log

-----------------------------------------------------------------------------------------------------------------------------

20:22:54 Dynamically allocated new virtual shared memory segment (size 8192KB)

20:22:54 Dynamically allocated new virtual shared memory segment (size 8192KB)

20:22:54 Physical Restore of rootdbs, hcbdbs, logdbs started.

20:23:03 Checkpoint Completed: duration was 0 seconds.

/*在恢复DBSPACE过程中无日志!?*/

23:49:40 Checkpoint Completed: duration was 0 seconds.

23:49:41 Checkpoint Completed: duration was 0 seconds.

23:49:41 Physical Restore of rootdbs, hcbdbs, logdbs Completed.

23:49:41 Checkpoint Completed: duration was 0 seconds.

23:52:13 Physical Recovery Started.

23:52:13 Physical Recovery Complete: 0 Pages Restored.

23:52:13 Logical Recovery Started.

23:52:16 Logical Recovery Complete.

0 Committed, 0 Rolled Back, 0 Open, 0 Bad Locks

23:52:16 Bringing system to Quiescent Mode with no Logical Restore.

23:52:17 Quiescent Mode

23:52:17 Checkpoint Completed: duration was 0 seconds.

23:53:22 On-Line Mode

23:53:22 Affinitied VP 3 to phys proc 1

23:53:22 Affinitied VP 1 to phys proc 0

23:57:26 Checkpoint Completed: duration was 1 seconds.

------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------

五、恢复过程中我曾遇到的问题:

0。恢复过程失败,online.log里提示“共享内存初始话失败”

可能恢复前虽然数据库已下掉,但共享内存还有相关未清除掉的东东,ipcs看看,然后杀掉

1。提示原dbspace和chunk和恢复机上的不一致,

这时要根据备份带上给的dbspace情况新建chunk对应的裸设备和符号连接

2。恢复过程出现以下错误:

Continue restore? (y/n)y

Do you want to back up the logs? (y/n)n

Unable to open input file 's'

Unable to open input file 'c'

Physical restore failed - buc_fe.c : Archive API processing failed at line 703 for msgtype

Program over.

处理:

请先检查dbspace对应裸设备文件及符号连接和所在目录的权限和属性,保证正确!!!

如没有问题,

Do the following commands as root:

# vi /etc/privgroup and add the following line

informix MLOCK

# getprivgrp

global privileges: CHOWN

# setprivgrp -f /etc/privgroup

# getprivgrp

global privileges: CHOWN

informix: MLOCK

然后再做恢复。。。

----------------------------------------------------------------------------------------------------------

六、常用到的命令

oninit

oninit -iy (初始化数据库,删除所有dbspace和chunk)

oninit -s (脱机-->静态)

onmode -ky offline

onmode -s graceful shutdown-->quiescent(联机到静态,让用户处理完成)

onmode -u immediate shutdown-->quiescent(联机到静态,所有用户立即终止)

onmode -m quiescent--->online

onstat - 查看服务器状态

onstat -d 查看dbspace和chunk情况

onstat -l 查看逻辑日志

ipcs 查看共享内存情况

ipcrm 删除某个共享内存

ipcrm -m id

ipcrm -s id

有关逻辑日志的操作

以informix用户登录,

$ onmode -uy (由Online切换到Quiescent状态,所有用户立即中止)

onmode -m (切换到Online)

$ onparams -a -d logdbs -s 100000 (在logdbs中增加逻辑日志)

其中logdbs为dbspaces 名 ,-s 100000 表示增加了100M空间。

再连续执行4遍上述命令,这样新的逻辑日志空间总共为500M,可以用

onstat -l 查看逻辑日志情况,接下来就要删除前面3个旧逻辑日志,

删除前做一个0级备份

# ontape -s -L 0

执行该命令做0级备份,建议: 如果允许可以每天在业务系统结束工作

后做一次0级备份,做完备份后管理好备份磁带,做好标记。

$ onparams -d -l logid

logid 为逻辑日志id号,可以用onstat -l 查看,然后就可根据id号删

除3个旧逻辑日志。

1.增加一个新的dbspace:(datadbs,15M, 偏移为0)

onspaces -c -d datadbs -p /home/informix/datadbs -o 0 -s 15000

2.在datadbs这一个dbspace中增加一个chunk:(datadbs_chunk1)

onspaces -a datadbs -p /home/informix/datadbs_chunk1 -o 0 -s 15000

3.将上述chunk删除

onspaces -d datadbs -p /home/informix/datadbs_chunk1 -o 0

4.删除dbspace(仅当要删除的dbspace空间没有数据时才可删除)

onspace -d datadbs

导出数据库:

用dbexport工具将数据卸成文本,并装载到其它服务器上。

(1) 卸载文本的步骤如下:

用informix用户注册

dbexport cleardb -o WORKDIR -ss

当系统提示dbexport completed!数据卸载完毕。

其中:

-ss 确保数据库的建库信息或建表信息被保留如日志模式、初始extent尺寸、lock mode、表所在dbspace等。

-o 指定存放卸载数据的目录数据存放在目录cleardb.exp目录下,其中包含cleardb.sql和形如*.unl的文件,

提示信息存放在dbexport.out文件中。

(2) 装载文本的步骤如下:

用informix用户注册确保数据库处于On_Line状态,服务器上没有同名数据库。

dbimport cleardb -i WORKDIR

当系统dbimport completed!提示数据装载完毕。

其中:

-i 指定从何处装载。

如何在不破坏库本身信息情况下(如行级锁等)将数据库卸载到磁带设备,并装载在其它服务器上?

1) 卸载的步骤如下:

用DBA用户注册

将存放数据的磁带插入磁带机,确认磁带及磁带机完好可用。

dbexport cleardb -t /dev/rmt/0m -b 512k -s 2048000k -ss

当系统提示dbexport completed!数据卸载完毕。

其中:

-ss 确保数据库的建库信息或建表信息被保留如日志模式,初始extent尺寸,lockmode,表所在dbspace

-t 磁带设备/dev/rmt/0m

-s 磁带容量2G

-b 块大小512KB

提示信息存放在dbexport.out文件中

2) 装载的步骤如下:

用DBA用户注册

将存放卸载数据的磁带放在磁带机上,确认磁带机正常,确认数据库系统处于On_Line状态,服务器上没有同名数据库。

$ dbimport cleardb -t /dev/rmt/0m -b 512k -s 2048000k

当系统dbimport completed 提示数据装载完毕!提示信息存放在dbimport.out 文件中。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有