Exadata 이미지 업그레이드 작업 버그 하나 (22.1.17, 23.1.8)

Issue: During OS Image Upgrade, node gets into boot loop

Impacted releases: Direct upgrade from 21.2.10 or earlier to 22.1.17 / 22.1.18 / 22.1.19 / 23.1.8 /23.1.9 / 23.1.10

Root Cause :
There is a known bug in kernel-ueknano-4.14.35-2047.511.5.5.3.el7uek.x86_64 Kernel due to which FW update of Whitney+ card crashes Kernel.
Above Kernel is included in Nov-2023 releases (22.1.17, 23.1.8).
Bug 35844212/35848949 - bnxtnvm failed to update/downgrade whitneyplus firmware
Fix for above bug is included in uptrack-update that is also included in Nov-2023 releases.
While upgrading compute during firstboot, it comes up with new Kernel and FW updates are applied.
There is no issue if FW upgrade activity starts after botting up with new Kernel and uptrack update is effective.
Due to timing issues, if FW upgrade starts after booting up with new Kernel and before uptrack-update is effective, then kernel crashes and node gets rebooted.
During boot up time (firstboot), FW upgrade kicks in again causes Kernel to crash. This is happening in a loop forever.

Workaround:
• Disable FW updates during impacted upgrade path ( touch /opt/oracle.cellos/DISABLE_HARDWARE_FIRMWARE_CHECKS)
• Post upgrades, install FW upgrades
o rm /opt/oracle.cellos/DISABLE_HARDWARE_FIRMWARE_CHECKS
o /opt/oracle.cellos/CheckHWnFWProfile -action updatefw -mode exact
Next steps:
Kernel with fix is included in Feb-2024 releases (22.1.20, 23.1.11).

Posted by pat98


CRS-2717: Server '<hostname>' is not in any of the server pool(s) hosting resource 'ora.<sid>.db'

Resources Unable to be Started on a Given Cluster Node (Doc ID 2122592.1)


- 증상 

startup 했는데 뜬금없이 resource 에 등록되어 있지 않다고 에러발생

srvctl 명령어 에러시

<root_user>@node2:# <ORACLE_HOME>/srvctl start instance -db <dbname> -node <hostname>
PRCR-1013 : Failed to start resource ora.<sid>.db
PRCR-1064 : Failed to start resource ora.<sid>.db on node node2
CRS-2717: Server '<hostname>' is not in any of the server pool(s) hosting resource 'ora.<sid>.db'

startup 명령어 에러시

SQL> startup
ORA-39510: CRS error performing start on instance <instance name?
CRS-2549: Resource <resource name> cannot be placed on <node name> as it is not a valid candidate as per the placement policy
CRS-0223: Resource <resource name> has placement error.


<GI_HOME>/bin/crsctl stat res ora.crsd -f -init | grep RESOURCE_USE_ENABLED
RESOURCE_USE_ENABLED=0

정상적이면 이 값은 1이 되어야 한다.


- 원인
Bug 23733697 에 의한 것으로 rootcs.pl -prepatch 로 패치하는 동안 임시로 값을 0 으로 만드는데 작업이 중단/실패되거나 했을 경우 다시 0 -> 1로 바꾸어야 하는데 그러지 못하고 0 상태로 원복하지 못함.

<GI_HOME>/bin/crsctl set resource use 1
위와 같이 조치하고 CRS 재기동

crsctl stop crs
crsctl start crs

 

정상확인 !!

Posted by pat98

패치작업 19.22.0.0.240116 (GI PSU 35940989)

Database Patch Set Update : 19.22.0.0.240116 (35943157)
OCW Patch Set Update      : 19.22.0.0.240116 (35967489)
ACFS Patch Set Update     : 19.22.0.0.240116 (35956421)
Tomcat Release Update     : 19.0.0.0.0       (36115038)
DBWLM Release Update      : 19.0.0.0.0       (33575402)

