重建共享(db或asm)密碼檔案 in Oracle 19c RAC-20220209

lovehewenyu發表於2022-04-05

重建共享(db或asm)密碼檔案 in Oracle 19c RAC-20220209

導讀:Oracle 19C Rac 中db和asm的密碼檔案均共享在asm的共享磁碟組中,記錄一下重建共享密碼檔案的方法。

1.重建共享db密碼檔案

建立使用者並授予管理許可權,看看重建password file對哪些管理許可權有影響
grant sysdba to doudou;
create user t1_sysoper identified by oracle;
grant sysoper to t1_sysoper;
create user t3_SYSBACKUP identified by oracle;
grant SYSBACKUP to t3_SYSBACKUP;
create user t4_SYSDG identified by oracle;
grant SYSDG to t4_SYSDG;
create user t5_SYSKM identified by oracle;
grant  SYSKM to t5_SYSKM;
# sysasm許可權是屬於asm例項等超級許可權,故databsae instance不允許分配
create user t2_SYSASM identified by oracle;
grant SYSASM to t2_SYSASM;
ERROR at line 1:
ORA-15294: SYSASM privilege not allowed on database instance

1.1 使用者管理許可權一覽

select username,sysdba,sysoper,sysasm,sysbackup,sysdg,syskm from v$pwfile_users;
USERNAME    SYSDBA       SYSOPER    SYSASM     SYSBACKUP  SYSDG      SYSKM
--------------- ---------- ---------- ---------- ---------- ---------- ----------
SYS        TRUE       TRUE       FALSE     FALSE        FALSE      FALSE
DOUDOU        TRUE       FALSE      FALSE     FALSE        FALSE      FALSE
T3_SYSBACKUP    FALSE       FALSE      FALSE     TRUE        FALSE      FALSE
T4_SYSDG    FALSE       FALSE      FALSE     FALSE        TRUE       FALSE
T5_SYSKM    FALSE       FALSE      FALSE     FALSE        FALSE      TRUE

1.2 檢視database配置資訊,並瞭解db password file位置

[oracle@rac1:/home/oracle]$srvctl config database -d racdb
Database unique name: racdb
Database name: racdb
Oracle home: /u01/app/oracle/product/19.0.0/db_1
Oracle user: oracle
Spfile: +DATA/RACDB/PARAMETERFILE/spfile.272.1092525369 <=db parameter file location
Password file: +DATA/RACDB/PASSWORD/pwdracdb.257.1092523663 <=db passwd file location
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA,ARCH
Mount point paths: 
Services: 
Type: RAC
Start concurrency: 
Stop concurrency: 
OSDBA group: dba
OSOPER group: oper
Database instances: racdb1,racdb2,racdb3
Configured nodes: rac1,rac2,rac3
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services: 
Database is administrator managed

1.3 修改前備份

ASMCMD> pwcopy +DATA/RACDB/PASSWORD/pwdracdb.257.1092523663 /tmp/pwdracdb_20220209.bk
copying +DATA/RACDB/PASSWORD/pwdracdb.257.1092523663 -> /tmp/pwdracdb_20220209.bk

1.4 rac環境重建共享db密碼檔案

RAC
[oracle@rac1:/home/oracle]$orapwd file=+data dbuniquename=racdb  password=oracle format=12 force=y
# format=12 以12c格式命令密碼的安全性
單例項
orapwd file=orapwdracdb passsword=oracle format=12

1.5 驗證密碼檔案是否修改成功

[oracle@rac1:/home/oracle]$srvctl config database -d racdb
Database unique name: racdb
Database name: racdb
......
Password file: +DATA/RACDB/PASSWORD/pwdracdb.274.1113430875  <=修改完成,修改前是pwdracdb.257.1092523663

1.6 password file含有特權使用者的密碼,重建之後特權使用者密碼消失(dg維護時特別注意修改passwrod file帶來的副作用)

select username,sysdba,sysoper,sysasm,sysbackup,sysdg,syskm from v$pwfile_users;
USERNAME               SYSDBA      SYSOPER    SYSASM    SYSBACKUP  SYSDG      SYSKM
------------------------------ ---------- ---------- ---------- ---------- ---------- ----------
SYS                   TRUE      TRUE         FALSE    FALSE       FALSE      FALSE

2.重建共享asm密碼檔案

參考:

Doc ID:2717306.1

Doc ID:1929673.1

2.1 檢視當前使用者許可權

ASMCMD> lspwusr 
        Username sysdba sysoper sysasm 
             SYS   TRUE    TRUE   TRUE 
CRSUSER__ASM_001   TRUE   FALSE   TRUE 
         ASMSNMP   TRUE   FALSE  FALSE 
      ORACLE_001   TRUE   FALSE  FALSE

2.2 檢視CRS中asm例項密碼檔案的位置

[grid@rac1:/home/grid]$srvctl config asm 
ASM home: <CRS home>
Password file: +OCR/orapwASM  <=asm password file
Backup of Password file: +OCR/orapwASM_backup
ASM listener: LISTENER
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM

2.3 檢視CRS中asm例項密碼檔案真實檔案

ASMCMD> ls -l orapwasm  
Type      Redund  Striped  Time         Sys  Name
PASSWORD  HIGH    COARSE   DEC 27 2021  N    orapwasm => +OCR/ASM/PASSWORD/pwdasm.256.1092419551

2.3 修改前備份

ASMCMD> pwcopy +OCR/orapwASM /tmp/orapwasm_20220209.bk
copying +OCR/orapwASM -> /tmp/orapwasm_20220209.bk

2.4 rac環境重建共享asm密碼檔案

[grid@rac1:/home/grid]$orapwd file='+OCR/orapwASM' asm=y force=y
Enter password for SYS:
# asm=y 表示修改是asm密碼檔案,並對密碼有複雜度有強制安全性要求

2.5 驗證asm密碼檔案是否修改成功

ASMCMD> ls -l orapwasm
Type      Redund  Striped  Time             Sys  Name
PASSWORD  HIGH    COARSE   AUG 22 23:00:00  N    orapwasm => +OCR/ASM/PASSWORD/pwdasm.256.1113433437 <=修改成功,修改前是pwdasm.256.1092419551

2.6 ASM password file同樣含有特權使用者的密碼,重建之後特權使用者密碼消失

ASMCMD> lspwusr
Username sysdba sysoper sysasm 
     SYS   TRUE    TRUE  FALSE 
--以下是消失的使用者
CRSUSER__ASM_001   TRUE   FALSE   TRUE 
         ASMSNMP   TRUE   FALSE  FALSE 
      ORACLE_001   TRUE   FALSE  FALSE

2.7 建立使用者並授權相應的許可權

create user CRSUSER__ASM_001 identified by oracle;
create user ASMSNMP identified by oracle;
create user ORACLE_001 identified by oracle;
grant sysdba,sysasm to CRSUSER__ASM_001;
grant sysdba to ASMSNMP;
grant sysdba to ORACLE_001;
[grid@rac1:/home/grid]$asmcmd
ASMCMD> lspwusr
        Username sysdba sysoper sysasm 
             SYS   TRUE    TRUE  FALSE 
CRSUSER__ASM_001   TRUE   FALSE   TRUE 
         ASMSNMP   TRUE   FALSE  FALSE 
      ORACLE_001   TRUE   FALSE  FALSE


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-2884761/,如需轉載,請註明出處,否則將追究法律責任。

相關文章