问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

db2有表空间的LRG跟FLG文件,能恢复出来吗?

发布网友 发布时间:2022-04-24 21:38

我来回答

2个回答

热心网友 时间:2022-04-09 04:59

在弄明白什么是重定向恢复之前,需要知道数据库的文件构成,如果您对这一块比较熟悉,可以直接跳到第一条分割线:

首先,一个DB2数据库的文件是由两分部构成的:表空间容器和数据库文件,容器就是真正存放用户数据的地方,是创建表空间时定义的;数据库文件则包括了缓冲池信息文件、数据库配置文件、历史文件、日志控制文件等。

问题是,如何定义表空间容器以及数据库文件所在的路径呢?答:是create database以及create tablespace的时候的参数决定的:

1. 如果CREATE DATABASE的时候指定了 AUTOMATIC STORAGE NO:
没有指定ON path,那么数据库文件会被创建在数据库管理器配置文件dftdbpath指定的目录里;
若指定了ON path,那么数据库文件会被创建在ON指定的path里。

2. 如果CREATE DATABASE的时候指定了 AUTOMATIC STORAGE YES或者根本没有指定AUTOMATIC STORAGE:
2.1 没有指定ON path, 那么数据库文件和IBMSTOGROUP都会被创建/指定在dftdbpath指定的目录里
2.2 若指定了ON path, 这个path可以指定多个路径。 IBMSTOGROUP就使用这些路径,表空间容器路径解决了,数据库文件在哪里呢?这取决于DBPATH ON 参数:
没有指定DBPATH ON,数据库文件会被放在ON path指定的第一个路径里。
若指定了DBPATH ON, 数据库文件会放在这个路径下。

下面正式进入重定向复原,首先是什么情况下需要重定向恢复?

在下列任何情况下,请使用重定向复原操作:
--如果要将备份映像复原到不同于源机器的目标机器
--如果要将表空间容器复原到另一个物理位置
--如果复原操作由于一个或多个容器不可访问而失败
--如果要重新定义已定义的存储器组的路径

这儿我举一个例子,尽可能地将上面几种情况都包括了,假设我们有如下创建数据库以及表空间的命令:

dbm cfg: Default database path (DFTDBPATH) = /home/db2users/e105q6a

$ db2 "create db test"
$ db2 "connect to test"
$ db2 "create STOGROUP MQSGROUP ON '/home/db2users/e105q6a/conpath1', '/home/db2users/e105q6a/conpath2'"
$ db2 "create user temporary tablespace usrtmp1 managed by automatic storage"
$ db2 "create regular tablespace rglrtbs1 managed by automatic storage USING STOGROUP MQSGROUP"
$ db2 "create tablespace tbs1 managed by system using ('/home/db2users/e105q6a/path1')"
$ db2 "create tablespace tbs2 managed by database using (file 'con2' 4000)"

那么数据库文件、storage group以及各个表空间的容器路径如下:
数据库文件/数据库目录:
/home/db2users/e105q6a

Storage Group:
$ db2 "SELECT VARCHAR(STORAGE_GROUP_NAME, 15) AS STOGROUP, STORAGE_GROUP_ID, VARCHAR(DB_STORAGE_PATH, 40) AS STORAGE_PATH FROM TABLE(ADMIN_GET_STORAGE_PATHS('',-1)) AS T"
STOGROUP STORAGE_GROUP_ID STORAGE_PATH
---------------- ---------------- ----------------------------------------
IBMSTOGROUP 0 /home/db2users/e105q6a
MQSGROUP 1 /home/db2users/e105q6a/conpath1
MQSGROUP 1 /home/db2users/e105q6a/conpath2
3 record(s) selected.

表空间容器(我精简了输出):
$ db2pd -db test -tab

Database Member 0 -- Database TEST -- Active -- Up 0 days 00:16:02 -- Date 2017-02-25-10.28.54.331489

Tablespace Configuration:
Id AS AR Type Content SGID Name Type Container
0 Yes Yes DMS Regular 0 SYSCATSPACE File /home/db2users/e105q6a/e105q6a/NODE0000/TEST/T0000000/C0000000.CAT
1 Yes No SMS SysTmp 0 TEMPSPACE1 Path /home/db2users/e105q6a/e105q6a/NODE0000/TEST/T0000001/C0000000.TMP
2 Yes Yes DMS Large 0 USERSPACE1 File /home/db2users/e105q6a/e105q6a/NODE0000/TEST/T0000002/C0000000.LRG
3 Yes Yes DMS Large 0 SYSTOOLSPACE File /home/db2users/e105q6a/e105q6a/NODE0000/TEST/T0000003/C0000000.LRG
4 Yes No SMS UsrTmp 0 USRTMP1 Path /home/db2users/e105q6a/e105q6a/NODE0000/TEST/T0000004/C0000000.UTM
5 Yes Yes DMS Regular 1 RGLRTBS1 File /home/db2users/e105q6a/conpath1/e105q6a/NODE0000/TEST/T0000005/C0000000.USR
5 Yes Yes DMS Regular 1 RGLRTBS1 File /home/db2users/e105q6a/conpath2/e105q6a/NODE0000/TEST/T0000005/C0000001.USR
6 No No SMS Regular - TBS1 Path /home/db2users/e105q6a/path1
7 No No DMS Large - TBS2 File /home/db2users/e105q6a/e105q6a/NODE0000/SQL00001/con2

