Solaris中dd命令还原系统记录


由于SUN Solaris系统更改root下的一些东西导致系统崩溃,采取以下策施进行系统还原。

1、为了不重新安装Oracle数据库系统和x1000用户下面的软件和需要进行一系列配置,首先需要把oracle用户和x1000用户所在的文件夹打包,使用的命令为

# cd /export/home

# tar cvf oracle.tar /export/home/oracle    //打包oracle用户文件夹

# tar cvf x1000.tar /export/home/x1000    //打包x1000用户文件夹

(注:由于oracle中回滚数据库表空间很大,这里有32G的大小,打包程序将忽略不执行这个文件的打包,所以需要单独拷贝

2、把打包的文件拷贝到windows系统中保存。

3、把Sun1服务器的硬盘拆下来,安装的在Sun2的硬盘安装位置1处(Sun2的硬盘安装在0处)。

4、启动Sun2服务器,进入root用户,在终端中使用命令进行系统分区文件备份,把原来Sun2服务器硬盘中的数据按分区完全备份到Sun1服务器硬盘中,首先可以使用format命令查看两块硬盘分区是否一致(dd拷贝必须保证两块硬盘的分区结构一致)。可以看到,我们的系统分区有5个,分别是

c1t0d0s0          /

c1t0d0s1          /usr

c1t0d0s3          /swap

c1t0d0s4          /opt

c1t0d0s7          /home

然后使用dd命令进行备份

# dd if=/dev/dsk/c1t0d0s0 of=/dev/dsk/c1t1d0s0 bs=1024k

当备份结束时,将提示

******+1 记录进入

******+1 记录调出

然后依次备份其他分区

# dd if=/dev/dsk/c1t0d0s1 of=/dev/dsk/c1t1d0s1 bs=1024k

# dd if=/dev/dsk/c1t0d0s3 of=/dev/dsk/c1t1d0s3 bs=1024k

# dd if=/dev/dsk/c1t0d0s4 of=/dev/dsk/c1t1d0s4 bs=1024k

# dd if=/dev/dsk/c1t0d0s7 of=/dev/dsk/c1t1d0s7 bs=1024k

5、把备份完成的硬盘安装到Sun1服务器中,启动机器,将能够正确进入系统,说明系统还原成功。

6、把备份的两个用户文件包通过fpt传到Sun1上面。(这里由于ftp访问Solaris不能登录root用户,所以先要上传到其他用户中去,如这里上传到oracle用户目录下,然后在登录root用户把这个包拷贝到目录/export/home下面)

把原来的x1000用户和oracle用户目录的名称改变,然后在root用户下使用tar命令解包两个文件包

# tar xvf oracle.tar

# tar xvf x1000.tar

解包之后的两个文件夹的属性为root用户,所以需要更改为各自用户所拥有,使用命令进行修改

# chown -R x1000:other x1000

# chown -R oracle:dba oracle

7、登陆Oracle用户检查oracle是否启动成功,如果成功,则登陆x1000用户启动x1000监控系统,观察是否成功。

这样,就完成了Solaris系统的恢复工作。

相关内容