본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/2. 개발

[작업중]개발_오라클_오라클 11g 설치 및 삭제

by 3604 2022. 11. 21.
728x90

-------------------------------------------------------------------------------------------------

오라클 설치

 

1. oracle.com 홈페이지로 이동

 

products 탭 클릭

 

2. Download Oracle Database 19c 

3. 스크롤을 내리면 아래 Express Edition 다운로드 링크 확인된다.

 

 

4. OS에 맞는 설치 버전을 선택하여 다운로드 하면된다.

 

----------------------------------------------------------------------------------

윈도우에 오라클 설치

 

오라클 데이터베이스를 무료로 사용할 수 있는 방법은

Express Edition 버전을 사용하는 것이다.

 

다운로드는 간단하다.

 

오라클 홈페이지에 접속 후 사용하는 운영체제에 맞게 설치하면된다.

https://www.oracle.com/kr/database/technologies/xe-downloads.html

 

 

무료로 제공되는 만큼 "성능이 제한"되므로 테스트용도로 사용하기에 적합하다.

 

제약사항

  • 최대 12GB의 사용자 데이터
  • 최대 2GB의 데이터베이스 RAM
  • 최대 2개의 CPU 스레드
  • 최대 3개의 플러거블 데이터베이스

 

XE 버전을 사용하다가, 부족함을 느끼면 업그레이드를 할 수 있다. (유료로~)


[설치 진행1]

 

다운로드 후 -> 압축을 풀고 -> setup.exe 파일을 실행시키자.

 

진행하다보면, 패스워드 입력 화면이 나온다.

 

오라클 관리자 아이디는 SYSTEM 이며, 사용하고 싶은 관리자 패스워드를 설정해주면 된다.

 

 

윈도우 방화벽 보안 경고가 나오면, 엑세스 허용을 눌러주자 (사용할 거니까요)

 

 

설치는 좀 오래 걸린다... (오라클이 좀 무거움)

 


 

[설치 진행2]

 

고로 설치하는 동안 SQL Developer를 받아주자

 

요놈은 설치가 필요없다.

 

다운로드 && 압축해제 후 "C:\" 경로로 이동 시켜주면된다.

그리고 sqldeveloper.exe 파일을 작업표시줄에 링크시켜주자 (드래그해서 작업표시줄로 드랍)

 

*이전 버전이랑 꼬일 수도 있으니, DB 설치전까지 실행은 금지 (귀찮다)

 

 

https://www.oracle.com/tools/downloads/sqldev-downloads.html


[설치 테스트1]

 

[윈도우키, sql 입력] -> [SQL Plus 실행] -> [로그인] -> 명령어 테스트

 

ID : SYSTEM / PW : 아까 설정한 패스워드

 

 

잘되면 아까 설치한 "ORACLE SQL Developer" 실행 

 

버전에 따라 localhost로 안잡힐 수 있다.

 

The Network Adapter could not establish the connection 에러가 뜨면

 

설치경로의 tnsnames.ora 파일을 참고해서

설치파일이 인식한 IP를 localhost 부분에 넣어주면된다.

(경로 \product\21c\dbhomeXE\network\admin)

 


[설치 테스트2]

 

정상동작하는지 동작을 체크해보자~

 

잘되면 끝.

------------------------------------------------------------------------------------------

[Linux] 우분투에서 오라클 설치하기

우분투에서 오라클 설치방법에 대해 알아봅니다.

 

1. 우선 오라클 홈페이지에 접속하셔서 자신이 다운받고자하는 오라클 버전을 선택합니다.

오라클 설치링크 바로가기

저는 오라클 11g를 설치하겠습니다.

 

2. 동의를 해주시고 오라클 Linux버전을 눌러주세요

 

3. 오라클 설치를 위해서는 오라클 계정이 있어야합니다. 로그인해주세요 없으신분들은 계정을 만들어주시기 바랍니다.

 

4. 파일을 저장해줍니다.

 

root 계정에 설치 시 점검

1. ssh(ssh root@IP)로 접속되는지 확인 

