[Oracle] 오라클 11g 접속 오류 및 설치 삭제 / Oracle Database XE 21c, 19c 설치 / 스키마 및 사용자 생성 / SQL Developer 설치

EUN JY·2022년 9월 5일
2

Database

목록 보기
18/21

접속 오류

😏 cmd에서 설치 확인

  • sqlplus 입력 > 설치 여부 및 버전 확인 가능
  • 사용자명, 비밀번호 입력하여 로그인

😧 sqlplus 로그인 오류

  • cmd에서 sqlplus 입력하여 로그인 시 오류 발생 시 아래 내용 확인

ORA-01034: ORACLE not available

  • 오라클 관련 서비스 종료 후 재시작 시 발생했다면, 아래 내용 수행
C:\> sqlplus / as sysdba
SQL> startup 

# 강제 종료 시 shutdown immediate; 

ORA-27101: shared memory realm does not exist

  • ORA-01034 오류와 ORA-27101 오류가 같이 발생한다면, DB가 꺼져있는 상태에서 다른 계정으로 들어가려 할 때 생기는 에러
C:\> sqlplus /nolog
SQL> conn sys/ as sysdba
SQL> startup 

# 강제 종료 시 shutdown immediate; 

설치 삭제 (Window 환경)

  • 제어판에서 오라클 삭제하지 말 것...

🙂 서비스 중지

  • 오라클 관련 서비스를 모두 중지

🙂 deinstall.bat 파일 실행

  • 오라클 설치 경로(C:\OracleInstall\WINDOWS.X64_193000_db_home\deinstall)에서 deinstall.bat 파일 실행
    (15분 정도 기다리면 메시지가 뜨니 기다릴 것)
    • 입력하라는 문구가 뜨면 [] 안의 문자를 그대로 입력 후 엔터치면 됨
    • LISTENER > ORCL > 1 > (엔터) > FS > (엔터) > (엔터) > (엔터)
Checking for required files and bootstrapping ...
Please wait ...
        1개 파일이 복사되었습니다.
        1개 파일이 복사되었습니다.
        1개 파일이 복사되었습니다.
        1개 파일이 복사되었습니다.
로그 위치 C:\Users\YunJi\logs\

############ ORACLE DECONFIG TOOL START ############


######################### DECONFIG CHECK OPERATION START #########################
## [시작] 설치 확인 구성 ##

(생략)

구성을 해제할 단일 인스턴스 리스너를 모두 지정하십시오. 모두 선택 해제하려면 .(마침표)를 입력하십시오. [LISTENER]:LISTENER
(생략)
이 Oracle 홈에 구성된 데이터베이스 이름 목록을 지정하십시오. [ORCL]: ORCL
(생략)
이 데이터베이스(1. 단일 인스턴스 데이터베이스|2. Oracle Restart 사용 데이터베이스)의 유형을 지정하십시오. [1]: 1
데이터베이스의 진단 대상 위치를 지정하십시오. [C:\OracleInstall\diag\rdbms\orcl]:
ASM|FS 데이터베이스에서 사용하는 저장 영역 유형을 지정하십시오. []: FS
(생략)
데이터베이스 아카이브 모드가 사용으로 설정되었는지 여부를 지정하십시오(y/n). [n]: n
데이터베이스 확인 구성 종료

######################### DECONFIG CHECK OPERATION END #########################

####################### DECONFIG CHECK OPERATION SUMMARY #######################
설치 해제를 위해 선택된 Oracle 홈: C:\OracleInstall\WINDOWS.X64_193000_db_home
등록된 Oracle 홈이 있는 인벤토리 위치: C:\Program Files\Oracle\Inventory
다음 Windows 및 .NET 제품이 Oracle 홈에서 구성 해제됩니다.oledbolap,ode.net,ntoledb,oramts,asp.net,odp.net
구성을 해제할 단일 인스턴스 리스너: LISTENER
ORCL 데이터베이스가 구성 해제 대상으로 선택되었습니다. 해당 데이터베이스는 삭제되며 구성 해제 시 유용하지 않습니다.
데이터베이스 고유 이름: ORCL
사용된 저장 영역: FS
계속하겠습니까(y - 예, n - 아니오)? [n]: y
이 세션의 로그는 'C:\Users\YunJi\logs\deinstall_deconfig2022-09-05_04-28-19-PM.out'에 기록됩니다.
이 세션의 모든 오류 메시지는 'C:\Users\YunJi\logs\deinstall_deconfig2022-09-05_04-28-19-PM.err'에 기록됩니다.

######################## DECONFIG CLEAN OPERATION START ########################
데이터베이스 구성 해제 추적 파일 위치: C:\Users\YunJi\logs\databasedc_clean2022-09-05_04-28-21PM.log
데이터베이스 정리 구성 시작 ORCL
이 작업은 몇 분 정도 걸릴 수 있습니다.

