AWS RDS를 사용하려고 했지만 프리티어 계정이라도 과금이 발생하기 때문에 ㅠㅠㅠㅠ..
EC2 인스턴스에 직접 오라클을 설치하였습니다.
오라클 설치만 밤새서 했는데 EC2에 설치하는 건 처음이라 막히고 힘들었던 기억이 나네요,,😥
해당 글은 이전 글과 이어지니 순서대로 따라와주시면 좋겠습니다. 😉❤
1. Oracle 11g 설치
① oracle를 다운로드 할 디렉토리 생성
⑴ PuTTY에서 oracle 디렉토리를 만들기 위해 /home 경로로 이동합니다.
cd /home
⑵ /home/oracle 디렉토리를 생성합니다.
mkdir oracle
⑶ oracle 디렉토리로 이동합니다.
cd oracle
② Oracle 11g 설치 파일 다운로드
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
⑴ 위 링크로 들어가서 Linux x64 Download을 클릭합니다.
⑵ Chrome Browser 기준입니다.
브라우저 상단에 있는 전체 다운로드 기록 > 오라클 링크 오른쪽 마우스 클릭 > 링크 주소 복사를 클릭합니다.
그러면 대충 download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip?AuthParam=!@@#$2123 이런 식으로 복사가 될 것입니다.
⑶ PuTTY로 돌아와 위에서 복사한 링크를 이용하여 oracle을 설치할 수 있는 파일을 '빠르게' 다운로드합니다.
시간이 지나면 위 다운로드 링크가 유효하지 않아서 403 Forbidden 에러를 일으키니 빠르게 진행해줍시다. 😅
sudo wget https://download.oracle.com/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip?AuthParam=어쩌고!@$%45
- sudo wget 까지 직접 입력하고 링크는 복사되어있을 것이기 때문에 ★ shift + insert 키를 누르면 붙여넣기가 됩니다.
- 엄청 긴 무언가가 뜨고 약간의 설치 시간이 소요됩니다.
- ls 명령어를 입력하면 다운로드 된 것을 확인할 수 있습니다.
ls
⑷ 다운로드된 파일명을 변경해줍니다.
- 기존 파일명에서 zip 뒤에 있는 ?부터 모두 지워줍니다.
mv oracle-xe-11.2.0-1.0.x86_64.rpm.zip?AuthParam=171어쩌고 oracle-xe-11.2.0-1.0.x86_64.rpm.zip
// mv 기존파일명 바꿀파일명
- ls 명령어로 확인하면 바뀐 파일을 확인할 수 있습니다.
③ 몇 가지 필수 패키지 다운로드
sudo dpkg --configure -a
sudo apt install -y net-tools alien unzip libaio1
libaio1 패키지는 다운로드가 안 될 수도 있습니다. 저같은 경우에는 다운로드가 안되서
sudo vi /etc/apt/sources.list
를 입력하여 vi 편집기를 열고 i를 눌러서 INSERT 모드로 변경 후
deb http://archive.ubuntu.com/ubuntu/ focal main universe restricted multiverse
를 추가하고 :wq 로 저장해주었습니다. 그리고
sudo apt update
sudo apt install libaio1
순서대로 입력 후 libaio1 패키지를 다운로드 해주었습니다. update와 libaio1 다운로드는 약간의 시간이 소요됩니다.
④ unzip 명령어로 압축 풀기
sudo unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
- Disk1 이라는 디렉토리가 생긴 것을 확인할 수 있습니다.
⑤ alien 명령어로 .rpm to .deb 변환
Disk1 디렉토리로 이동하면 RPM(.rpm) 파일 하나가 있는데요,
이것을 Ubuntu 환경에서 사용할 수 있는 Debian(.deb) 파일로 변환하기 위해 alien 명령어를 사용합니다.
⑴ Disk1 디렉토리로 이동 후 ls 명령어 입력하면 oracle~.rpm 파일이 보입니다.
cd /home/oracle/Disk1
ls
⑵ .rpm을 .deb로 변환
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
위와 같이 뜨면 완료된 것이고 ls 명령어를 입력하여 deb 파일이 생성되었는지 확인합니다.
저는 꽤 오랜 시간이 걸렸습니다.
⑤ dpkg(Debian Package) 명령어로 설치 후 확인
⑴ deb 파일을 dpkg로 설치합니다.
sudo dpkg --install oracle-*.deb
⑵ 설치 확인
apt list --installed | grep oracle
⑥ Oracle 최초 설정하기
sudo /etc/init.d/oracle-xe configure
- 8080 : 입력 없이 엔터(혹시나 포트번호를 바꾸실 분은 원하는 포트번호를 입력 후 엔터하시기 바랍니다.)
- 1521 : 입력 없이 엔터
- initial configuration : 비밀번호 입력
- confirm the password : 비밀번호 재입력
- (y/n) : y
2. 자원 제한 설정(필수 사항X)
① 아래 명령어로 sysctl.conf 편집
sudo vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
해당 옵션을 추가한 후 esc > :wq로 저장합니다.
② 아래 명령어로 limits.conf 편집
sudo vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
해당 옵션을 추가한 후 esc > :wq로 저장합니다.
3. Oracle 환경 변수 설정
① /etc/profile에 환경 변수 추가하기
sudo vi /etc/profile
ORACLE_BASE=/u01/app/oracle
ORACLE_SID=XE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe
ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
PATH=$ORACLE_HOME/bin:$PATH
export PATH
export ORACLE_BASE
export ORACLE_SID
export ORACLE_HOME
export ORACLE_HOME_LISTNER
export TMP=/tmp
export TMPDIR=$TMP
편집기를 열고 해당 코드를 추가한 후 ESC > :wq로 저장합니다.
② 업데이트 후 적용 확인
source /etc/profile
echo $ORACLE_HOME
잘 적용된 것을 확인할 수 있습니다.
4. Oracle 세부 환경 설정
아래 명령어를 입력하여 listener.ora를 vi 편집기로 열고
sudo vi /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
아래 내용으로 수정 후 ESC > :wq로 저장합니다.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = XE)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(SID_NAME = XE)
(SERVICE_NAME = XE)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = ip-자기아이피적혀있음)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
5. Oracle 서비스 실행 & Oracle Listener 서비스 실행
① Oracle 서비스
systemctl start oracle-xe
systemctl status oracle-xe
위와 같이 active 상태가 나오면 오라클 서비스가 시작된 것입니다.
ctrl + c를 누르면 위 상태에서 벗어날 수 있습니다.
② Oracle Listener 서비스
lsnrctl status
lsnrctl start
lsnrctl status를 했을 때 실행이 안된 것 같으면 start를 해줍니다.
위처럼 뜨면 리스너도 잘 실행된 것입니다. :)
6. Sqlplus 접속
sqlplus
Enter user-name에는 system
Enter password에는 configure 할 때 설정했던 비밀번호를 입력해줍니다.
비밀번호 입력시 아무것도 안 보이는 것은 문제가 아닙니다.
일단 여기까지 하면 오라클은 설치가 완료된 것입니다.
7. Oracle DB 계정 만들기(필요하면 할 것)
저는 scott 이라는 계정을 하나 만들도록 하겠습니다.
Windows OS에서 오라클을 사용할 때 scott 계정을 가져다 쓴 것처럼 가져다쓸 수 없습니다.
그래서 저는 이름만 scott인 계정을 만드는 것입니다. (scott 이라는 이름이 익숙해서..)
CREATE USER scott IDENTIFIED BY 원하는비밀번호;
GRANT CONNECT, RESOURCE TO scott;
GRANT CONNECT, RESOURCE TO scott;은
scott에게 DB에 연결할 수 있도록 허용하는 권한과
테이블을 생성, 데이터를 삽입, 업데이트, 삭제할 수 있도록 권한을 주는 것입니다.
exit;로 나간 후 sqlplus로 접속하여 scott 계정이 잘 접속되는지 확인합니다.
잘 접속된 것을 확인할 수 있습니다.
하... 중간에 에러가 엄청나서 거의 이틀을 헤맸는데 결국 오라클을 삭제하고 다시 설치하니까 되네요ㅠㅠㅠㅠㅠㅠㅠㅠㅠ기나긴 여정이었습니당.......😥😥😥😥😥😥!!!!!!!!!!!!!!!!!