Oracle Grid Infrastructure Patch Set Update 19.22.0.0.240116 
-------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/35943157
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/35967489
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/35956421
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/33575402
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/36115038

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/35943157
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35940989/35967489

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35940989/35967489 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35940989/35956421 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35940989/35943157 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35940989/33575402 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35940989/36115038 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35940989/35967489/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35940989/35967489 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35940989/35943157 -silent
./35940989/35967489/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.0.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 35967489,35956421,35943157,33575402,36115038 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35940989/35967489/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 35967489,35943157 -oh /u01/app/oracle/product/19.3.0.0/dbhome_1 -silent
./35940989/35967489/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.0.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

Posted by pat98

SET SERVEROUTPUT ON
SET LINES 600
ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY HH24:MI:SS';

DECLARE
    v_analyse_start_time    DATE := SYSDATE - 7;
    v_analyse_end_time      DATE := SYSDATE;
    v_cur_dt                DATE;
    v_undo_info_ret         BOOLEAN;
    v_cur_undo_mb           NUMBER;
    v_undo_tbs_name         VARCHAR2(100);
    v_undo_tbs_size         NUMBER;
    v_undo_autoext          BOOLEAN;
    v_undo_retention        NUMBER(6);
    v_undo_guarantee        BOOLEAN;
    v_instance_number       NUMBER;
    v_undo_advisor_advice   VARCHAR2(100);
    v_undo_health_ret       NUMBER;
    v_problem               VARCHAR2(1000);
    v_recommendation        VARCHAR2(1000);
    v_rationale             VARCHAR2(1000);
    v_retention             NUMBER;
    v_utbsize               NUMBER;
    v_best_retention        NUMBER;
    v_longest_query         NUMBER;
    v_required_retention    NUMBER;