(생략)

단일 인스턴스 리스너의 구성을 해제하는 중: LISTENER
리스너의 구성을 해제하는 중: LISTENER
    리스너를 정지하는 중: LISTENER
    리스너가 성공적으로 정지되었습니다.
    리스너를 삭제하는 중: LISTENER
    리스너가 성공적으로 삭제되었습니다.
리스너의 구성이 성공적으로 해제되었습니다.
 
이름 지정 방법 구성 파일의 구성을 해제하는 중...
이름 지정 방법 구성 파일의 구성이 성공적으로 해제되었습니다.
 
백업 파일의 구성을 해제하는 중...
백업 파일의 구성이 성공적으로 해제되었습니다.
 
네트워크 구성이 성공적으로 정리되었습니다.
네트워크 구성 정리 구성 종료

😒 잔여 파일 삭제

  • 시작 > Universal Installer 실행
  • 제품 설치 해제 클릭하여 삭제

😐 관련 폴더 삭제

  • 오라클 관련 아래 폴더들을 삭제
    • C:\Users\YunJi\AppData\LocalLow\Oracle
    • C:\Users\YunJi\Oracle
    • C:\Program Files\Oracle
    • C:\ProgramData\Oracle

🤬 레지스트리 편집기

  • HKEY_CLASSES_ROOT에서 Ora로 시작되는 모든 것 삭제
    • HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 삭제
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application에서 Oralce 키워드 삭제
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application에서 Oralce 키워드 삭제
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Service에서 Oralce 키워드 삭제
    • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Service에서 Oracle 키워드 삭제
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services에서 Oracle 키워드 삭제
    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\에서 Oracle로 시작되는 것을 삭제
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Oracle 삭제
    • HKEY_CLASSES_ROOT에 Ora로 시작되는 것 삭제

😖 환경변수 삭제

  • 고급 시스템 설정 보기 > 환경 변수 편집 > 시스템 변수
  • Path의 C:\OracleInstall\WINDOWS.X64_193000_db_home\bin, C:\Program Files\Common Files\Oracle\Java\javapath 삭제
  • ORACLE_HOME 이라는 이름의 C:\OracleInstall\WINDOWS.X64_193000_db_home 변수 삭제

😥 서비스 삭제

  • cmd 창에서 아래 명령어로 서비스 삭제
sc delete "OracleRemExecServiceV2"

😐 재부팅

Oracle XE 21c 설치

😚 오라클 설치 파일 다운로드

  • 여기에서 Oracle Database Express Edition 클릭
  • Oracle Database 21c Express Edition for Windows x64 다운로드 (Windows 환경)
  • 압축 해제 후 setup.exe 실행

😚 오라클 설치

  • 실행된 Oracle Database 21c Express Edition 화면 > 다음
  • 동의함 클릭 > 다음
  • 설치할 대상 폴더 선택 C:\OracleInstall\ > 다음
    • 대상 폴더 기본 위치 : C:\app\YunJi\product\21c
  • SYS, SYSTEM 비밀번호 설정 > 다음 > 설치

🤬 오라클 설치 롤백 현상

  • 설치 시 롤백 현상 발생하는 경우 참고 : https://eternalteach.tistory.com/26
    • 윈도우 사용자 이름, 컴퓨터 이름 영어로 설정
    • 설정 > 방화벽 및 네트워크 보호 > 방화벽 모두 끄기
    • 설정 > 개발자용 > 개발자 모드로 변경
    • 재부팅 후 설치 .exe 파일 관리자 권한으로 실행
  • 위의 내용 조치 시에도 해결되지 않을 시 log 확인
==========================================================================================================================================
정보: OS: Windows 10, Platform-id: 233, JVM 구조: amd64, ARU-ID: 233
정보: oraInst.loc does not exist
정보: Creating a new Install area Control for this inventory session with new  access level  2
정보: Install area Control created with access level  2
정보: 인벤토리에서 홈 목록을 읽을 수 없습니다.
정보: VALUE of oracle.installer.force= true
정보: VALUE of oracle.installer.skipACLSetting= true
정보: Creating a new Install area Control for this inventory session with new  access level  1
정보: Install area Control created with access level  1
정보: 인벤토리에서 홈 목록을 읽을 수 없습니다.
정보: Initializing Logs dir to - C:\Program Files\Oracle\Inventory\logs
정보: Ending the inventory Session 
정보: Initializing the OiiiInstallAreaControl
정보: Install area Control created with access level  1
정보: 인벤토리에서 홈 목록을 읽을 수 없습니다.
정보: Update the state machine to STATE_INIT_ENV
정보: VALUE of oracle.installer.force= true
정보: VALUE of oracle.installer.skipACLSetting= true

