运维联盟俱乐部

 找回密码
 立即注册
查看: 1439|回复: 0

[日常管理] password 12

[复制链接]
  • TA的每日心情
    开心
    2023-8-9 11:05
  • 发表于 2021-10-19 10:27:54 | 显示全部楼层 |阅读模式
    oracle数据库软件是获得过最高级别的安全认证,完全超越其它所有数据库软件,并且在可维护性上基于大量的实践需要稳步前行,这里简单列举几个12c 关于password几个新特性。

    1. 新的password hash算法
    2. 新的password verify function
    3. 密码文件可以存储到ASM
    4. 密码自动从primary同步到standby端在Dataguard环境中
    5. 新的密码认证协议

    以下将介绍其中几个内容:

    1.密码文件可以存储到ASM

    在Oracle Database 12c之前,密码文件始终位于$ ORACLE_HOME / dbs文件下,即使对于RAC实例和RAC ASM集群也是如此。 对于RAC而言,DBA必须设法保持这一点密码文件在每个节点上同步。现在,在Oracle 12c中,可以将密码文件存储在ASM上。 这意味着一个共享密码文件Oracle RAC数据库为集群中的所有实例共享,与ASM spfile不同,ASM密码文件的访问只有在启动ASM ,并且在磁盘组mount后才可以访问。用于创建密码文件的命令实用程序仍然是相同的:“orapwd”

    asmcmd同样也可以创建密码文件
    $ asmcmd
    ASMCMD> pwcreate

    ASM存储密码文件前提条件 COMPATIBLE.ASM>= 12.1

    -- create new password in ASM
    orapwd file='+data/ASM/orapwasm' asm=y
    -- create new password in ASM from location
    orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm'[asm=y]
    -- move password file from A asm diskgroup to another
    ASMCMD> pwmove --asm +CRS/asm/password/orapwasm +data/orapwasm

    2. 密码自动从primary同步到standby端在Dataguard环境中

    12cR2中一个有用的增强功能是密码文件在Data Guard环境中自动同步,如果在primary database上更改了sys的密码,并且它自动也在standby database上进行了更改。 在早期版本中必须手动完成的,通常通过使用primary database 密码文件替换standby database上的密码文件。



    3. 将主库RAC中的密码文件手动拷贝到备库中

    从主库ASM拷贝到文件系统中:

    ASMCMD> pwcopy +DATA/HISS/PASSWORD/pwdhis.256.918602833/home/grid/

    使用scp或者其它方式拷贝到备库的主机中并重命名为hiss:

    $ scp /home/grid/pwdhis.256.91860283310.241.8.9:/home/grid

    $ mv pwdhis.256.918602833 orapwhiss

    从备库文件系统拷贝到ASM中:

    ASMCMD> pwcopy /home/grid/orapwhiss +DATA/HISS/PASSWORD/


    4. 密码文件管理

    查询crs中关于db配置
    [grid@orcl ~]$  srvctl config database -d cdb
    Database unique name: cdb
    Database name: cdb
    Oracle home: /u01/app/oracle/product/12.1/db_1
    Oracle user: oracle
    Spfile: +DATA/cdb/spfilecdb.ora
    Password file:
    Domain:
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: MANUAL
    Database instance: cdb
    Disk Groups: DATA
    Services:

    这里db的password file为空,即表示使用默认值,也就是为$ORACLE_HOME/dbs/orapworcl

    创建密码文件存储在ASM中
    --创建db新密码文件
    [oracle@orcl ~]$ orapwd file='+data/CDB/orapwdorcl' dbuniquename='cdb'

    Enter password for SYS:
    ----输入sys用户密码

    --创建asm新密码文件
    orapwd file='+data/ASM/orapwasm' asm=y
    ----asm=y 表示创建的密码文件为asm的


    --使用老密码文件创建db/asm新密码文件
    orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ASM/orapwasm' [asm=y]
    ----input_file 表示使用老的密码文件创建新的存储在ASM中的密码文件

    查看ASM中密码文件
    ASMCMD> showversion
    ASM version         : 12.1.0.1.0
    ASMCMD> pwd
    +data/cdb
    ASMCMD>  ls -l orapwdorcl
    Type      Redund  Striped  Time             Sys  Name
    PASSWORD  UNPROT  COARSE   MAY 31 19:00:00  N    orapwdorcl => +DATA/CDB/PASSWORD/pwdcdb.290.816897265

    配置crs中password file项
    [grid@orcl ~]$ srvctl modify database -db cdb -pwfile  +data/CDB/orapwdorcl

    查询crs中关于db配置
    [grid@orcl ~]$  srvctl config database -d cdb
    Database unique name: cdb
    Database name: cdb
    Oracle home: /u01/app/oracle/product/12.1/db_1
    Oracle user: oracle
    Spfile: +DATA/cdb/spfilecdb.ora
    Password file: +data/CDB/orapwdorcl
    Domain:
    Start options: open
    Stop options: immediate
    Database role: PRIMARY
    Management policy: MANUAL
    Database instance: cdb
    Disk Groups: DATA
    Services:

    至此数据库启动使用密码ASM中的密码文件完成。

    补充说明,该方式配置在ASM中的密码文件,只能是通过crs方式启动db才会生效,如果手工使用sqlplus启动数据库不会使用该密码文件,还是使用默认密码文件。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    运维联盟俱乐部 ( 冀ICP备19036648号 )

    GMT+8, 2024-5-17 14:08 , Processed in 0.046604 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表