상황은 이렇습니다. 클라이언트 시스템에 RHEL 5.5를 설치하고 /u001/app/oracle에 LVM 마운트 지점을 만들었으며 이제 그는 /u001/app/oracle에 DB를 설치했습니다. 그는 기존 LVM /u001/app/oracle의 마운트 지점을 /u001/로 변경하라는 요청을 받았습니다.
그리고 /u001/에 /app/oracle 디렉토리를 그대로 둡니다.
문제는 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
새로운 레이아웃을 반영하도록 귀하의 것(또는 귀하의 OS가 사용하는 모든 것)을 업데이트하십시오.- 산
/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