----
以上面的数据库为例,假设想要通过重定向恢复达到以下目的:
1.)把数据库文件路径换为/home/db2users/e105q6a/targetdbdir
2.) 把IBMSTOGROUP的路径换为/home/db2users/e105q6a/targetstgrpsystem
3.)把MQSGROUP的路径换为/home/db2users/e105q6a/targetstgrpuser1, /home/db2users/e105q6a/targetstgrpuser2 和/home/db2users/e105q6a/targetstgrpuser3
4.)把表空间tbs1路径换为:/home/db2users/e105q6a/targetpath1
5.)把表空间tbs2路径换为:/home/db2users/e105q6a/targetcon2, 并将大小改为5000

要先通过"db2 drop db test"删掉数据库(模拟恢复到另一个机器上),之后针对上面这几个需求,相应的操作如下:
1.)$ db2 "restore db test to '/home/db2users/e105q6a/targetdbdir' redirect without prompting"
2.)$ db2 "SET STOGROUP PATHS FOR IBMSTOGROUP ON '/home/db2users/e105q6a/targetstgrpsystem'"
3.)$ db2 "SET STOGROUP PATHS FOR MQSGROUP ON '/home/db2users/e105q6a/targetstgrpuser1', '/home/db2users/e105q6a/targetstgrpuser2', '/home/db2users/e105q6a/targetstgrpuser3' "
4.)$ db2 "set tablespace containers for 6 using (path '/home/db2users/e105q6a/targetpath1')"
5.)$ db2 "set tablespace containers for 7 using (file '/home/db2users/e105q6a/targetcon2' 5000)"

最后发出db2 restore db test continue的命令,完成重定向恢复。

热心网友 时间:2022-04-09 06:17

可以恢复,sqllib只是实例目录,你删除了该目录就类似于删除了实例,只要数据库目录没有删除就可以通过新建实例来恢复。
恢复方法是通过在安装包中的instance目录下的db2icrt命令重新创建一个和原先同名的实例,然后catalog数据库到该实例下。重新安装后的数据库,按以前表空间、数据文件进行创建。 2、用非系统盘的数据文件来顶替新创建的数据文件。但系统的检查点变了数据库肯定不能启动。 3、要先脱机(Offline)非系统盘的文件,进行做一次价值恢复。数据库启动后再进行联机(Online)。 以上做法我没试过,关键在于介质恢复能否使检查点获得一致,或许会成功啊。
电脑中删除的数据如何恢复?数据删除恢复知识来了! 电脑中会有很多文件产生,工作文档,接受的图片文件等,这些文件如果在日常中使用的话,使用完以后就会想着去删除,但是有时候全选删除会导致数据丢失,或者误删除,删除的文件该怎么去找回呢?相信大家在日常生活中也都会经常遇到这种现象,并且这也是一种比较常见的现象。尤其是对于一些新手来说,都会误删一些数据的,但是又不知道如何去解决?很多误删除的文件都可以使用相关的数据恢复软件进行修复,下面为大家介绍下具体步骤。 方法一:回收站恢复 回收站是每个电脑系统所自动的一个功能,一般删除后的数据都会保存在这个里面,这些数据删除也是临时删除的,因为如果误删后,一般是用。
可以还原。 取下内存卡,通过读卡器接到电脑,就可以作为可移动磁盘来恢复数据。常用的数据恢复软件都可以。下面以diskgenius为例: 1、安装diskgenius,打开它。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? db2 误删除三个表中的数据,没有备份文件,只有归档日志,如何恢复? 误删DB2数据库中一张表的数据,怎样才能恢复?数据库之前没有备份. db2 delete表数据如何恢复,表没有删除 db2 误删表 怎么处理 如何恢复DB2中误删除表的数据 有贷款合同编号可以下载合同吗 贷款合同书怎么写 企业网银贷款合同在哪里下载 贷款合同模板是怎样写的 买不到鲜奶油!没有打蛋器!如何自*激凌?-一款不需要奶油的,简单的自*激凌 无需加奶油的冰激凌做法 自制无奶油冰激凌怎么做如何做好吃 巧克力冰淇淋的做法(无奶油) 不用奶油怎么做最简单的冰激凌 没有奶油怎么制作冰淇淋的制作方法 无奶油,无冰淇淋粉,不用煮的冰淇淋怎么做? 自制无奶油冰激凌的做法 无奶油的冰淇淋该怎么做? 怎样在家做简单的冰激凌,不需要奶油,材料不多,简单易做 最简单不用奶油的冰淇淋做法 db2误删sqllib,能恢复吗 db2可以根据时间戳查找被删除的数据吗 DB2数据库数据未备份误删了怎么恢复?使用的delete语句删除的,急求... 有谁知道DB2数据库,如果删除后,再重新装,能不能安装成功。 重装系统后,如何恢复DB2数据库? DB2数据未备份删除,怎么就恢复?使用delete语句删除的,急求!!! db2没有备份数据 怎么恢复到某个时间节点。。 灯笼 朋友 热闹 快乐 这么 伙计 红火 暖和 福气 时候造句 灯笼发朋友圈怎么配文? 你个灯笼你没有朋友什么意思? dnf小灯笼的好朋友怎么做这个任务 女朋友送灯笼是什么意思? 父亲给幼儿熬夜做灯笼发朋友圈怎么说? dnf小灯笼的好朋友是谁 娘家人送灯笼发什么朋友圈 老师辅助孩子做的灯笼要怎么发朋友圈 问一下我玩DNF在做一个任务叫做“小灯笼的好朋友”,我刷了好多遍就是不出小鱼人,有什么办法? dnf小灯笼的好朋友任务 DNF65级任务(小灯笼的朋友:寻找空伊伊。)这任务怎么做! DNF小灯笼的好朋友任务都刷了一天的pl怎么还没完成啊~~