2. 최신 리눅스는 보안상 이유로 직접  root 권한으로 접속하는 것을 차단하고 있어 해제해야 함

--> sshd_config 파일의 PermitRootLogin 설정값이 No로 되어있다.

따라서, root로 바로 로그인을 하고 싶으면

/etc/ssh/sshd_config 파일의 PermitRootLogin 값을 yes로 수정하고 sshd 서비스 재시작

$service sshd restart

3. 정상적으로 접근하는지 테스트 파일을 전송해보면 됨.(정상일 경우 아래 설치가 잘됨) 

   scp 테스트파일.txt root@IP:/임시경로

5. Ctrl+Alt+T를 누르셔서 터미널로 들어가신뒤 root계정으로 접속해줍니다.

sudo su root / 자신의 패스워드

 

6. 그런뒤 cd 다운로드 폴더로 들어가줍니다. (사람마다 경로가 조금다름)

 

7. 압축파일로 받았으니 압축을 풀어주세요.

터미널에 unzip oracle* 라고 입력해주시면 됩니다.

 

 

8. 그런뒤 Disk1 폴더로 들어갑시다 

cd Disk1/

 

 

 

9. 폴더로 들어가신뒤 apt-get -y install alien libaio1 unixodbc를 입력하셔서 alien libaio1 unixodbc를 다운로드 해주세요

 

10. 그런뒤 alien --scripts -d oracle*을 입력하셔서 rpm 파일을 deb파일로 변환해주세요.

 

11. 그런뒤 dpkg --install oracle*.deb를 입력하셔서 설치를 진행해주세요

여기까지 하셨으면 오라클 설치가 완료된것입니다.

그럼 오라클 설치가 끝났으니 이제 설정을 해줘야겠죠?

   

오류 발생: 
You must run '/etc/init.d/oracle-xe configure' as the root user to

   configure the database.

조치: 
/etc/init.d/oracle-xe configure 위치로 직접 들어가서 실행 할 것    

12. /etc/init.d/oracle-xe configure 에서 설정을 해주도록 하겠습니다.

주의: 설치가 잘 안되면 awk를 삭제하고 다시 설치 할 것

                  8080->8989

                 패스워드: oracle

13. /etc/init.d/oracle-xe configure을 입력하시면 위와같은 화면이나오는데요 저는 포트번호는 건드리지않고 패스워드만 설정해주도록 하겠습니다.

            

14. 자신이 원하는 패스워드를 설정해주시고 재부팅을 시켜주겠습니다.

 

 

15. 위와같은 메시지가 뜨면 성공적으로 수행된것입니다.

 

16. 그런뒤 systemctl start oracle-xe를 입력해서 오라클을 실행하고 systemctl staus oracle-xe를 입력해서 잘 실행되는지 확인해보도록 하겠습니다.

위와같은 문구가 뜨면 오라클 설치가 정상적으로 수행된것입니다.

 

17. 그런뒤 오라클 환경설정을 해보도록 하겠습니다.    . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh를 수행해주시고 이 명령어를 복사해주세요

 

18. 그런뒤 bash.bashrc창을 열어줍니다.

 

19. 제일 마지막에 방금 복사한. 명령어를 추가해줍니다.

그럼 이제 환경변수 설정까지 끝났으니 오라클이 잘 설치되었는지 테이블을 한번 만들어보도록 하겠습니다.

 

20. 먼저 데이터베이스가 저장될 폴더를 만들어주세요 

mkdir /oradata

chmod 777 /oradata/

 

 

21. 그런뒤 sqlplus로 오라클에 접속합니다.

아이디는 sys

password: oracle

sqlplus /nolog

conn sys as sysdba

예시 패스워드: oracle

비밀번호는 설정한 비밀번호를 입력해서 접속해주세요

 

22. 그런 뒤 아무테이블이나 하나 만들어보도록 하겠습니다.

 

22. 잘 만들어지는군요. 성공적으로 오라클이 작동하는것까지 확인했습니다.

 

경험1. 2번 설치하고 실패해서 3번째 설치하니 정상적으로 되는 것은?..(어렵네)

 

 

---- 오류------------------------------------------------------