BEGIN
    select sysdate into v_cur_dt from dual;
    DBMS_OUTPUT.PUT_LINE(CHR(9));
    DBMS_OUTPUT.PUT_LINE('- Undo Analysis started at : ' || v_cur_dt || ' -');
    DBMS_OUTPUT.PUT_LINE('--------------------------------------------------');

    v_undo_info_ret := DBMS_UNDO_ADV.UNDO_INFO(v_undo_tbs_name, v_undo_tbs_size, v_undo_autoext, v_undo_retention, v_undo_guarantee);
    select sum(bytes)/1024/1024 into v_cur_undo_mb from dba_data_files where tablespace_name = v_undo_tbs_name;

    DBMS_OUTPUT.PUT_LINE('NOTE:The following analysis is based upon the database workload during the period -');
    DBMS_OUTPUT.PUT_LINE('Begin Time : ' || v_analyse_start_time);
    DBMS_OUTPUT.PUT_LINE('End Time   : ' || v_analyse_end_time);
    
    DBMS_OUTPUT.PUT_LINE(CHR(9));
    DBMS_OUTPUT.PUT_LINE('Current Undo Configuration');
    DBMS_OUTPUT.PUT_LINE('--------------------------');
    DBMS_OUTPUT.PUT_LINE(RPAD('Current undo tablespace',55) || ' : ' || v_undo_tbs_name);
    DBMS_OUTPUT.PUT_LINE(RPAD('Current undo tablespace size (datafile size now) ',55) || ' : ' || v_cur_undo_mb || 'M');
    DBMS_OUTPUT.PUT_LINE(RPAD('Current undo tablespace size (consider autoextend) ',55) || ' : ' || v_undo_tbs_size || 'M');
    IF V_UNDO_AUTOEXT THEN
        DBMS_OUTPUT.PUT_LINE(RPAD('AUTOEXTEND for undo tablespace is',55) || ' : ON');  
    ELSE
        DBMS_OUTPUT.PUT_LINE(RPAD('AUTOEXTEND for undo tablespace is',55) || ' : OFF');  
    END IF;
    DBMS_OUTPUT.PUT_LINE(RPAD('Current undo retention',55) || ' : ' || v_undo_retention);

    IF v_undo_guarantee THEN
        DBMS_OUTPUT.PUT_LINE(RPAD('UNDO GUARANTEE is set to',55) || ' : TRUE');
    ELSE
        dbms_output.put_line(RPAD('UNDO GUARANTEE is set to',55) || ' : FALSE');
    END IF;
    DBMS_OUTPUT.PUT_LINE(CHR(9));

    SELECT instance_number INTO v_instance_number FROM V$INSTANCE;

    DBMS_OUTPUT.PUT_LINE('Undo Advisor Summary');
    DBMS_OUTPUT.PUT_LINE('---------------------------');

    v_undo_advisor_advice := dbms_undo_adv.undo_advisor(v_analyse_start_time, v_analyse_end_time, v_instance_number);
    DBMS_OUTPUT.PUT_LINE(v_undo_advisor_advice);

    DBMS_OUTPUT.PUT_LINE(CHR(9));
    DBMS_OUTPUT.PUT_LINE('Undo Space Recommendation');
    DBMS_OUTPUT.PUT_LINE('-------------------------');

    v_undo_health_ret := dbms_undo_adv.undo_health(v_analyse_start_time, v_analyse_end_time, v_problem, v_recommendation, v_rationale, v_retention, v_utbsize);
    IF v_undo_health_ret > 0 THEN
        DBMS_OUTPUT.PUT_LINE('Minimum Recommendation           : ' || v_recommendation);
        DBMS_OUTPUT.PUT_LINE('Rationale                        : ' || v_rationale);
        DBMS_OUTPUT.PUT_LINE('Recommended Undo Tablespace Size : ' || v_utbsize || 'M');
    ELSE
        DBMS_OUTPUT.PUT_LINE('Allocated undo space is sufficient for the current workload.');
    END IF;
    
    SELECT dbms_undo_adv.best_possible_retention(v_analyse_start_time, v_analyse_end_time) into v_best_retention FROM dual;
    SELECT dbms_undo_adv.longest_query(v_analyse_start_time, v_analyse_end_time) into v_longest_query FROM dual;
    SELECT dbms_undo_adv.required_retention(v_analyse_start_time, v_analyse_end_time) into v_required_retention FROM dual;

    DBMS_OUTPUT.PUT_LINE(CHR(9));
    DBMS_OUTPUT.PUT_LINE('Retention Recommendation');
    DBMS_OUTPUT.PUT_LINE('------------------------');
    DBMS_OUTPUT.PUT_LINE(RPAD('The best possible retention with current configuration is ',60) || ' : ' || v_best_retention || ' Seconds');
    DBMS_OUTPUT.PUT_LINE(RPAD('The longest running query ran for ',60) || ' : ' || v_longest_query || ' Seconds');
    DBMS_OUTPUT.PUT_LINE(RPAD('The undo retention required to avoid errors is ',60) || ' : ' || v_required_retention || ' Seconds');

END;
/

Sample Output

- Undo Analysis started at : 30/08/2013 11:08:40 -
--------------------------------------------------
NOTE:The following analysis is based upon the database workload during the period -
Begin Time : 23/08/2013 11:08:40
End Time   : 30/08/2013 11:08:40

Current Undo Configuration
--------------------------
Current undo tablespace                                 : UNDOTBS2
Current undo tablespace size (datafile size now)        : 20M
Current undo tablespace size (consider autoextend)      : 20M
AUTOEXTEND for undo tablespace is                       : ON
Current undo retention                                  : 900
UNDO GUARANTEE is set to                                : FALSE

Undo Advisor Summary
---------------------------
Finding 1:Undo Tablespace is under pressure. Recommendation 1:Size undo tablespace to 26 MB

Undo Space Recommendation
-------------------------
Minimum Recommendation           : Size undo tablespace to 26 MB
Rationale                        : Increase undo tablespace size so that long running queries will not fail
Recommended Undo Tablespace Size : 26M

Retention Recommendation
------------------------
The best possible retention with current configuration is    : 9171 Seconds
The longest running query ran for                            : 2543 Seconds
The undo retention required to avoid errors is               : 2543 Seconds

PL/SQL procedure successfully completed.
Posted by pat98

