on
오라클 deinstall 과정
오라클 deinstall 과정
오라클 데이터베이스 소프트웨어 설치 제거 (생성한 데이터베이스 포함) 순서를 요약하자면,
deinstall -> (선택) ORACLE_BASE 디렉토리 제거 -> oraInst.loc, oratab, ORCLfmap등 프롬프트 제거 권장 파일 삭제 -> 설치 소유자 사용자 제거 -> 설치 시 생성했던 그룹 제거
[oracle@enp0s3 dbhome_1]$ $ORACLE_HOME/deinstall/deinstall Checking for required files and bootstrapping ... Please wait ... 로그 위치 /tmp/deinstall2021-11-10_11-47-12AM/logs/ ############ ORACLE DECONFIG TOOL START ############ ######################### DECONFIG CHECK OPERATION START ######################### ## [시작] 설치 확인 구성 ## Oracle 홈 위치의 존재 여부를 확인하는 중/u01/app/oracle/product/19.0.0/dbhome_1 설치 해제를 위해 선택된 Oracle 홈 유형: Oracle 단일 인스턴스 데이터베이스 설치 해제를 위해 선택된 Oracle 기본 위치: /u01/app/oracle 중앙 인벤토리 위치의 존재 여부를 확인하는 중/u01/app/oraInventory ## [종료] 설치 확인 구성 ## 네트워크 구성 확인 구성 시작 네트워크 구성 해제 추적 파일 위치: /tmp/deinstall2021-11-10_11-47-12AM/logs/netdc_check2021-11-10_11-47-22AM.log 네트워크 구성 확인 구성 종료 데이터베이스 확인 구성 시작 데이터베이스 구성 해제 추적 파일 위치: /tmp/deinstall2021-11-10_11-47-12AM/logs/databasedc_check2021-11-10_11-47-22AM.log 값 목록을 입력값으로 지정하는 경우 콤마를 구분 기호로 사용하십시오. 이 Oracle 홈에 구성된 데이터베이스 이름 목록을 지정하십시오. [orcl]: ###### 'orcl' 데이터베이스의 경우 ###### 단일 인스턴스 데이터베이스 데이터베이스의 진단 대상 위치: /u01/app/oracle/diag/rdbms/orcl 데이터베이스에서 사용하는 저장 영역 유형: FS 데이터베이스 파일 위치: /u01/app/oracle/oradata/ORCL 빠른 복구 영역 위치: 존재하지 않습니다. 데이터베이스 spfile 위치: /u01/app/oracle/product/19.0.0/dbhome_1/dbs/spfileorcl.ora orcl 데이터베이스의 세부정보가 자동으로 검색되었습니다. orcl 데이터베이스의 세부정보를 수정하겠습니까? [n]: 데이터베이스 확인 구성 종료 ######################### DECONFIG CHECK OPERATION END ######################### ####################### DECONFIG CHECK OPERATION SUMMARY ####################### 설치 해제를 위해 선택된 Oracle 홈: /u01/app/oracle/product/19.0.0/dbhome_1 등록된 Oracle 홈이 있는 인벤토리 위치: /u01/app/oraInventory orcl 데이터베이스가 구성 해제 대상으로 선택되었습니다. 해당 데이터베이스는 삭제되며 구성 해제 시 유용하지 않습니다. 데이터베이스 고유 이름: orcl 사용된 저장 영역: FS 계속하겠습니까(y - 예, n - 아니오)? [n]: y 이 세션의 로그는 '/tmp/deinstall2021-11-10_11-47-12AM/logs/deinstall_deconfig2021-11-10_11-47-21-AM.out'에 기록됩니다. 이 세션의 모든 오류 메시지는 '/tmp/deinstall2021-11-10_11-47-12AM/logs/deinstall_deconfig2021-11-10_11-47-21-AM.err'에 기록됩니다. ######################## DECONFIG CLEAN OPERATION START ######################## 데이터베이스 구성 해제 추적 파일 위치: /tmp/deinstall2021-11-10_11-47-12AM/logs/databasedc_clean2021-11-10_11-47-22AM.log 데이터베이스 정리 구성 시작 orcl 이 작업은 몇 분 정도 걸릴 수 있습니다. 데이터베이스 정리 구성 종료 orcl 네트워크 구성 정리 구성 시작 네트워크 구성 해제 추적 파일 위치: /tmp/deinstall2021-11-10_11-47-12AM/logs/netdc_clean2021-11-10_11-47-22AM.log 백업 파일의 구성을 해제하는 중... 백업 파일의 구성이 성공적으로 해제되었습니다. 네트워크 구성이 성공적으로 정리되었습니다. 네트워크 구성 정리 구성 종료 ######################### DECONFIG CLEAN OPERATION END ######################### ####################### DECONFIG CLEAN OPERATION SUMMARY ####################### 성공적으로 구성이 해제된 데이터베이스 인스턴스: orcl ####################################################################### ############# ORACLE DECONFIG TOOL END ############# 속성 파일 /tmp/deinstall2021-11-10_11-47-12AM/response/deinstall_2021-11-10_11-47-21-AM.rsp 사용 중 로그 위치 /tmp/deinstall2021-11-10_11-47-12AM/logs/ ############ ORACLE DEINSTALL TOOL START ############ ####################### DEINSTALL CHECK OPERATION SUMMARY ####################### 이 세션의 로그는 '/tmp/deinstall2021-11-10_11-47-12AM/logs/deinstall_deconfig2021-11-10_11-47-21-AM.out'에 기록됩니다. 이 세션의 모든 오류 메시지는 '/tmp/deinstall2021-11-10_11-47-12AM/logs/deinstall_deconfig2021-11-10_11-47-21-AM.err'에 기록됩니다. ######################## DEINSTALL CLEAN OPERATION START ######################## ## [시작] 설치 해제 준비 중 ## LOCAL_NODE을(를) enp0s3(으)로 설정하는 중 CRS_HOME을(를) false(으)로 설정하는 중 oracle.installer.invPtrLoc을(를) /tmp/deinstall2021-11-10_11-47-12AM/oraInst.loc(으)로 설정하는 중 oracle.installer.local을(를) false(으)로 설정하는 중 ## [끝] 설치 해제 준비 중 ## Setting the force flag to false Setting the force flag to cleanup the Oracle Base Oracle Universal Installer 정리 시작 로컬 노드의 중앙 인벤토리에서 Oracle 홈 '/u01/app/oracle/product/19.0.0/dbhome_1' 분리 : 완료 로컬 노드에서 '/u01/app/oracle/product/19.0.0/dbhome_1' 디렉토리 삭제 : 완료 로컬 노드에서 '/u01/app/oraInventory' 디렉토리 삭제 : 실패 <<<< '/u01/app/oracle' 디렉토리 삭제를 실패했습니다. 사용자에게 삭제할 권한이 없거나 디렉토리가 사용 중입니다. 로컬 노드에서 '/u01/app/oracle' 디렉토리 삭제 : 실패 <<<< Oracle Universal Installer 정리가 완료되었지만 오류가 있습니다. Oracle Universal Installer 정리 끝 ## [시작] Oracle 설치 지우기 ## ## [종료] Oracle 설치 지우기 ## ######################### DEINSTALL CLEAN OPERATION END ######################### ####################### DEINSTALL CLEAN OPERATION SUMMARY ####################### 로컬 노드의 중앙 인벤토리에서 Oracle 홈 '/u01/app/oracle/product/19.0.0/dbhome_1' 분리를 성공했습니다. 로컬 노드에서 '/u01/app/oracle/product/19.0.0/dbhome_1' 디렉토리 삭제를 성공했습니다. 로컬 노드에서 '/u01/app/oraInventory' 디렉토리 삭제를 실패했습니다. 오류: 사용자에게 삭제 권한이 없거나 파일이 사용 중입니다. 권한을 검토하고 로컬 노드에서 '/u01/app/oraInventory'을(를) 수동으로 삭제하십시오. 로컬 노드에서 '/u01/app/oracle' 디렉토리 삭제를 실패했습니다. 오류: 사용자에게 삭제 권한이 없거나 파일이 사용 중입니다. 권한을 검토하고 로컬 노드에서 '/u01/app/oracle'을(를) 수동으로 삭제하십시오. Oracle Universal Installer 정리가 완료되었지만 오류가 있습니다. 세션 종료 시 'enp0s3' 노드에서 루트로 'rm -r /etc/oraInst.loc'을(를) 실행하십시오. 세션 종료 시 'enp0s3' 노드에서 루트로 'rm -r /opt/ORCLfmap'을 실행하십시오. 세션 종료 시 'enp0s3' 노드에서 루트로 'rm -r /etc/oratab'을 실행하십시오. 'enp0s3' 노드에서 '/u01/app/oracle'의 권한 및 내용을 검토하십시오. '/u01/app/oracle'과(와) 연관된 Oracle 홈이 없는 경우 수동으로 '/u01/app/oracle' 및 해당 내용을 삭제하십시오. Oracle 설치 해제 툴이 임시 디렉토리를 성공적으로 정리했습니다. ####################################################################### ############# ORACLE DEINSTALL TOOL END #############
삭제안된 디렉토리, 파일 삭제하기 위해 경로 확인, 삭제, 삭제 확인을 수행한다.
Oracle 소프트웨어가 시스템에 설치되면 OUI가 oraInst.loc 파일을 생성한다. 이 파일은 Oracle Inventory 그룹의 이름을 식별한다.
파일을 생성한다. 이 파일은 Oracle Inventory 그룹의 이름을 식별한다. Oratab 은 ORACLE_SID 및 ORACLE_HOME 값을 연결하는 Unix 및 Linux 시스템에서 콜론으로 구분된 텍스트 파일이다. 이 파일은 /var/opt/oracle 또는 /etc 디렉토리에 있다. oraenv, dbhome, dbstart 및 dbshut와 같은 스크립트는 oratab 파일을 사용한다.
은 ORACLE_SID 및 ORACLE_HOME 값을 연결하는 Unix 및 Linux 시스템에서 콜론으로 구분된 텍스트 파일이다. 이 파일은 /var/opt/oracle 또는 /etc 디렉토리에 있다. oraenv, dbhome, dbstart 및 dbshut와 같은 스크립트는 oratab 파일을 사용한다. ORCLfmap 파일은 오라클 파일 매핑 인터페이스 개념에서 사용되는 파일로 데이터 파일과 관련있는 내용이다.
[oracle@enp0s3 dbhome_1]$ logout [root@enp0s3 ~]# rm -rf /u01/app/oraInventory [root@enp0s3 ~]# rm -rf /u01/app/oracle [root@enp0s3 ~]# rm -rf /etc/oraInst.loc [root@enp0s3 ~]# rm -rf /opt/ORCLfmap [root@enp0s3 ~]# rm -rf /etc/oratab # rm 명령 파일마다 삭제 확인 안하려면 -f 사용 # 삭제 확인 [root@enp0s3 ~]# ls -la /etc/oraInst.loc ls: cannot access /etc/oraInst.loc: 그런 파일이나 디렉터리가 없습니다 [root@enp0s3 ~]# ls -la /opt/ORCLfmap ls: cannot access /opt/ORCLfmap: 그런 파일이나 디렉터리가 없습니다 [root@enp0s3 ~]# ls -la /etc/oratab ls: cannot access /etc/oratab: 그런 파일이나 디렉터리가 없습니다
[참고]
샘플 oratab 파일
# This file is used by ORACLE utilities. It is created by root.sh # and updated by the Database Configuration Assistant when creating # a database. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:: # # The first and second fields are the system identifier and home # directory of the database respectively. The third filed indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # orcl:/opt/oracle/product/10.2.0/db_1:Y
[참고]
ORACLE_BASE 디렉토리는 (다시 설치할거라면) 삭제 안해도 상관은 없다. 내부에 파일은 없는 상태이고, 그런데 재설치하면 동일하게 사전작업으로 디렉토리 생성, 소유권 변경, 액세스 권한 작업등을 해줘야한다.
[root@enp0s3 ~]# ls -la /u01/app/oracle 합계 0 drwxrwxr-x. 2 oracle oinstall 6 11월 10 11:49 . drwxrwxr-x. 4 root root 40 11월 8 17:09 .. [root@enp0s3 ~]# ls -la /u01/app/ 합계 0 drwxrwxr-x. 4 root root 40 11월 8 17:09 . drwxr-xr-x. 3 root root 17 11월 2 15:38 .. drwxrwx---. 2 oracle oinstall 6 11월 10 11:49 oraInventory drwxrwxr-x. 2 oracle oinstall 6 11월 10 11:49 oracle [root@enp0s3 ~]# ls -la /u01/app/oraInventory/ 합계 0 drwxrwx---. 2 oracle oinstall 6 11월 10 11:49 . drwxrwxr-x. 4 root root 40 11월 8 17:09 ..
설치 소유자 사용자 (사용자명 oracle) 를 userdel 명령으로 제거한다. 제거 작업 전/후 확인하는 명령을 포함한다.
[root@enp0s3 ~]# id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54327(asmdba) [root@enp0s3 ~]# groups oracle oracle : oinstall dba oper backupdba dgdba kmdba asmdba [root@enp0s3 ~]# userdel -r oracle [root@enp0s3 ~]# id oracle id: oracle: no such user [root@enp0s3 ~]# groups oracle groups: oracle: no such user
/etc/group 파일을 보면 생성한 그룹을 볼 수 있다.
oinstall:x:54321: dba:x:54322: oper:x:54323: backupdba:x:54324: dgdba:x:54325: kmdba:x:54326: asmdba:x:54327: asmoper:x:54328: asmadmin:x:54329: racdba:x:54330:
성공하면 groupdel 명령은 출력을 인쇄하지 않는다.
[root@enp0s3 ~]# groupdel oinstall [root@enp0s3 ~]# groupdel dba [root@enp0s3 ~]# groupdel oper [root@enp0s3 ~]# groupdel backupdba [root@enp0s3 ~]# groupdel dgdba [root@enp0s3 ~]# groupdel kmdba [root@enp0s3 ~]# groupdel asmdba [root@enp0s3 ~]# groupdel asmoper [root@enp0s3 ~]# groupdel asmadmin [root@enp0s3 ~]# groupdel racdba
grep 단독 명령이나 getent 결합 명령으로 그룹 제거 확인할 수 있다. 출력이 없으면 제거가 성공적으로 수행된 것임.
[root@enp0s3 ~]# grep oinstall /etc/group [root@enp0s3 ~]# getent group | grep oinstall
소프트웨어 제거가 완료되어 오라클 재설치할 준비가 되었다.
from http://xjhx.tistory.com/38 by ccl(A) rewrite - 2021-11-17 15:27:00