ORA-01034: ORACLE not available 오류 해결

출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hymne&logNo=221448750630

 

 

출처 : https://doracle.tistory.com/m/44

ERROR 및 증상

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux Error: 2: No such file or directory

Process ID: 0

Session ID: 0 Serial number: 0

원인

db꺼져있는 상태에서 다른 계정으로 들어갈라고 할 때생기는 에러

 

로그인 문제 + startup 안되면 다음과 같은 방법을 수행해보길 바람.

$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 1 11:51:29 2015

Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL> conn sys/ as sysdba

Enter password:

Connected.

 

SQL> startup

ORACLE instance started.

Total System Global Area 422670336 bytes

Fixed Size 1336960 bytes

Variable Size 272632192 bytes

Database Buffers 142606336 bytes

Redo Buffers 6094848 bytes

Database mounted.

Database opened.

기타 다른 원인 및 해결 방법

1. oracle 인스턴스가 떠 있으나 불완전한 종료 혹은 원인을 모를 때.

#sqlplus /nolog

#conn sys /as sysdba

password : 비밀번호 적기

sql>shutdown immediate -- 강제 종료

sql>startup open

2. oracle이 설치되어 있는 서버에서 sqlplus로 접근이 가능하고 데이터 베이스가 조회가 가능 하나 외부접근이 안될 때

linux 에서 oracle을 설치시 환경 변수에 ORACLE_SID=SID이름을 지정 해준다. 이름은 물론 정확하여야 하고 대문자인지 소문자인지 확실히 기억하고 listener.ora에서 설정해 주면 된다. sid 가 소문자 orcl 이면 listener SID_NAME 도 소문자 orcl 이어야 한다.

#Oracle Configure

export ORACLE_BASE=/tools/oracle

export ORACLE_HOME=/tools/oracle/11g

export ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export PATH

- listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = orcl)

(ORACLE_HOME = /tools/oracle/11g)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.6)(PORT = 1521))

)

)

ADR_BASE_LISTENER = /tools/oracle

- tnsname.ora

ORCL=

(DESCRIPTION=

(ADDRESS=

(PROTOCOL=TCP)

(HOST=192.168.20.6)

(PORT=1521)

)

(CONNECT_DATA=

(SERVER=dedicated)

(SERVICE_NAME=orcl)

)

)

 

[에러] ORA-01031: insufficient privileges / ORA-01031: 권한이 불충분합니다

 
출처: https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=geeyoming&logNo=220077370376

 

Oracle을 이용해서 개발을 하다보면, 다은과 같은 에러가 발생할 때가 있다.

 

 

▣ ORA-01031: insufficient privileges

ORA-01031: 권한이 불충분합니다 

아래처럼 한글로 나와준다면.. 어던 에러인지 바로 알 수 있을텐데..!!!

위에처럼 영어로 나온다면 이게 무슨에러인가 하고, 검색을 한번 해봐야 한다..

 

▶ 발생 원인 및 해결 방법

 ① 발생원인

  → 발생 원인은 해당 작업을 실행할 권한이 없어서 이다..=ㅁ=;

      Ex) 예를들면 Create Table을 실행 할려고 하는데, CREATE ANY TABLE 권한이 없을 경우

 

 ② 해결 방법

  → 만약 프로젝트 진행중에 Oracle/권한 을 관리하는 부서가 있는 경우는 담당자에게 연락해서 권한을 받는다.

      아닌 경우에는 admin 계정으로 접속해서 권한을 부여하면 된다!!

 

  → 쉽게 설명 해보면 아래와 같이 하면 된다.

 

   1. admin 계정으로 접속 : conn sys as sysdba

   2. GRANT CREATE ANY TABLE TO [계정명]

 

 

 

이렇게 권한을 받거나!!! 권한을 줬다면..

얼른 다시 개발하러 고고씽~!!!

 

 

 

----  작성중 ---------------------------------------------------

 

8. 

$ cd /etc/init.d

$./oracle-xe configure

 

 

 

 

Database Configuration failed.  Look into /u01/app/oracle/product/11.2.0/xe/config/log for details 에러 발생.