#!/bin/ksh
#set -x
#
########################################################
# Create export dump file as unix pipe.
#
# Be sure to test thoroughly before using.
# Change the directory structures and names to match
# your system.
#
# Author: M. Finn
########################################################

if [ -p /tmp/EXPORT/export.dmp ]; then
        true
else
        /etc/mknod /tmp/EXPORT/export.dmp p
fi
#
########################################################
# CHANGE THE DIRECTORY PATH TO WHERE YOU CREATED PIPE.
########################################################
#
compress </tmp/EXPORT/export.dmp >/tmp/EXPORT/export`date '+%m%d%y'`.dmp.Z &
#
########################################################
# CHANGE THE DIRECTORY TO WHERE YOUR PARFILE EXISTS.
# CHANGE THE DIRECTORY TO WHERE YOUR COMPRESSED EXPORT
# FILE IS TO BE CREATED.
########################################################
#
exp FILE=/tmp/EXPORT/export.dmp PARFILE=/tmp/EXPORT/test.par 2>
/tmp/EXPORT/export`date '+%m%d%y'`.log

Posted by pat98

패치작업 19.21.0.0.231017 (GI PSU 35642822)

Database Patch Set Update : 19.21.0.0.231017 (35643107)
OCW Patch Set Update      : 19.21.0.0.231017 (35655527)
ACFS Patch Set Update     : 19.21.0.0.231017 (35652062)
Tomcat Release Update     : 19.0.0.0.0       (35553096)
DBWLM Release Update      : 19.0.0.0.0       (33575402)

Oracle Grid Infrastructure Patch Set Update 19.21.0.0.231017 
-------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822/35643107
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822/35655527
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822/35652062
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822/33575402
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822/35553096

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822/35643107
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35642822 35655527

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35642822/35655527 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35642822/35652062 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35642822/35643107 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35642822/33575402 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35642822/35553096 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35642822 /35655527/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35642822/35655527 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35642822/35643107 -silent
./35642822 /35655527/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.3.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 35655527,35652062,35643107,33575402,35553096 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35642822 /35655527/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 35655527,35643107 -oh /u01/app/oracle/product/19.3.0.0/dbhome_1 -silent
./35642822 /35655527/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

Posted by pat98

[PCA 2.x] How to Set Passwordless SSH Connection to Compute Node ILOM's from Management Nodes (Doc ID 2869125.1)

- 설정

set /SP/users/root/ssh/keys/2 load_uri=scp://root:Welcome1@192.168.4.4/root/.ssh/id_rsa.pub
set /SP/users/root/ssh/keys/1 load_uri=scp://root:Welcome1@192.168.4.3/root/.ssh/id_rsa.pub

인증서만 복사해주면 됨. 끝!!

- 확인
show /SP/users/root/ssh/keys/2 
show /SP/users/root/ssh/keys/1 

/SP/users/root/ssh/keys/1
    Targets:
    Properties:
        fingerprint = b5:e3:48:12:62:c2:4d:b6:4f:06:9c:ad:8f:24:05:38
        fingerprint_algorithm = MD5
        algorithm = ssh-rsa
        embedded_comment = root@gtexadb01.co.kr
        bit_length = 2048
        load_uri = (Cannot show property)
        clear_action = (Cannot show property)

안물어보는지 접속테스트 진행...

- 원복
set /SP/users/root/ssh/keys/1 clear_action=true
set /SP/users/root/ssh/keys/2 clear_action=true

- 해당 값의 의미
/SP/users/user/ssh/keys/n
where n is the number of the ssh key you want to configure.
• transfer_method can be tftp, ftp, sftp, scp, http, or https.
• username is the name of the user account on the remote system. (username is required for scp, sftp, and ftp. username is not used for tftp, and is optional for http and https.)
• password is the password for the user account on the remote system. (password is required for scp, sftp, and ftp. password is not used for tftp, and is optional for http and https.)
• ipaddress_or_hostname is the IP address or the host name of the remote system.
• directorypath is the location of the SSH key on the remote system.
• filename is the name assigned to the SSH key file.

