[22.12.14] 37일차 [리눅스] 오라클 DBCA 생성, DB 접속하기, EM

W·2022년 12월 14일
0

국비

목록 보기
53/119

가상머신 리눅스 계정

  • root
    pw : 1234
  • oracle
    pw : oracle

데이터베이스 생성하기(DBCA)

  • 데이터베이스 생성 스크립트의 작성을 도와주는 GUI 환경의 도구
    [oracle@serverA ~]$ dbca
configure an existing 기존에 db 재설정
manage templates 템플릿 관리




  • 데이터베이스 복구용 공간

  • 생성된 리스너 상태 확인

  • status가 down인 경우 현재 리스너가 동작 중이 아니라는 의미로 별도로 리스너를 켜주면 된다.

  • dbca 가 실행중인 터미널이 아닌 별도의 새 터미널을 열고 아래의 명령어를 입력한다.
    [oracle@serverA ~]$ lsnrctl start

  • 이후 뒤 back 버튼으로 뒤로 갔다가 다시 진행하면 up으로 상태가 변경된 것을 확인.

  • 인스턴스 연산구조에서 사용할 메모리 공간 할당 사이즈 설정

  • 데이터의 문자 인코딩 방식

  • 데이터의 지역/언어 형식 지정하는 항목

  • 샘플 데이터 포함하여 데이터베이스 생성하는 옵션

  • 데이터베이스 사용자 자격증명 설정
  • 아래에 사용한 패스워드값 oracle은 패스워드 권고 기준을 충족하지 않으므로 경고창이 뜨나 yes를 선택하면 그냥 사용하는 것도 가능하다.

  • 데이터베이스 생성 완료 후 데이터베이스 사용자의 패스워드 관리 항목을 사용할 수 있음.
    (Password Management)

  • 기본 활성화되는 sys, system 계정 외에도 많은 수의 관리계정들이 있으나 기본상태에서는 비활성화 되어 있음.

  • 사용하고 싶은 계정이 있는 경우 Lock account 항목을 체크 해제 후 패스워드 초기화하여 사용하면 된다.

  • 앞서 sample schema 옵션 항목에 체크한 경우 hr이란 계정이 목록에 있으며 여기에 샘플 데이터가 포함되어 있다 필요한 경우 아래와 같이 잠금 해제 후 사용하면 된다.

  • 초기화하는 패스워드가 패스워드 정책 수준을 만족하지 못하여 아래와 같이 경고가 보여짐.

  • yes를 누르면 그대로 사용가능

  • 오라클 데이터베이스에서는 한번에 하나의 데이터베이스만 관리가 가능하다.

  • 관리할 데이터베이스를 지정하는 항목은 아래의 파일을 수정하여 설정할 수 있다.
    [oracle@serverA ~]$ vi /etc/oratab

  • 파일의 가장 아랫 줄에 키보드 i를 입력하고 다음 하이라이트 부분의 내용을 수정한다.
    orcl:/usr/oracle/database:Y

  • 수정 후 esc 입력하고 :wq로 저장하고 종료한다.


  • 터미널의 환경변수에도 관리할 데이터베이스의 ID값의 환경변수를 등록한다.

  • ORACLE_SID : 관리할 데이터베이스의 SID값
    [oracle@serverA ~]$ vi ~/.bash_profile

  • 키보드 i 입력 후 파일의 가장 아랫쪽에 하이라이트 부분을 추가한다.
    umask 022
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/usr/oracle/database
    export PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_SID=orcl

  • 환경 변수 새로고침
    [oracle@serverA ~]$ source ~/.bash_profile

oracle 데이터베이스 접속하기

  • oracleDB의 콘솔 접속 도구 sql*plus 사용
    [oracle@serverA ~]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 14 15:19:00 2022
Version 19.3.0.0.0

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

SQL> connect sys/oracle as sysdba
Connected.

SQL> SELECT instance_name, host_name, version, startup_time
  2  FROM v$instance;