Oracle 19c 설치

😚 오라클 설치 파일 다운로드

  • 여기에서 19.3 - Enterprise Edition (also includes Standard Edition 2)Microsoft Windows x64 (64-bit) 클릭
  • 설정 > 방화벽 및 네트워크 보호 > 도메인 네트워크, 개인 네트워크, 공용 네트워크 방화벽 모두 꺼두기
    • 오류 발생 가능성 최대한 줄이기 위해 설정하였음
  • 압축 해제 후 setup.exe 실행 (관리자 권한으로 실행)

😚 오라클 설치

  • 단일 인스턴스로 구성하기 > 다음
  • 데스크톱 클래스 > 다음
  • 가상 계정 사용 > 다음
  • 아래와 같이 설정 > 다음
  • 설치

🤬 7% 설치 중 오류

  • 설치 사용자를 %2% 그룹에 추가하는 데 실패했습니다. 오류 발생
  • C:\Program Files\Oracle\Inventory\logs\InstallActions2022-09-07_05-00-41PM에서 로그 파일 확인 : installActions2022-09-07_05-00-41PM.log
정보: WindowsSecurityException has occurred
심각: PRCZ-1082 : Windows 그룹 "USERS"에 Windows 사용자 또는 Windows 그룹 "YunJi" 추가를 실패했습니다.
WSE-000031: 운영체제 그룹에 사용자를 추가할 수 없습니다.

O/S-Error: (OS 1387) 구성원이 없기 때문에 로컬 그룹에 구성원을 추가 또는 삭제하지 못했습니다.
(생략)
정보: 작업에서 발생한 예외 사항: AddInstallUserToGroup
예외 사항 이름: WindowsSecurityException has occurred
예외 사항 문자열: YUNJI\YunJi 설치 사용자를 %2% 그룹에 추가하는 데 실패했습니다.
예외 사항 심각도: 0
  • 제거 후, 새 Window 사용자 생성으로 재설치 시도
    • C:\Users 경로에 생성한 사용자 이름으로 폴더 생성됨(ynjch-ora)
  • 이때 Oracle BaseC:\Oracle / 데이터베이스 파일 위치C:\Oracle\oradata
  • 여전히 설치 사용자를 %2% 그룹에 추가하는 데 실패했습니다. 오류 발생
    • 계속 버튼 사라질 때까지 계속 누르면 진행이 된다...
(생략)
DB 작업 준비
데이터베이스 파일 복사 중
Oracle 인스턴스 생성 및 시작 중
# 51% 진행 중

🤬 52% 설치 중 오류

  • 위의 단계에서 더 이상 진행되지 않을 때, 취소 버튼으로 종료 후 log 확인
    • C:\Program Files\Oracle\Inventory\logs\InstallActions2022-09-08_09-50-47AM > installActions2022-09-08_09-50-47AM.log 파일 확인
    • 아래 단계에서 중단됨
(생략)
INFO:  [2022. 9. 8 오전 9:56:16] DB 작업 준비
INFO:  [2022. 9. 8 오전 9:56:16] Skipping line: DB 작업 준비
INFO:  [2022. 9. 8 오전 9:56:17] Skipping line: 8% 완료
INFO:  [2022. 9. 8 오전 9:56:17] 데이터베이스 파일 복사 중
INFO:  [2022. 9. 8 오전 9:56:17] Skipping line: 데이터베이스 파일 복사 중
INFO:  [2022. 9. 8 오전 9:58:33] Skipping line: 31% 완료
INFO:  [2022. 9. 8 오전 9:58:33] Oracle 인스턴스 생성 및 시작 중
INFO:  [2022. 9. 8 오전 9:58:33] Skipping line: Oracle 인스턴스 생성 및 시작 중
INFO:  [2022. 9. 8 오전 10:00:50] Skipping line: 32% 완료
INFO:  [2022. 9. 8 오전 10:01:43] Skipping line: 36% 완료
INFO:  [2022. 9. 8 오전 10:54:11] Pause Oracle Database 19c 설치 프로그램
INFO:  [2022. 9. 8 오전 10:54:12] Resume Oracle Database 19c 설치 프로그램
INFO:  [2022. 9. 8 오전 10:54:56] Pause Oracle Database 19c 설치 프로그램
INFO:  [2022. 9. 8 오전 10:54:57] Resume Oracle Database 19c 설치 프로그램
INFO:  [2022. 9. 8 오전 10:54:57] Adding ExitStatus USER_CANCELLED_INSTALL to the exit status set
INFO:  [2022. 9. 8 오전 10:54:57] Finding the most appropriate exit status for the current application
INFO:  [2022. 9. 8 오전 10:54:57] inventory location isC:\Program Files\Oracle\Inventory
INFO:  [2022. 9. 8 오전 10:54:57] Adding ExitStatus SUCCESS_WITH_WARNINGS to the exit status set
INFO:  [2022. 9. 8 오전 10:54:57] Finding the most appropriate exit status for the current application
INFO:  [2022. 9. 8 오전 10:54:57] Exit Status is -4
INFO:  [2022. 9. 8 오전 10:54:57] Shutdown Oracle Database 19c 설치 프로그램
INFO:  [2022. 9. 8 오전 10:54:57] Unloading Setup Driver
  • cmd 창에서 sqlplus 입력하여 확인 > 'sqlpus'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 문구 출력됨
    • ORACLE_HOME 이라는 이름의 C:\Oracle\WINDOWS.X64_193000_db_home 변수 생성
    • 재시도 결과, ID SYSTEM, PW 1111 입력하여 로그인 성공하였음 (위에서 설정한 비밀번호)
  • 만약 이 방법으로도 진행되지 않는다면 Oracle DBCA 구성 필요
    • 설치 단계에서 소프트웨어만 설정을 선택한 것 처럼 DBCA 구성 전단계까지 정상 설치된 것으로 간주
    • 창을 종료하고 DBCA 구성만 따로 진행하여 정상 동작하는지 확인
    • https://shurimp.tistory.com/12?category=930777 참고