Posted by pat98

패치작업 19.20.0.0.230718 (GI PSU 35319490 )

Database Patch Set Update : 19.20.0.0.230718 (35320081)
OCW Patch Set Update      : 19.20.0.0.230718 (35320149)
ACFS Patch Set Update     : 19.20.0.0.230718 (35332537)
Tomcat Release Update     : 19.0.0.0.0       (35553096)
DBWLM Release Update      : 19.0.0.0.0       (33575402)

Oracle Grid Infrastructure Patch Set Update 19.20.0.0.230718 
-------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490/35320081
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490/35320149
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490/35332537
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490/33575402
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490/35553096

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490/35320081
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35319490 35320149

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35319490/35320149 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35319490/35332537 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35319490/35320081 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35319490/33575402 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35319490/35553096 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35319490 /35320149/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35319490/35320149 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35319490/35320081 -silent
./35319490 /35320149/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.3.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 35320149,35332537,35320081,33575402,35553096 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35319490 /35320149/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 35320149,35320081 -oh /u01/app/oracle/product/19.3.0.0/dbhome_1 -silent
./35319490 /35320149/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

Posted by pat98

미국시간으로 6월22일, 한국시간 6월23일  exadata 12세대 버전인 x10m 이 공식 출시되었다!!

 

HW적인 요소만 살펴보면..

 

Introducing Exadata X10M: Extreme Scalability and Dramatically Improved Price Performance (oracle.com)

 

1. 우선 Database Server 의 HW적인 가장 큰 변화는  과감히 인텔 CPU 를 버리고 AMD 로 바뀌었다. (리사수 그저빛 !!)

전체 core 가 192 코어(흠좀무) 나 되어 ULA 가 되어 있는 고객들은 마음껏 코어를 사용할 수 있는 혜택(?)을 누릴것으로 보인다.

 

2. 기존 1U 서버에서 2U 서버로 벌크업을 하였다.

 

2. 메모리는 512G / 1.5 TB / 2.25 TB / 3T 중에서 선택할 수 있다.

 

3. 뒷면의 PCI 슬롯이 5개까지 지원하게 되었다.

 

Front View of an Oracle Exadata X10M Database Server

 

Rear View of an Oracle Exadata X10M Database Server

 

CPU: 2 x 96-core AMD EPYC™ 9J14 processors, 2.6 GHz (up to 3.7 GHz)

• RAM: 512 GB RAM (16 x 32 GB DIMMs), 1.5 TB (24 x 64 GB DIMMs), 2.25 TB (24 x 96 GB DIMMs), or 3 TB (24 x 128 GB DIMMs)

• System storage: 2 x 3.84 TB PCIe 4.0 NVMe storage devices, expandable to 4 devices

• RDMA Network Fabric: 1 x dual-port CX7 RDMA Network Fabric card; PCIe 4.0, 2 x 100 Gb/s ports active-active (200 Gb/s combined throughput)

• Administration network: 1 x 1 GbE Base-T Ethernet port

• Integrated Lights Out Manager (ILOM) port for remote management: 1 x 1 GbE Base-T Ethernet port

• Client and additional network connectivity:

– Two factory-installed CX6-LX network cards. Each card contains 2 x SFP+/SFP28 ports (10/25 GbE)

– Up to 3 optional network cards. Each card can be any of the following:

* CX6-LX with 2 x SFP+/SFP28 ports (10/25 GbE)

* CX6-DX with 2 x QSFP28 ports (100GbE). Each QSFP28 port can support one 10 GbE or 25 GbE link with appropriate breakout cables.

* Fortpond RJ45 Ethernet with 4 x 10GBASE-T ports (10 GbE)

 

 

Front View of an Oracle Exadata Storage Server X10M HC Server

 

Rear View of an Oracle Exadata Storage Server X10M HC Server

4. 스토리지 서버도 마찬가지로 AMD 로 바뀌었으며 노드당  64Core 를 지원한다.

 

5. 1개 디스크당 용량이 22TB 로 늘어났다.

 