SQL> connect hr/hr
Connected.

  • 해당 계정의 저장된 테이블 목록 조회
SQL> SELECT *
  2  FROM tab;

  • sql*plus 종료
    SQL> exit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.3.0.0.0

Enterprise Manager(EM) express

  • 운영중인 데이터베이스를 모니터링 할 수 있는 웹환경의 도구

[oracle@serverA ~]$ su

Password: 1234 (root계정 패스워드/안보임)
  • EM의 접속 포트 번호 5500을 방화벽에서 예외처리한다.
    [root@serverA oracle]# firewall-cmd --add-port=5500/tcp --permanent
    success

[root@serverA oracle]# firewall-cmd --reload
success

EM 접속하기 (웹 브라우저)

https://ip주소:5500/em

oracle DB 시작하기

  • 기본 상태로는 데이터베이스 시작을 수동으로 진행해야 한다.

리스너 시작

[oracle@serverA ~]$ lsnrctl start

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 14-DEC-2022 16:02:16

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Starting /usr/oracle/database/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /usr/oracle/database/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/serverA/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=serverA)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=serverA)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                14-DEC-2022 16:02:18
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /usr/oracle/database/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/serverA/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=serverA)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

데이터베이스 시작하기

  • 오라클 데이터베이스는 sys계정을 통해서만 데이터베이스를 시작할 수 있다.

[oracle@serverA ~]$ sqlplus /nolog
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 14 16:02:53 2022
Version 19.3.0.0.0

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

SQL> connect sys/oracle as sysdba
Connected to an idle instance.

  • 데이터베이스 시작 명령어

SQL> startup
ORACLE instance started.

Total System Global Area 1593831936 bytes
Fixed Size 8897024 bytes
Variable Size 989855744 bytes
Database Buffers 587202560 bytes
Redo Buffers 7876608 bytes
Database mounted.
Database opened.

  • 데이터베이스가 꺼진 상태에서는 일반 계정은 접속할 수 없음.

SQL> connect hr/hr
Connected.

데이터베이스 자동 실행 서비스 등록하기

  • 서비스 생성/등록은 관리자 계정인 root에서 진행 가능하다.

[oracle@serverA ~]$ su -l
Password:(1234)
Last login: Wed Dec 14 15:33:59 KST 2022 on pts/1

  • 서비스에서 사용할 환경변수 파일 만들기

[root@serverA ~]# vi /etc/sysconfig/orcl.oracledb

키보드 i 입력 후 아래의 내용을 정확하게 입력해준다.

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/usr/oracle/database
ORACLE_SID=orcl

esc 입력 후 :wq로 저장 후 종료

  • 서비스 파일 만들기

[root@serverA ~]# vi /usr/lib/systemd/system/orcl@oracledb.service
키보드 i 입력 후 아래의 내용을 정확하게 입력해준다.

[Unit]
Description=Oracle Database service
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/orcl.oracledb
ExecStart=/usr/oracle/database/bin/dbstart $ORACLE_HOME
ExecStop=/usr/oracle/database/bin/dbshut $ORACLE_HOME
User=oracle

[Install]
WantedBy=multi-user.target
esc 입력 후 :wq로 저장 후 종료

  • 리눅스 시스템에 서비스 등록 활성화

[root@serverA ~]# systemctl daemon-reload
[root@serverA ~]# systemctl enable orcl@oracledb
Created symlink from /etc/systemd/system/multi-user.target.wants/orcl@oracledb.service to /usr/lib/systemd/system/orcl@oracledb.service.

  • 가상머신 재시작 후 아래와 같이 접속 시도 시 문제 없이 접속이 된다면 서비스가 정상동작하는 것이다.

[oracle@serverA ~]$ sqlplus

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Dec 14 16:23:32 2022
Version 19.3.0.0.0

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

Enter user-name: hr
Enter password: hr (안보임)
Last Successful login time: Wed Dec 14 2022 16:22:47 +09:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

0개의 댓글