참고로 log 디렉토리 안에 로그 내용들은 대략 다음과 같다.

Session ID: 0 Serial number: 0

create spfile='/u01/app/oracle/product/11.2.0/xe/dbs/spfileXE.ora' FROM pfile='/u01/app/oracle/product/11.2.0/xe/config/scripts/init.ora'
*
ERROR at line 1:
ORA-01078: failure in processing system parameters
LRM-00116: syntax error at 'sessions' following '='

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora'
select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

BEGIN utl_recomp.recomp_serial(); END;

*
ERROR at line 1:
ORA-01034: ORACLE not available

 

여기부터가 고난기이다. 정말 몇시간을 구글링했는데, 대체적으로 아래와 같은 해결책들이 제시되었다.

  1.   swap 메모리를 추가하라.
  2.   /etc/hosts에 호스트 정보를 넣어라.
  3.   bc 패키지를 깔아라.

다 했다. 다 안된다. swap도 계속 늘려가면서 해봤지만 안된다.

아래는 swap 추가이다.

# mkdir /swap
# dd if=/dev/zero of=/swap/swapfile bs=1024 count=2097152
2097152+0 records in
2097152+0 records out
2147483648 bytes (2.1 GB) copied, 127.844 s, 16.8 MB/s
# cd /swap
# mkswap swapfile
mkswap: swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=2c6a1277-a5c3-4f48-b64c-7010dd161c72
# swapon swapfile

 

아래는 bc 설치 화면이다.

# yum install bc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.oasis.onnetcorp.com
 * extras: mirror.oasis.onnetcorp.com
 * updates: mirror.oasis.onnetcorp.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bc.x86_64 0:1.06.95-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================
 Package          Arch                 Version                        Repository          Size
===============================================================================================
Installing:
 bc               x86_64               1.06.95-1.el6                  base               110 k

Transaction Summary
===============================================================================================
Install       1 Package(s)

Total download size: 110 k
Installed size: 212 k
Is this ok [y/N]: y
Downloading Packages:
bc-1.06.95-1.el6.x86_64.rpm                                             | 110 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : bc-1.06.95-1.el6.x86_64                                                     1/1
  Verifying  : bc-1.06.95-1.el6.x86_64                                                     1/1

Installed:
  bc.x86_64 0:1.06.95-1.el6

Complete!

 

그런데 어느 구글링 결과에서, "bc 패키지 설치 후에 다시 rpm 설치를 해야 정상적으로 설치된다"라는 말이 있었다.

문득 스쳐지나가는 것은 아까 rpm 설치 시에 이상한 bc 관련 에러가 났었던 것. 다시 보고 가자.

Executing post-install steps...
/var/tmp/rpm-tmp.ddKna3: line 76: bc: command not found
/var/tmp/rpm-tmp.ddKna3: line 77: bc: command not found
/var/tmp/rpm-tmp.ddKna3: line 78: [: -gt: unary operator expected
/var/tmp/rpm-tmp.ddKna3: line 82: bc: command not found

그래서 rpm -e oracle-xe-11.2.0-1.0.x86_64로 삭제한 후, 다시 rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm로 설치, 그리고 다시 /etc/init.d/oracle-xe configure하여, 아래와 같이 configure 과정이 성공적으로 완료되었다!

$ cd /etc/init.d

$./oracle-xe configure

# /etc/init.d/oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express
Edition.  The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts.  Press  to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:9080

Specify a port that will be used for the database listener [1521]:2521

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of
different passwords for each database account.  This can be done after
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:n

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

 

이제 DB에 접속해 보자.

$ cd /u01/app/oracle/product/11.2.0/xe/bin
$ . ./oracle_env.sh
$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.2.0 Production on Wed Jun 22 08:51:27 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL>

아래는 Oracle 11g XE GUI 원격 접속을 위한 조치이다.

SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);

PL/SQL procedure successfully completed.

이미 생성되어 있는 계정들을 살펴볼까?

SQL> SELECT USERNAME, USER_ID, DEFAULT_TABLESPACE, CREATED FROM DBA_USERS;

