upgrade silent

현스·2025년 5월 26일

ORACLE 설치 script

목록 보기
13/15

11g dbca 마친 시점

SELECT INSTANCE_NAME,
    HOST_NAME,
    VERSION,
    STATUS,
    DATABASE_STATUS FROM v$instance;


INSTANCE_NAME            HOST_NAME          VERSION           STATUS       DATABASE_STATUS

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

   ORCL         		 uptestdb          11.2.0.4.0          OPEN	          ACTIVE

-- 19c db home 파일 업로드 후 권한 변경

cd /oracd
chown -R oracle:dba /oracd

1. 19c 엔진 silent 설치

19c 설치를 위해 다음과 같은 절차를 시행한다.

--디스크 공간 최소 20GB 확보하기

df -h 
/dev/mapper/rhel_testdb-root   72G   19G   53G  26% /

--오라클 19c 설치 디렉토리를 생성하고 권한 부여

mkdir -p /oracle/app/oracle/product/19c/db_home
chown -R oracle:dba /oracle/app/oracle

--bash_profile 에 주석 처리하여 홈경로 넣어놓기

vi .bash_profile
#export ORACLE_HOME= /oracle/app/oracle/product/19c/db_home

--bashrc 추가

vi .bashrc

alias oh='cd $ORACLE_HOME'
alias 19h='cd /oracle/app/oracle/product/19c/db_home'
alias 11h='cd /oracle/app/oracle/product/11c/db_home'
alias ss='sqlplus / as sysdba'

source .bashrc

--11g 인스턴스 startup

아카이브 모드 확인 후 noarchivelog 모드면 바꿔주기

-- 바꾸는 방법

startup mount
alter database archivelog;
alter database open;
archive log list;

alter system set log_archive_dest = '' scope=spfile;
alter system set log_archive_dest_1='location=/oraarch' scope=spfile;
SQL> show parameter cluster_database

​SQL> show parameter parallel_server

SQL> show parameter job_queue_processes

SQL> show parameter aq_tm_processes

--fast_recovery_area를 필요로하니 미리 늘리기

alter system set db_recovery_file_dest_size=7g scope=both;
SQL> SHOW PARAMETER db_recovery_file_dest_size;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest_size           big integer 7G


--오라클 19c 설치 전 사전 준비 패키지를 다운로드하여 설치 [root] 계정에서 실시

yum install -y bc binutils elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libX11 libXau libXi libXtst libgcc libnsl librdmacm libstdc++ libstdc++-devel libxcb libibverbs make policycoreutils policycoreutils-python-utils smartmontools sysstat oracleasm-support xorg-x11-utils xorg-x11-xauth

--환경 파일 변경 내용 확인 [ root ]

 vi /etc/sysctl.conf

kernel.sem = 250 32000 100 128
kernel.shmmax=4294967296
kernel.shmmni=4096
kernel.shmall=2097152
fs.file-max=6815744
fs.aio-max-nr=1048576
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

sysctl -p
sysctl -a

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
oracle hard stack 32768

echo $ORACLE_HOME
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/db_home

백업 받기 전에 11g 에 object 넣어 놓기

--11g 풀백업 받기

SQL> select * from dba_directories;
SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system;
SQL> exit

$ expdp system/oracle DIRECTORY=DATA_PUMP_DIR DUMPFILE=full_%U.dmp LOGFILE=backup_dump.log FULL=y

--19c언집 후 엔진설치

cd /oracd
[root]
chown -R oracle:dba LINUX.X64_193000_db_home.zip

--bash_profile 에 주석 처리하여 홈경로 넣어놓기

vi .bash_profile
#export ORACLE_HOME=/oracle/app/oracle/product/19c/db_home

--오라클 19c 설치 파일 압축풀기

unzip LINUX.X64_193000_db_home.zip -d oracle/app/oracle/product/19c/db_home

--db_install.rsp 리스폰 파일 수정

cd /oracle/app/oracle/product/19c/db_home/install/response
vi db_install.rsp

