[Oracle] ASM에서 오라클 19c 설치

·2025년 9월 18일

오라클 관리

목록 보기
163/163

💡 오라클 설치 스토리지 3가지

  1. File system
  2. ASM
  3. Raw device
     
    --> 위의 3가지 스토리지에 standard alone 데이터베이스를 생성할 수 있어야하고,
    RAC를 설치할 수 있어야함
    12C에서 19C로 유져 레벨 데이터 이행을 할 줄 알아야함

[오라클 리눅스 R7 설치하기]

  1. 리눅스 설치를 위한 설치 파일을 다운로드 받기

  2. 설치를 따라할 블로그에 접속
    https://riorio.tistory.com/508


싱글노드에서 ASM 위에 DB 생성

1.  virtual box에 오라클 리눅스 설치

2. grid 설치

MobaXterm에서 /home/oracle 밑에 19c_asm_grid.zip 파일 올리기

  • 아래 스크립트 먼저 수행하고 블로그 따라하기
yum install -y oraclelinux-release-el7

# 2. oracleasm 관련 패키지 설치
yum install -y oracleasm-support oracleasmlib oracleasm

# 3. (커널 모듈 확인, 필요시)
yum install -y kmod-oracleasm

19c grid 설치 Standalone server (Oracle Restart)


  • 위의 블로그에서 아래의 명령어는 실행하지 x

  • hostname에 내 리눅스 ip주소로 수정하기

  • 위 블로그로 따라할 때 생성해야하는 oracle 유저의 .bash_profile
    자신의 환경에 맞춰 수정하기
# .bash_profile
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi


PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=asmtest
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1
export GRID_HOME=/app/grid
export ORA_INVENTORY=/oralnventory
export ORACLE_SID=orcl

# 공백 제거 + ORACLE_HOME/bin 은 PATH 앞에 추가 (권장)
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export CV_ASSUME_DISTID=RHEL7.6

export LANG=C
export LC_ALL=C

alias grid_env='export ORACLE_HOME=$GRID_HOME; export ORACLE_SID=+ASM; export PATH=$GRID_HOME/bin:$PATH'
alias db_env='export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1; export ORACLE_SID=orcl'
alias ss='sqlplus / as sysdba'
alias oh='cd $ORACLE_HOME'
alias gh='cd $GRID_HOME'

root의 .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export ORACLE_BASE=/app/oracle
export GRID_HOME=/app/grid
export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1
export PATH=$PATH:$GRID_HOME/bin

아래의 디스크 추가 화면을 진행하려면 리눅스 서버를 끄고 해야합니다.


아래 작업은 리눅스 서버에서 하기


아래 DATA를 CRS로 변경해주기


3. db 설치

MobaXterm에서 /home/oracle 밑에 19c_database.zip 파일 올리기

[ASM] 19c database 설치

중간에 asmca 할 때 아래와 같이 오류가 발생하면

[oracle@asmtest grid]$ asmca
bash: asmca: command not found...

또는

[oracle@asmtest grid]$ asmca
DISPLAY not set.
Set DISPLAY environment variable, then re-run.

MobaXterm에서 하기

[oracle@asmtest ~]$ cd /app/grid
[oracle@asmtest grid]$ grid_env

[oracle@asmtest grid]$ export DISPLAY=:0.0

[oracle@asmtest grid]$ asmca

4. orange로 접속하기

tnsnames.ora 파일을 메모장으로 열어서 수정

asm19 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.69)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

listener와 db가 online인지 확인

crsctl stat res -t

[oracle@asmtest ~]$ cd $ORACLE_HOME
[oracle@asmtest grid]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       asmtest                  STABLE
ora.DATA.dg
               ONLINE  ONLINE       asmtest                  STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       asmtest                  STABLE
ora.RECO.dg
               ONLINE  ONLINE       asmtest                  STABLE
ora.asm
               ONLINE  ONLINE       asmtest                  Started,STABLE
ora.ons
               OFFLINE OFFLINE      asmtest                  STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
      1        ONLINE  ONLINE       asmtest                  STABLE
ora.diskmon
      1        OFFLINE OFFLINE                               STABLE
ora.evmd
      1        ONLINE  ONLINE       asmtest                  STABLE
ora.orcl.db
      1        ONLINE  ONLINE       asmtest                  Open,HOME=/app/oracl
                                                             e/product/19.0.0/db_
                                                             1,STABLE
--------------------------------------------------------------------------------


[oracle@asmtest ~]$ cd /app/grid

[oracle@asmtest grid]$ sqlplus / as sysdba

SQL> exit;


[oracle@asmtest grid]$ vi /app/grid/network/admin/listener.ora
[oracle@asmtest grid]$
[oracle@asmtest grid]$ cd $ORACLE_HOME/network/admin
[oracle@asmtest admin]$ vi listener.ora
[oracle@asmtest grid]$ cat listener.ora
#Backup file is  /app/oracle/crsdata/asmtest/output/listener.ora.bak.asmtest.oracle line added by Agent
# listener.ora Network Configuration File: /app/grid/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.69)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON            # line added by Agent


[oracle@asmtest admin]$ pwd
/app/grid/network/admin
[oracle@asmtest admin]$ cd $ORACLE_HOME
[oracle@asmtest grid]$ pwd
/app/grid
[oracle@asmtest grid]$
[oracle@asmtest grid]$
[oracle@asmtest grid]$ cd
[oracle@asmtest ~]$
[oracle@asmtest ~]$ vi .bash_profile
[oracle@asmtest ~]$ source .bash_profile
[oracle@asmtest ~]$ echo $ORACLE_HOME
/app/oracle/product/19.0.0/db_1
[oracle@asmtest ~]$
[oracle@asmtest ~]$ cd $ORACLE_HOME
[oracle@asmtest db_1]$ cd network/
[oracle@asmtest network]$ cd admin
[oracle@asmtest admin]$ vi listener.ora
[oracle@asmtest admin]$
[oracle@asmtest admin]$ vi /app/grid/network/admin/listener.ora
[oracle@asmtest admin]$
[oracle@asmtest admin]$ vi listener.ora
[oracle@asmtest admin]$

리스너 내렸다 올리기

[oracle@asmtest admin]$ lsnrctl stop

[oracle@asmtest admin]$ lsnrctl start

[oracle@asmtest admin]$ lsnrctl status

scott 유저 생성 및 dba 권한 주기

[oracle@asmtest admin]$ sqlplus / as sysdba


SQL> create user scott identified by tiger;

User created.

SQL> grant dba to scott;

Grant succeeded.

SQL> exit;

root 유저로 방화벽 해제하기

[oracle@asmtest ~]$ su -

[root@asmtest ~]# systemctl status firewalld

[root@asmtest ~]# netstat -tlnp | grep 1521
tcp        0      0 192.168.13.69:1521      0.0.0.0:*               LISTEN      5228/tnslsnr
[root@asmtest ~]# firewall-cmd --permanent --add-port=1521/tcp
success
[root@asmtest ~]# firewall-cmd --reload
success

0개의 댓글