반응형
■ [2025-06-04] Oracle 19c 2Node RAC 환경에서 Instance 및 ASM Instance의 Password 파일 생성 (ASM 영역에 생성) (19c)

 

[실습 환경]
OS : Oracle Linux Server 7.9 (Linux rdb01d 5.4.17-2102.201.3.el7uek.x86_64)
DB : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production (Version 19.27.0.0.0)
RAC1 : ol7ora19r1(192.168.0.21) : ORA19R1
RAC2 : ol7ora19r2(192.168.0.22) : ORA19R2

 

1. Oracle Instance

 

1-1. asmcmd 내에서 pwcreate 사용

 

[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ srvctl config database -db ORA19R | grep -i password
Password file: +FRA1/ORA19R/PASSWORD/pwdora19r.256.1202819883

 

ASMCMD [+FRA1/ORA19R/PASSWORD] > mkdir  +DATA1/ORA19R/PASSWORD
ASMCMD [+FRA1/ORA19R/PASSWORD] > pwcreate --dbuniquename ORA19R +DATA1/ORA19R/PASSWORD
'P@ssw0rd01' -f

[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd ls -l +DATA1/ORA19R/PASSWORD
Type      Redund  Striped  Time             Sys  Name
PASSWORD  UNPROT  COARSE   JUN 04 22:00:00  N    password => +DATA1/ORA19R/PASSWORD/pwdora19r.269.1202940129
PASSWORD  UNPROT  COARSE   JUN 04 22:00:00  Y    pwdora19r.269.1202940129

 

[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ srvctl config database -db ORA19R | grep -i password
Password file: +FRA1/ORA19R/PASSWORD/pwdora19r.256.1202819883

--> 패스워드 파일을 만들기만 한 것임

 

ASMCMD [+] > pwget --dbuniquename ORA19R
+FRA1/ORA19R/PASSWORD/pwdora19r.256.1202819883

 

[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ srvctl modify database -db ORA19R -pwfile +DATA1/ORA19R/PASSWORD/pwdora19r.269.1202940129

[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ srvctl config database -db ORA19R | grep -i password
Password file: +DATA1/ORA19R/PASSWORD/pwdora19r.269.1202940129

 

ASMCMD [+] > pwget --dbuniquename ORA19R
+DATA1/ORA19R/PASSWORD/pwdora19r.269.1202940129

--> Oracle Client로 ORA19R1과 ORA19R2 인스턴스로 접속 시도 -> sys계정을 sysdba 권한으로 붙을 수 있는지 확인(패스워드는 P@ssw0rd01로 접속되는지 확인)
--> 접속 잘됨

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd ls -l +FRA1/ORA19R/PASSWORD/pwdora19r.256.1202819883
Type      Redund  Striped  Time             Sys  Name
PASSWORD  UNPROT  COARSE   JUN 03 12:00:00  Y    pwdora19r.256.1202819883

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd rm -f +FRA1/ORA19R/PASSWORD/pwdora19r.256.1202819883

--> 기존 패스워드 파일 삭제

 

ASMCMD [+] > cd +DATA1/ORA19R/PASSWORD
ASMCMD [+DATA1/ORA19R/PASSWORD] > rm -f pwdora19r.269.1202940129

 

1-2. orapwd 명령어 사용

 

--이번에는 orapwd 명령어를 사용할 것임

[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ orapwd file='+DATA1/ORA19R/PASSWORD/orapwORA19R' ENTRIES=10 DBUNIQUENAME='ORA19R' PASSWORD='P@ssw0rd01' force=y

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd ls -l +DATA1/ORA19R/PASSWORD
Type      Redund  Striped  Time             Sys  Name
PASSWORD  UNPROT  COARSE   JUN 04 22:00:00  N    orapwora19r => +DATA1/ORA19R/PASSWORD/pwdora19r.269.1202941215
PASSWORD  UNPROT  COARSE   JUN 04 22:00:00  Y    pwdora19r.269.1202941215

 

[ORA19R2:oracle@ol7ora19r2][/home/oracle]$ srvctl config database -db ORA19R | grep -i password
Password file: +DATA1/ORA19R/PASSWORD/orapwora19r
--> orapwd 명령어 사용시에는 자동으로 crs정보에도 등록됨

--> 접속 잘됨!

 

2. ASM Instance 의 password file 재생성

 

ASM 패스워드 파일 재생성 전, 기존 패스워드 백업 파일과 CRSUSER__ASM_001 계정의 인터널 키 및 패스워드를 사전에 확인 및 추출한 뒤,

신규 패스워드 파일 생성 및 필수 계정/권한 등록을 완료하고,

최종적으로 실제 패스워드 파일 오브젝트를 백업 alias로 복사하여 장애 대비를 완료하는 실습

 

 

2-1. password 파일 생성 전 사전 준비작업

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ srvctl config asm
ASM home: <CRS home>
Password file: +CRS/orapwasm
Backup of Password file: +CRS/orapwasm_backup
ASM listener: LISTENER
ASM instance count: 2
Cluster ASM listener: ASMNET1LSNR_ASM

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd ls -sl +CRS
Type      Redund  Striped  Time             Sys  Block_Size  Blocks  Bytes  Space  Name
                                            Y                                      ASM/
                                            Y                                      ol7ora19r/
PASSWORD  HIGH    COARSE   JUN 05 22:00:00  N           512      12   6144      0  orapwasm => +CRS/ASM/PASSWORD/pwdasm.256.1203028143
PASSWORD  HIGH    COARSE   JUN 04 23:00:00  N           512      12   6144      0  orapwasm_backup => +CRS/ASM/PASSWORD/pwdasm.257.1202943723

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ asmcmd ls -sl +CRS/ASM/PASSWORD/
Type      Redund  Striped  Time             Sys  Block_Size  Blocks  Bytes  Space  Name
PASSWORD  HIGH    COARSE   JUN 05 22:00:00  Y           512      12   6144      0  pwdasm.256.1203028143
PASSWORD  HIGH    COARSE   JUN 04 23:00:00  Y           512      12   6144      0  pwdasm.257.1202943723

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ ocrdump /home/grid/ocrdump.dmp
PROT-310: Not all keys were dumped due to permissions.

 

[+ASM2:grid@ol7ora19r2][/home/grid]$ vi /home/grid/ocrdump.dmp

[SYSTEM.ASM.CREDENTIALS.USERS.CRSUSER__ASM_001]
ORATEXT : bf945573bf1bcfd0bfd634e70237bcd9:grid
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_NONE, USER_NAME : grid, GROUP_NAME : oinstall}
--> bf945573bf1bcfd0bfd634e70237bcd9 메모장 등에 저장해둬야함

--> 이것은 CRSUSER__ASM_001 계정의 인터널 키임 -> 이 키로 실제 패스워드를 알 수 있음

 

--asm password 알아내기!
[+ASM2:grid@ol7ora19r2][/home/grid]$ crsctl get credmaint -path /ASM/Self/bf945573bf1bcfd0bfd634e70237bcd9 -credtype userpass -id 0 -attr passwd -local
cSWZrAuW4wKOzI871y5FdIv7tY0Ks
--> 이것이 바로 CRSUSER__ASM_001 계정의 asm password임

 

2-2. password 파일 생성


ASMCMD [+] > pwget --asm
+CRS/orapwasm

ASMCMD [+] > pwcreate --asm +CRS/orapwasm 'P@ssw0rd01' -f
ASMCMD-9465: WARNING: passing password on command line is deprecated


ASMCMD [+] > lspwusr
Username sysdba sysoper sysasm
     SYS   TRUE    TRUE  FALSE

--> passwork 파일 재 생성 시 SYS계정이 sysasm 권한이 없는 상태임

 

-- sys 계정에게 sysasm 권한 줌
ASMCMD [+] > orapwusr --grant sysasm SYS

ASMCMD [+] > lspwusr
Username sysdba sysoper sysasm
     SYS   TRUE    TRUE   TRUE

 

 

ASMCMD [+] > orapwusr --add ASMSNMP
Enter password: **********
--> 여기서는 P@ssw0rd01 입력해줌

--> ASMSNMP 유저도 추가해줌

 

-- ASMSNMP 유저에게 sysdba 권한줌
ASMCMD [+] > orapwusr --grant sysdba ASMSNMP
ASMCMD [+] > lspwusr
Username sysdba sysoper sysasm
     SYS   TRUE    TRUE   TRUE
 ASMSNMP   TRUE   FALSE  FALSE

 

-- CRSUSER__ASM_001 유저 추가

ASMCMD [+] > orapwusr --add CRSUSER__ASM_001
*****
--> 여기서!!! cSWZrAuW4wKOzI871y5FdIv7tY0Ks 입력해줌

--> 이 단계에서 앞 단계에서 알아낸 패스워드를 입력해야 추가 가능! 정말 중요함

 

ASMCMD [+] > lspwusr
        Username sysdba sysoper sysasm
             SYS   TRUE    TRUE   TRUE
         ASMSNMP   TRUE   FALSE  FALSE
CRSUSER__ASM_001  FALSE   FALSE  FALSE

--> 추가만 되고 권한은 없음

 

ASMCMD [+] > orapwusr --grant sysdba CRSUSER__ASM_001
ASMCMD [+] > orapwusr --grant sysasm CRSUSER__ASM_001

ASMCMD [+] > lspwusr
        Username sysdba sysoper sysasm
             SYS   TRUE    TRUE   TRUE
         ASMSNMP   TRUE   FALSE  FALSE
CRSUSER__ASM_001   TRUE   FALSE   TRUE

 

ASMCMD [+] > ls -sl CRS
Type      Redund  Striped  Time             Sys  Block_Size  Blocks  Bytes  Space  Name
                                            Y                                      ASM/
                                            Y                                      ol7ora19r/
PASSWORD  HIGH    COARSE   JUN 05 23:00:00  N           512      32  16384      0  orapwasm => +CRS/ASM/PASSWORD/pwdasm.256.1203032401
PASSWORD  HIGH    COARSE   JUN 04 23:00:00  N           512      12   6144      0  orapwasm_backup => +CRS/ASM/PASSWORD/pwdasm.257.1202943723

 

 

2-3. password 파일 백업

 

-- 백업 받기

ASMCMD [+] > cp +CRS/ASM/PASSWORD/pwdasm.256.1203032401 +CRS/orapwasm_backup
copying +CRS/ASM/PASSWORD/pwdasm.256.1203032401 -> +CRS/orapwasm_backup

 

 

반응형

+ Recent posts