需要将LVM /u001/app/oracle 的挂载点更改为/u001/

需要将LVM /u001/app/oracle 的挂载点更改为/u001/

情况是这样的。我在客户端系统上安装了RHEL 5.5,并在/u001/app/oracle创建了LVM挂载点,现在他已经在/u001/app/oracle上安装了DB。他被要求我将现有LVM /u001/app/oracle 的挂载点更改为/u001/。

并将目录 /app/oracle 保留在 /u001/ 中。

问题是,如果我将 LVM 的挂载点从 /u001/app/oracle/ 更改为 /u001/ ,它将删除目录 /app/oracle 并且数据库将无法识别新的 URL。

现在这就是我需要的

将 /u001/app/oracle 的挂载点更改为 /u001/ 并保留 /app/oracle/ 目录(更改挂载点后不应删除这两个目录,因为它们是 URL 数据库正在使用的部分)

目录结构

FileSystem                            Size     Used     Mounted on 
/dev/sda1                             100G     21G      /
/dev/mapper/VolGroup00-LogVol00       450G     83G      /u001/app/oracle
/dev/sda2                             487M     13M      /boot

答案1

如果您有这样的挂载层次结构:

/dev/hd1   /
/dev/hd2   /a/b/c

并想将其更改为

/dev/hd1
/dev/hd2   /a

/a同时保留应用程序所看到的目录结构,以及假设/a/a/b否则为空,变换很简单:

  • 停止数据库(以及依赖于它的所有内容)
  • 确保您拥有所有内容的有效(可恢复)备份
  • 记下目录的权限/a/a/b并且/a/b/c
  • 卸载/a/b/c
  • 更新您的fstab(或您的操作系统使用的任何内容)以反映新的布局
  • /a

然后:

  • mkdir -p /a/b/c
  • 将这些目录的权限恢复为以前的状态
  • 将所有内容移入/a/a/b/c显然b你刚刚创建的除外)。

示例/模拟:

$ ls /u001/app/oracle
admin/
diag/
product/
...
# umount /u001/app/oracle
# <edit fstab>
# mount /u001
$ ls /u001
admin/
diag/
product/
...

此时,您的 Oracle 文件已“重新植根”于/u001.您只需将它们移至正确的层次结构即可

# mkdir -p /u001/app/oracle
# check & adapt the permissions on those directories, making sure they
# are identical to what you had
$ mv /u001/* /u001/app/oracle
<warning about not moving app to a subdirectory of itself - ok>
# Don't forget the .dotfiles
$ mv /u001/.??* /u001/app/oracle

相关内容