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. 密码文件管理
查询ASM信息
SQL>
select
*
from
v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle
Database
12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0
PL/SQL Release 12.1.0.1.0 - Production 0
CORE 12.1.0.1.0 Production 0
TNS
for
Linux: Version 12.1.0.1.0 - Production 0
NLSRTL Version 12.1.0.1.0 - Production 0
SQL>
select
NAME
,COMPATIBILITY
from
v$asm_diskgroup;
NAME
COMPATIBILITY
------------------------------ ------------------------------------------------------------
DATA 12.1.0.0.0
|
查询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启动数据库不会使用该密码文件,还是使用默认密码文件。
这里也就提醒大家操作规范:在RAC环境(包含单节点的GI环境)中,对数据库的启动关闭操作强烈建议使用crs相关命令来完成,而不推荐使用sqlplus命令。
-- END --
转自:http://www.anbob.com/archives/2997.html
http://www.xifenfei.com/2013/06/oracle-12c-asm-%E6%96%B0%E7%89%B9%E6%80%A7%EF%BC%9A%E5%85%B1%E4%BA%AB%E5%AF%86%E7%A0%81%E6%96%87%E4%BB%B6.html