Informix之ontape 0级备份和恢复实例详解

一、备份

一共涉及8个参数,其中2个BACKUP_FILTER、RESTORE_FILTER用于数据变换指定过滤器程序,不常使用;其他6个如下所示用于创建存储空间和逻辑日志备份。

1、修改onconfig中以下6个参数。

# System Archive Tape Device

TAPEDEV         /home/share       # Tape device path

TAPEBLK         32              # Tape block size (Kbytes)

TAPESIZE        204800          # Maximum amount of data to put on tape (Kbytes)

# Log Archive Tape Device

LTAPEDEV        /home/share/tape1       # Log tape device path

LTAPEBLK        32              # Log tape block size (Kbytes)

LTAPESIZE       102400          # Max amount of data to put on log tape (Kbytes)

2、保证设置的文件地址可用

-bash-3.1$touch tape1

-bash-3.1$chmod 660 tape1

3、运行ontape执行0级备份

-bash-3.1$ ontape -s -L 0

 [root@fedora share]# su - informix

-bash-3.1$ ontape -s -L 0

100 percent done.

File created: /home/share/fedora_10_L0

Please label this tape as number 1 in the arc tape sequence.

This tape contains the following logical logs:

 4

Program over.

4、错误解决

若提示:Directory must have RWX permission for owner/group informix /home/share/

Archive failed - function open archive tape failed code -1 errno 0

Program over.

则:

[root@fedora share]# chown informix:informix /home/share

[root@fedora share]# chmod 777 /home/share

5、使用ontape工具进行数据备份需要注意的问题

     1)在执行ontape备份前要对Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE参数进行正确的设置。

     2)为了缩短数据恢复时间,应以进行0级为主,尽量减少1级和2级备份。对银行等重要部门数据,应每天进行0级备份。

     3)如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、Onconfig配置文件及非临时分配的Dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。

     4)必须保证有足够可用的逻辑日志文件。如果剩余的逻辑日志空间小于单个逻辑日志的50%,Informix-online将拒绝执行备份操作。必须先备份已使用过的逻辑日志,然后才能进行数据备份。

     5)保留Onconfig文件副本。在进行0级备份后,应备份Onconfig文件,因为在恢复0级备份时需要读Onconfig文件信息,如果online配置被修改,数据恢复将失败,如果恢复此0级备份,必须恢复当时的配置。

     6)备份可以在online联机或静止方式下进行,在备份过程中不能改变online运行方式,否则备份会被中断。

     7)不要使用后台方式执行备份命令(UNIX下的&&),因为备份采用交互方式进行。

二、ontape恢复:

注意的问题:

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

1、恢复过程

-bash-3.1$ onmode -ky

-bash-3.1$ ls

fedora_10_L0  lost+found  tape1

-bash-3.1$ ontape -r

Restore file /home/share/fedora_10_L0 and press Return to continue ...

Archive Tape Information

Tape type:      Archive Backup Tape

Online version: IBM Informix Dynamic Server Version 11.50.UC1DE

Archive date:   Tue Aug 17 11:01:04 2010

User id:        informix

Terminal id:    /dev/pts/0

Archive level:  0

Tape device:    /home/share/

Tape blocksize (in k): 32

Tape size (in k): system defined for directory

Tape number in series: 1

Spaces to restore:1 [rootdbs]

2 [dbs1]

Archive Information

IBM Informix Dynamic Server Copyright 2001, 2008  IBM Corporation.

Initialization Time       06/11/2010 13:56:15

System Page Size          2048

Version                   16

Index Page Logging        OFF

Archive CheckPoint Time   08/17/2010 11:01:03

Dbspaces

number   flags    fchunk   nchunks  flags    owner                            name

1        60001    1        1        N  B     informix                         rootdbs                                                                                                                        

2        60001    2        1        N  B     informix                         dbs1                                                                                                                            

Chunks

chk/dbs offset   size     free     bpages   flags pathname

1   1   0        450000   340145            PO-B  /home/informix/ids11uc1/dbs/rootdbs

2   2   0        250000   161794            PO-B  /dbs/dbs1

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

Continue restore? (y/n)y

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

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

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

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

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

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

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

/home/informix/ids11uc1/bin/onmode -sy

Program over.

  /*数据库自动进入quiescent 模式*/

-bash-3.1$ onstat -

IBM Informix Dynamic Server Version 11.50.UC1DE -- Quiescent -- Up 00:00:46 -- 347572 Kbytes

-bash-3.1$ onmode -m

-bash-3.1$ onstat -

IBM Informix Dynamic Server Version 11.50.UC1DE -- On-Line -- Up 00:00:52 -- 347572 Kbytes

2、对恢复期间的监视

在恢复DBSPACE期间,由于online.log不更新,所以监视恢复状况我就采用onstat来分析。

 

三、备份恢复常用到的命令

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个旧逻辑日志。

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

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

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

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

C)将上述chunk删除

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

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

onspace -d datadbs

 

ps:当然还有许多未提到的。

例如备份中:ontape –a, on-demanded backup of logical logs

                        ontape –c, continuous backup of logical logs

例如热恢复时可以使用的:ontape –r –D [dbs1 dbs2 …]

例如更改database logging:

       Ontape –s –A stores7

Ontape –s –B stores7

Ontape –s –U stores7

Ontape –N stores7

Ontape –B stores7

Ontape –U stores7


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值