您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

移动数据库文件

重定向目录或使用 RENAME 子句将数据库移动到文件系统上的一个新位置。

重定向目录存储

为了将文件系统上的目录存储 ( ) 移动到新位置,请将目录重定向到具有新 文件名的目标目录:

RESTORE DATABASE ''''

FROM ''

...

RESTORE 将 dbfile 复制到目标位置,并将目录 ( ) 重命名为 .db 。例如,要将 iqdemo.db 的备份重定向到文件系统上的新位置,请使用:

RESTORE DATABASE 'c:\\newdir\\iqnew.db'

FROM 'c:\\iq\\backup1'

FROM 'c:\\iq\\backup2'

newdir 目录的内容:

iqdemo.iq

iqdemo.iqmsg

iqdemo.iqtmp

iqdemo.log

iqdemo_main.iq

iqnew.db

RESTORE 将备份的目录 ( iqdemo.db ) 重命名为 iqnew.db 。所有其它 dbfile 名称保持不变。

RENAME 子句

使用 RENAME 子句将一个或多个数据库文件移动到新位置:

RESTORE DATABASE ''

FROM ''

RENAME TO

...

将每个 dbfile file_name 指定为其在 SYSIQDBFILE 表中显示的值。将 new-dbspace-path 指定为该 dbspace 的新原始分区,或者新的完整路径或相对路径。

请勿使用 RENAME 子句移动保存目录存储的 SYSTEM dbspace。要移动目录存储及任何未在 RENAME 子句中指定的相关文件,请将新位置指定为 database-name> 参数的一部分。

本示例将原始分区上的一个用户定义的 dbfile ( iquser ) 移动到新的原始分区 ( /dev/rdsk/c1t5d2s1 )。此操作不影响其它数据库文件。第一个代码块用于恢复完全备份:

RESTORE DATABASE 'iquser' 

FROM '/dev/rmt/0n'

FROM '/dev/rmt/1n'

RENAME IQ_SYSTEM_MAIN TO '/dev/rdsk/c2t0d1s1'

RENAME IQ_SYSTEM_TEMP TO '/dev/rdsk/c2t1d1s1'

RENAME IQ_SYSTEM_MSG TO 'iquser.iqmsg'

RENAME IQ_USER TO '/dev/rdsk/c1t5d2s1'

第二个代码块用于恢复增量备份:

RESTORE DATABASE 'iquser' 

FROM '/dev/rmt/0n'

RENAME IQ_SYSTEM_MAIN TO '/dev/rdsk/c2t0d1s1'

RENAME IQ_SYSTEM_TEMP TO '/dev/rdsk/c2t1d1s1'

RENAME IQ_SYSTEM_MSG TO 'iquser.iqmsg'

RENAME IQ_USER TO '/dev/rdsk/c1t5d2s1'

本示例中,发出这些命令时也可以仅使用最后一个 RENAME 子句,因为只有一个 dbspace 要恢复至新的位置。列出所有文件或原始分区(如本例所示)可确保您准确了解每个文件或分区的恢复位置。 注意 在移动数据库时,您可能需要修改数据源、配置文件和集成登录,以反映新位置。

事务日志

移动数据库时,可重命名除事务日志外的所有文件。SAP IQ 继续向旧日志文件名称进行写入,该文件位于恢复数据库后目录存储文件(.db 文件)所在的位置。

使用 dblog 移动或重命名 .log 文件:

dblog[] 

发出命令之前,请停止服务器。重命名日志后,请将旧日志一直保留到下一备份完成为止,以备发生介质故障时需要使用旧日志进行恢复。

请参见《SAP IQ 实用程序指南》中的“dblog 数据库管理实用程序”。