# 소프트웨어만 설치하는 옵션 선택
oracle.install.option=INSTALL_DB_SWONLY
# Oracle 소프트웨어 관리를 위한 Unix 그룹명 지정
UNIX_GROUP_NAME=dba
# Oracle Inventory 디렉토리 위치 지정 
INVENTORY_LOCATION=/home/oracle/app/oraInventory
# Oracle 홈 디렉토리 경로 지정
ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0.1
# Oracle 베이스 디렉토리 경로 지정
ORACLE_BASE=/home/oracle/app/oracle
# Edition
oracle.install.db.InstallEdition=EE
# 데이터베이스 관리자(SYSDBA) 그룹 지정
oracle.install.db.OSDBA_GROUP=dba
# 데이터베이스 운영자(SYSOPER) 그룹 지정
oracle.install.db.OSOPER_GROUP=dba
# 백업 및 복구 관리자(SYSBACKUP) 그룹 지정
oracle.install.db.OSBACKUPDBA_GROUP=dba
# Data Guard 관리자(SYSDG) 그룹 지정
oracle.install.db.OSDGDBA_GROUP=dba
# 암호화 키 관리자(SYSKM) 그룹 지정
oracle.install.db.OSKMDBA_GROUP=dba
# RAC 관리자(SYSRAC) 그룹 지정
oracle.install.db.OSRACDBA_GROUP=dba
# My Oracle Support 계정의 자격 증명(아이디/비밀번호)을 설치 중에 입력할지 여부를 결정
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#Oracle에서 제공하는 보안 업데이트 구성을 설정할지 여부를 결정 (true는 거절임)
DECLINE_SECURITY_UPDATES=true
# 컨테이너 데이터베이스로 구성하지 않음
oracle.install.db.ConfigureAsContainerDB=false

cd /oracle/app/oracle/product/19c/db_home ### 이 안에 runInstaller 가 있으니까

./runInstaller -silent -responseFile /oracle/app/oracle/product/19c/db_home/install/response/db_install.rsp

As a root user, execute the following script(s):
        1. /oracle/app/oracle/product/19c/db_home/root.sh

Execute /oracle/app/oracle/product/19c/db_home/root.sh on the following nodes:
[test]


Successfully Setup Software.

루트 스크립트
[root@test oracd]# /oracle/app/oracle/product/19c/db_home/root.sh
Check /oracle/app/oracle/product/19c/db_home/install/root_test_2025-05-26_00-19-47-829780041.log for the output of root script

--19c 경로로 홈경로 설정

[root]# export ORACLE_HOME=oracle/app/oracle/product/19c/db_home

su - oracle
[oracle]$ echo $ORACLE_HOME
oracle/app/oracle/product/19c/db_home

--19c 업그레이드 PATCH 확인

echo $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch lspatches

[oracle@uptestdb ~]$ $ORACLE_HOME/OPatch/opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

OPatch succeeded.

2. autoupgrade

-- autoupgrade.jar 파일을 최신 버전을 다운받아 변경한다.

 [oracle@test admin]$ ls *.jar
autoupgrade.jar  preupgrade.jar

--txt 파일 생성

mkdir -p /home/oracle/upg_logs
chmod 755 /home/oracle/upg_logs
mkdir -p ~/setup
vi ~/setup/auto_config.txt

global.autoupg_log_dir=/home/oracle/upg_logs

upg1.sid=ORCL
upg1.source_home=/oracle/app/oracle/product/11g/db_home
upg1.target_home=/oracle/app/oracle/product/19c/db_home
upg1.target_version=19
upg1.log_dir=/home/oracle/upg_logs
upg1.start_time=NOW
upg1.upgrade_node=uptestdb

--업그레이드 전 확인

java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config ~/setup/auto_config.txt -mode analyze
java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config ~/setup/auto_config.txt -mode fixups

--업그레이드 실행

java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config ~/setup/auto_config.txt -mode deploy

이 명령어는:
	DB 백업 (선택 사항)
	DB shutdown
	업그레이드 수행
	post-upgrade 작업까지 자동으로 처리합니다.

업그레이드 완료

3. PATCH

SQL> shutdown immediate;

lsnrctl stop

--opatch 백업 후 언집

mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_OLD
unzip /oracd/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME

--경로 이동

$ cd /oracd

unzip p37262172_190000_Linux-x86-64.zip

--압축 해제 후 디렉토리로 이동

cd 37262172

--실행조건 검사

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /oracd/31537677

--opatch apply

cd 37262172/37102264
$ORACLE_HOME/OPatch/opatch apply

cd ../37260974
$ORACLE_HOME/OPatch/opatch apply

--패치 완료 후 검사

$ORACLE_HOME/OPatch/opatch lsinventory
$ORACLE_HOME/OPatch/opatch lspatches

4. 확인

--리스터 실행

lsnrctl start

--인스턴스 오픈

startup

--데이터 정합성 확인

profile
˗ˋˏ O R A C L E ˎˊ˗

0개의 댓글