USERNAME                USER_ID DEFAULT_TABLESPACE             CREATED
-------------------- ---------- ------------------------------ ------------------
SYS                           0 SYSTEM                         28-AUG-11
SYSTEM                        5 SYSTEM                         28-AUG-11
ANONYMOUS                    35 SYSAUX                         28-AUG-11
APEX_PUBLIC_USER             45 SYSTEM                         28-AUG-11
APEX_040000                  47 SYSAUX                         28-AUG-11
XS$NULL              2147483638 SYSTEM                         28-AUG-11
OUTLN                         9 SYSTEM                         28-AUG-11
FLOWS_FILES                  44 SYSAUX                         28-AUG-11
MDSYS                        42 SYSAUX                         28-AUG-11
CTXSYS                       32 SYSAUX                         28-AUG-11
XDB                          34 SYSAUX                         28-AUG-11
HR                           43 USERS                          28-AUG-11

12 rows selected.

Tablespace는 뭐가 있을까?

SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

마지막으로 Datafile이다.

SQL> SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES;

FILE_NAME                                TABLESPACE_NAME
---------------------------------------- ------------------------------
/u01/app/oracle/oradata/XE/users.dbf     USERS
/u01/app/oracle/oradata/XE/sysaux.dbf    SYSAUX
/u01/app/oracle/oradata/XE/undotbs1.dbf  UNDOTBS1
/u01/app/oracle/oradata/XE/system.dbf    SYSTEM

 

 

이하 무시------------------------------------------------------------

-------------------------------------------------------------

오라클 삭제

1.  $ sudo dpkg --purge oracle-xe

 

 

 

 

 



  2. 설치 폴더 삭제


  $ sudo rm -rf /u01/app/oracle/


  $ sudo rm /etc/default/oracle-xe


  $ sudo rm /etc/init.d/oracle-shm


  $ sudo rm /etc/oratab

 

 



  
  3. 시작 프로그램에 등록된 오라클 삭제


  $ cd /etc/init.d/


  $ sudo rm oracle-xe

 

 

리눅스 환경에서 설치한 오라클 삭제 하기

 

-  $ORACLE_HOME 디렉토리 삭제 

 

- orainst.loc, oratab 파일 삭제

 

 cd /etc

 rm ora*

 

- oraenv 파일  삭제 

 

 cd /usr/local/bin

 rm oraenv

 

 

- 삭제 후 오라클을 다시 설치하기 위해 환경설정 파일(.bash_profile)을 백업

 

 

- oracle 설치 계정 삭제 

 

userdel oracle

groupdel dba

groupdel oinstall

 

 

- oracle 설치 계정의  HOME 디렉토리를 삭제

 

반응형
공유하기
게시글 관리
구독하기따봉 구걸남's 블로그

-----------------------------------------------------------------------------------------------------

 

- 로컬로 접속할 수 없습니다.
- Sql*Plus를 사용하여 접속하려고 시도하면 다음 오류가 발생합니다.

ERROR:
----------------
ORA-12547: TNS:lost contact

예:

$sqlplus / as sysdba

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Mar 30 11:59:06 2011

Copyright (c) 1982, 2008, Oracle. All rights reserved.

ERROR:
ORA-12547: TNS:lost contact
원인

다음이 원인일 수 있습니다.

커널 파라미터 설정
ORACLE 실행 파일의 잘못된 권한 설정
스택에 대한 ulimit 설정 부족
$ORACLE_HOME/rdbms/lib/config.o가 0바이트임
Oracle 바이너리가 올바르게 링크되지 않음
누락된 $ORACLE_HOME/dbs 디렉토리
빈 dbs 디렉토리를 생성하면 이 오류가 해결되므로 예를 들어 인스턴스를 종료할 수도 있지만 누락된 파라미터 파일로 인해 인스턴스를 재시작할 수는 없습니다. 따라서 dbs 디렉토리를 완전히 복원해야 합니다.
해결책

해결책을 구현하려면 다음 단계를 실행하십시오.:

1. 커널 파라미터 설정 때문일 수 있습니다.