6. 기존의 PMEM 이 단종됨에 따라 XRMEM cache ( Exadata RDMA Memory Cache) 로 대체되었다 <-- 이름만 바뀌고 기능은 동일한 듯 하다.

 

7. 또한 X10M HC Storage Server 를 사용하기 위해서는 Exadata Image 23.1.0 또는 그 이상을 사용하여야 한다.

 

CPU: 2 x 32-core AMD EPYC™ 9334 processors, 2.7 GHz (up to 3.9 GHz)

• RAM: 1.5 TB (24 x 64 GB DIMMs) including XRMEM cache

• Disk storage: 12 x 22 TB hard disk drives (HDD)

• Flash storage: 4 x 6.8 TB performance-optimized flash devices

• System storage: 2 x 480 GB NVMe devices

• RDMA Network Fabric: 1 x dual-port CX7 RDMA Network Fabric card; PCIe 4.0, 2 x 100 Gb/s ports active-active (200 Gb/s combined throughput)

• Administration network: 1 x 1 GbE Base-T Ethernet port

• Integrated Lights Out Manager (ILOM) port for remote management: 1 x 1 GbE Base-T Ethernet port

 

- 라이센스 관련한 CoD는 기존과 유사하게 아래와 같은 Core 적용이 되는 듯 하다.

Posted by pat98

패치작업 19.19.0.0.230418 (GI PSU 35037840 )

Database Patch Set Update : 19.19.0.0.230418 (35042068)
OCW Patch Set Update      : 19.19.0.0.230418 (35050331)
ACFS Patch Set Update     : 19.19.0.0.230418 (35050325)
Tomcat Release Update     : 19.0.0.0.0       (35107512)
DBWLM Release Update      : 19.0.0.0.0       (33575402)

Oracle Grid Infrastructure Patch Set Update 19.19.0.0.230418 
-----------------------------------------------------------------------------------
GI_HOME, ORACLE_HOME 을 개별로 각각 할때

- grid 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840/35042068
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840/35050331
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840/35050325
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840/33575402
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840/35107512

- oracle 유저
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840/35042068
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir <UNZIPPED_PATCH_LOCATION>/35037840 35050331

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

(root 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/crs/install/rootcrs.sh -prepatch 

(grid 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35037840/35050331 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35037840/35050325 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35037840/35042068 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35037840/33575402 -silent
$GI_HOME/OPatch/opatch apply -oh $GI_HOME -local ./35037840/35107512 -silent

(oracle 유저)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35037840 /35050331/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35037840/35050331 -silent
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local ./35037840/35042068 -silent
./35037840 /35050331/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME 

(root 유저)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch 

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name> 

- Loading Modified SQL Files into the Database
sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

### [롤백하는 경우] ###########

(oracle)
$ <ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

GI Home
(root로)
$GI_HOME/crs/install/rootcrs.sh -prepatch -rollback

(grid 유저로)
export GI_HOME=/u01/app/19.3.0.0/grid
cd /u01/install
$GI_HOME/OPatch/opatch nrollback -local -id 35050331,35050325,35042068,33575402,35107512 -oh $GI_HOME -silent

(oracle 유저로)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0.0/dbhome_1
cd /u01/install
./35037840 /35050331/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME 
$ORACLE_HOME/OPatch/opatch nrollback -local -id 35050331,35042068 -oh /u01/app/oracle/product/19.3.0.0/dbhome_1 -silent
./35037840 /35050331/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

Run post script
(root로)
export GI_HOME=/u01/app/19.3.0.0/grid
$GI_HOME/rdbms/install/rootadd_rdbms.sh
$GI_HOME/crs/install/rootcrs.sh -postpatch -rollback

(oracle)
$ <ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>

sqlplus /nolog
SQL> conect / as sysdba
SQL> startup
SQL> quit
cd $ORACLE_HOME/OPatch
./datapatch -verbose

Posted by pat98

04-30 00:09
Flag Counter
Yesterday
Today
Total

글 보관함

최근에 올라온 글

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 달린 댓글