我正在尝试将一个DB2数据库还原到一个新的服务器/位置。下面是使用的命令,它们分别在命令行上运行:
create db MYDBNAME
restore db MYDBNAME from D:\ on C: dbpath on C: NEWLOGPATH 'C:\DB2\NODE0000\MYDBNAME\LOGS\' REDIRECT
SET TABLESPACE CONTAINERS FOR 9 USING (PATH 'TBSP32K0000')
SET TABLESPACE CONTAINERS FOR 11 USING (PATH 'TBSP32K0001')
SET TABLESPACE CONTAINERS FOR 13 USING (PATH 'TBSP32K0002')
SET STOGROUP PATHS FOR IBMSTOGROUP ON 'C:\'
restore db MYDBNAME continue
rollforward db MYDBNAME to end of logs and complete备份信息:
MEDIA HEADER REACHED:
=====================
Server Database Name -- MYDBNAME
Server Database Alias -- MYDBNAME
Client Database Alias -- MYDBNAME
Timestamp -- 20180430230002
Database Partition Number -- 0
Instance -- CTGINST2
Database Configuration Type -- 0 (Non-shared data)
Sequence Number -- 1
Database Member ID -- 0
Release ID -- 0x1000 (DB2 v10.5)
AL version -- V:10 R:5 M:0 F:9 I:0 SB:0
Database Seed -- 0x4F18E7E4
DB Comment's Codepage (Volume) -- 0
DB Comment (Volume) --
DB Comment's Codepage (System) -- 0
DB Comment (System) --
Authentication Value -- 255 (Not specified)
Backup Mode -- 1 (Online)
Includes Logs -- 1 (Yes)
Compression -- 1 (Compressed)
Backup Type -- 0 (Database-level)
Backup Granularity -- 0 (Non-incremental)
Merged Backup Image -- 0 (No)
Status Flags -- 0x60
LOGARCHMETH1 is set
LOGARCHMETH2 is set
System Catalogs in this image -- 1 (Yes)
Catalog Partition Number -- 0
DB Codeset -- UTF-8
DB Territory -- GB
LogID -- 1323886033
LogPath -- X:\DBLOGS\NODE0000\LOGSTREAM0000\
Backup Buffer Size -- 4194304 (1024 4K pages)
Number of Sessions -- 1
Platform -- 0x17 (NT-64)当我运行最后的“前滚”命令时,我会得到以下错误:
SQL0752N Connecting to a database is not permitted within a logical unit of work when the CONNECT type 1 setting is in use. SQLSTATE=0A001dbdiag.log显示:
Rollforward failed to connect to database. sqlcode -752.在运行“列表表空间显示详细信息”之后,我看到我的所有表空间都显示了“还原挂起,可以定义存储”
当我运行“列表实用程序显示详细信息”时,我得到了这个结果(它从不移动)
ID = 1
Type = RESTORE
Database Name = MYDBNAME
Member Number = 0
Description = db
Start Time = 12/05/2018 14:33:15.516532
State = Executing
Invocation Type = User
Progress Monitoring:
Completed Work = 67112960 bytes
Start Time = 12/05/2018 14:33:15.516546备注:
发布于 2018-05-12 14:34:18
您需要显示restore ... continue步骤的确切结果。
我怀疑在您的说明中至少没有提到一个表空间或存储组,或者在指定的容器中有一些问题。
检查:要求Db2生成一个恢复脚本(将其内容与命令行进行比较)。
例如:
db2 -v restore db MYDBNAME from D:\ REDIRECT generate script %temp%\myrestore.txt
在结果文件(myrestore.txt)中,将“set表空间容器”和“set stogroup路径”行与命令行进行比较,以查看命令行中是否没有提到表空间/存储组。
对缺少的表空间或存储组调整说明,然后重试。在重试之前,可以中止失败的还原,必要时删除数据库。
如果数据库起源于不同的主机名,请验证当前主机名在C上有足够的空闲空间:以适应恢复的数据库和事务日志文件。您的原始数据库似乎在X:上有它的日志文件,但是您希望新的数据库将它们存储在C:上。通常,您希望活动事务日志位于与容器不同的设备上。
通常db2diag中有额外的信息,因此有必要在恢复操作开始到最终的SQL0752N之间读取db2diag中的所有消息。检查所有这些信息。
发布于 2018-05-12 15:41:30
您的数据库实际上是名为MYDBNAME,还是在这里使用了一个通用名称?SQL0752N意味着您试图连接到另一个数据库,同时仍然连接到第一个数据库,因此我怀疑您的脚本中有一个错误,并且在两个还原命令中没有使用相同的数据库名。
https://stackoverflow.com/questions/50306859
复制相似问题