[실습 환경]
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: **********
--> 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
'Oracle > ASM' 카테고리의 다른 글
| [2025-06-06] ASM 내에 파일을 원격지의 ASM 위치로 copy 하기 (19c) (0) | 2025.08.14 |
|---|---|
| [2025-06-06] ORACLE RAC 환경에서 ASM Disk Group명 변경 (19c) (4) | 2025.08.13 |
| [2025-06-03] Oracle VM VirtualBox의 RAC 환경에서 ASM 디스크 추가 및 asm_power_limit 설정 (19c) (3) | 2025.08.10 |
| [2025-06-03] Oracle VM VirtualBox의 RAC 환경에서 ACFS 구성 (19c) (2) | 2025.07.26 |
| Oracle RAC 12cR2 환경에서 ASM 인스턴스의 관리 권한이 sysasm 인지 확인하기 (0) | 2025.06.01 |