OS级别备份就是通过OS直接备份所有数据库文件,以达到备份数据库的目的。 【适用的情况】 1、需要利用现有数据库创建一个测试数据库或者简单备份数据库; 2、需要恢复以前备份的数据,但是现有数据库服务不能停。 【不能简单COPY的原因】 多卷数据库创建时是基于st文件创建的,数据库本身存放了相关文件(比如db,bi和extent文件)的路径信息。一般恢复备份数据等操作,如果现行数据库不能停的话,存放的路径肯定是不一样的,这时是没法启动的,用procopy等命令也用不起,会出现诸如“the copy of xxxx”的错误信息。
【具体步骤】 例:原来存放在/mfg/db/psales的psales数据库,需要从磁带倒出并重命名为tsales的数据库,目标路径:/mfg/db/tsales 1、从磁带倒出所有psales*的文件到/mfg/db/tsales目录,并重命名为tsales*:# cd /mfg/db/tsales 注意:改变目录以后如思路不清楚请不要随意改变到其它目录!!!
# frecover -f /dev/rmt/0m -i /mfg/db/psales/psales* -xXv 这时实际上数据库文件是恢复到:/mfg/db/tsales/mfg/db/psales目录下的,可以逐个拷贝同时重命名(注意只要拷贝.d*和.b*和.st的文件即可),例: # cp -p /mfg/db/tsales/mfg/db/psales/psales.db /mfg/db/tsales/tsales.db 注意使用-p参数保持文件的时间戳和权限。 2、编辑/mfg/db/tsales/tsales.st文件,修改所有的路径设置比如: 原来:d /mfg/db/psales/psales.d1 改成:d /mfg/db/tsales/tsales.d1 3、重建数据库路径信息: # prostrct repair tsales tsales.st 4、登录数据库试运行: # /mfg/dlc91/bin/pro tsales 5、用probkup命令验证数据库完整性: # /mfg/dlc91/bin/probkup tsales NUL 说明:probkup命令可以在线执行,同时probkup命令可以确认block级别的完整性。
|