😚 SQLPlus 접속

  • cmd 창에 sqlplus 입력
  • ID SYSTEM, PW 1111 입력하여 로그인 (위에서 설정한 비밀번호)
  • 현재 스키마 확인
SQL> SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') AS "CURRENT_SCHEMA" FROM DUAL;

CURRENT_SCHEMA
--------------------------------------------------------------------------------
SYSTEM

사용자 생성

😘 사용자 생성

  • Oracle에서는 사용자명=스키마
  • YNJCH 사용자 생성
CREATE USER YNJCH IDENTIFIED BY 1111;
  • ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. : 12C버전 이후부터 발생하는 이슈로 아래 내용 수행 후 재시도 해야 함
/* 사용자명 앞에 C##을 붙이거나 */
CREATE USER C##유저명 IDENTIFIED BY 비밀번호;
/* 아래 SQL문 실행 후 원래 쿼리 재실행 */
ALTER SESSION SET "_ORACLE_SCRIPT"=true; 
  • 사용자를 삭제해야 할 경우 아래 명령어 입력
DROP USER YNJCH;
  • YNJCH 사용자에게 권한 부여
GRANT RESOURCE,CONNECT,DBA TO YNJCH; /* 개체생성/변경/제거,연결,관리자 */

SQL Developer 설치

😘 설치

  • 여기에서 JDK 미포함 버전 다운로드 (Windows 32-bit/64-bit)
  • 압축 해제 후 설치할 위치 C:\OracleInstall로 이동
  • setup.exe 파일 관리자 권한으로 실행

🤬 ORA-12526 오류

  • SQL Developer에서 DB 접속
  • 다음과 같이 구성 후 테스트 버튼 클릭 > ORA-12526, TNS:listener: all appropriate instances are in restricted mode 발생
  • 해당 오류 해결을 위해 https://marvingood.tistory.com/36 참고
    • sqlplus / as sysdba 입력 후 아래 내용 수행
    • 이때 ORA-01017 발생 시 ORA-01017 오류 확인
SQL> shutdown immediate;
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
SQL> startup mount;

# startup mount; 오류 발생 시 
# startup; 후 startup mount; 시도

🤬 ORA-01017 오류

  • sqlplus / as sysdba 입력 시 ORA-01017: ????/????? ???, ???? ? ????. 오류 발생
  • Windows 키 + R > compmgmt.msc 입력 > 컴퓨터 관리 열기
  • 로컬 사용자 및 그룹 > 사용자 > ynjch-ora 우클릭 > 속성
  • 소속 그룹 탭에서 그룹 목록 확인
  • 현재 사용 중인 사용자 우클릭 > 속성 > 소속 그룹 탭
  • 추가 > 고급 > 지금 찾기 > ynjch-ora 의 소속 그룹과 동일하게 추가 > 적용 > 확인
    • ORA_ASMDBA, ORA_INSTALL, ORA_OraDB19Home1_DBA
  • sqlplus / as sysdba 입력하여 정상 접속되는 것 확인

🤬 ORA-01078 오류

profile
개린이

1개의 댓글

comment-user-thumbnail
2023년 9월 26일

정말 무한한 감사를 드려요.... 저도 진짜 4시간 동안 개고생했는데 주인장님도 얼마나 많은 삽질을🔨 하고 고생하셨는지 보여요 ㅠㅠ

저는 이걸 보고 했으니 어쩌면 편하게 했을지도 모르겠네요. 정말 너무너무 감사드립니다. 😭✨✨✨

답글 달기