커널 파라미터에 필요한 설정을 제공하는 아래 노트를 참조하십시오.
Note 169706.1 Oracle Database on AIX,HP-UX,Linux,MacOSX,Solaris,Tru64

2. ORACLE.exe의 권한 설정이 잘못되었기 때문일 수 있습니다.

선택적으로 다음을 사용하여 OS 트레이스를 수집한다면:

$strace -f -o /tmp/trace.1.log $ORACLE_HOME/bin/sqlplus / as sysdba

이 경우 trace.1.log에서 다음과 같은 몇 개의 (Permission denied)를 볼 수 있습니다.:

21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/alert/log.xml", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)
......

21810 open("/oracle/PROD/db/tech_st/11.1.0/admin/PROD_erptest/diag/rdbms/prod/PROD/trace/alert_PROD.log", O_WRONLY|O_CREAT|O_APPEND, 0664) = -1 EACCES (Permission denied)

'ls' 명령을 실행하면 다음과 같이 permissions 권한이 6751 이어야 합니다

다음을 실행하여 권한 설정을 확인하십시오 :

$ cd $ORACLE_HOME/bin
$ ls -l oracle

출력에 다음과 같은 올바른 권한 설정이 표시되어야 합니다.

-rwsr-s--x 1 oracle dba

그렇지 않은 경우 다음을 실행하여 권한 설정을 수정합니다.

$ cd $ORACLE_HOME/bin
$ chmod 6751 oracle
$ ls -l oracle

다음 사항이 올바른지도 확인합니다.

echo $ORACLE_HOME
echo $ORACLE_SID
echo $LD_LIBRARY_PATH
echo $PATH

3. 스택에 대한 현재 ulimit 설정을 확인합니다.

ulimit -a

설치 설명서에서 현재 플랫폼 및 Oracle 버전을 확인하고 스택을 적절하게 설정합니다..

4. 다음 두 파일이 0바이트가 아닌지 확인합니다.

$ORACLE_HOME/bin/oracle
$ORACLE_HOME/rdbms/lib/config.o

0바이트인 경우 다음 파일의 이름을 바꿉니다.

% cd $ORACLE_HOME/rdbms/lib
% mv config.o config.o.bad

그런 다음 Oracle 바이너리를 다시 리링크합니다.

% relink oracle

5. 위와 같이 해도 문제가 해결되지 않으면 데이터베이스 및 리스너를 종료한 다음 "relink all"을 실행합니다.
Note 131321.1 How to Relink Oracle Database Software on UNIX

다음이 원인일 수 있습니다.
1. 커널 파라미터 설정
2. ORACLE 실행 파일의 잘못된 권한 설정
3. 스택에 대한 ulimit 설정 부족
4. $ORACLE_HOME/rdbms/lib/config.o가 0바이트임
5. Oracle 바이너리가 올바르게 링크되지 않음
6. 누락된 $ORACLE_HOME/dbs 디렉토리
빈 dbs 디렉토리를 생성하면 이 오류가 해결되므로 예를 들어 인스턴스를 종료할 수도 있지만 누락된 파라미터 파일로 인해 인스턴스를 재시작할 수는 없습니다. 따라서 dbs 디렉토리를 완전히 복원해야 합니다.

===============================
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact

추가로
/dev/null 퍼미션에 other에 쓰기 권한이 없을때도 발생

chmod o+w /dev/null
해결

출처: https://theone79.tistory.com/934

--------------------------------------------------------------------------------------------------------------

참고

1. 오라클 다운로드  https://www.appletong.com/entry/Oracle-Database-XE-21c-Download-%EB%B0%8F-%EC%84%A4%EC%B9%98?category=1009685?category=1009685 

2. 리눅스에 오라클 설치  https://youngsblog.tistory.com/entry/Linux-%EC%98%A4%EB%9D%BC%ED%81%B4-21c-%EC%84%A4%EC%B9%98

3. 윈도우에 오라클 설치 https://0pen3r.tistory.com/147

4. 우분투에 오라클 11g 설치 https://coding-factory.tistory.com/59

5. 오라클 삭제 https://uiandwe.tistory.com/907

728x90