11g新特性-dba_users安全性的一些增强
1.dba_user表的password(除了GLOBAL和EXTERNAL的密码)不再保存密码。
查询10g的dba_user表
SQL> select username,password from dba_users; USERNAME PASSWORD ------------------------- ------------------------------ SYS 4CCF4A082AD3F312 SYSTEM 34F99ED804364129 GP BA5BE92FE6F36B67 REPADMIN 915C93F34954F5F8 HYY A7AEE33D853BFBC8 OUTLN 4A3BA55E08595C81 MGMT_VIEW 05CB73340B23910C MDSYS 72979A94BAD2AF80 ORDSYS 7EFA02EC7EA6B86F EXFSYS 66F4EF5650C20355 DMSYS BFBA5A553FD9E28A DBSNMP E066D214D5421CCC WMSYS 7C9BA362F8314299 CTXSYS 71E687F036AD56E5 ANONYMOUS anonymous SYSMAN 447B729161192C24 XDB 88D8364765FCE6AF ORDPLUGINS 88A2B2C183431F00 SI_INFORMTN_SCHEMA 84B8CBCA4D477FA3 OLAPSYS 4AC23CC3B15E2208 SCOTT F894844C34402B67 ORACLE_OCM 5A2E026A9157958C TSMSYS 3DF26A8B17D0F29F MDDATA DF02A496267DEE66 DIP CE4A36B8E06CA59C
查询11g的dba_user表
SQL> select username,password from dba_users; USERNAME PASSWORD ------------------------- ---------- SYSTEM SYS MGMT_VIEW DBSNMP SYSMAN ISC TEST LZQ SCOTT SURE SS OUTLN OLAPSYS SI_INFORMTN_SCHEMA OWBSYS ORDPLUGINS XDB ANONYMOUS CTXSYS ORDDATA OWBSYS_AUDIT APEX_030200 APPQOSSYS WMSYS EXFSYS ORDSYS MDSYS FLOWS_FILES SPATIAL_WFS_ADMIN_USR SPATIAL_CSW_ADMIN_USR APEX_PUBLIC_USER DIP MDDATA XS$NULL ORACLE_OCM 35 rows selected.
发现11g中password列值为空了。
这是因为虽然密码是经过加密存储的,但是从信息安全的角度来看,暴露的信息越多越不安全,所以即使是加密后的密码泄漏,也可能造成很严重的安全问题。所以作为11g的一个新特性,在dba_users的password列不再保存密码了。
那么问题就来了,如果我要做用户的迁移怎么办?呵呵,alter user identified by values依然可用。我们可以直接去查询sys.user$这张表。
SQL> select name,password from sys.user$ where name in (select username from dba_users); NAME PASSWORD ------------------------- ------------------------- SYSTEM 34F99ED804364129 SYS 4CCF4A082AD3F312 MGMT_VIEW 9F4137A5B1A2E1AC DBSNMP 10D93CA858E0F50D SYSMAN 4D4568914D47DF1D ISC 373F527DC0CFAE98 TEST 7A0F2B316C212D67 LZQ 8B8622D6B295E0E1 SCOTT F894844C34402B67 SURE 7CF462527540A5B0 SS 6C38D7B24909EB18 OUTLN 4A3BA55E08595C81 OLAPSYS 4AC23CC3B15E2208 SI_INFORMTN_SCHEMA 84B8CBCA4D477FA3 OWBSYS 610A3C38F301776F ORDPLUGINS 88A2B2C183431F00 XDB 88D8364765FCE6AF ANONYMOUS anonymous CTXSYS 71E687F036AD56E5 ORDDATA A93EC937FCD1DC2A OWBSYS_AUDIT FD8C3D14F6B60015 APEX_030200 6B653304BCFBC89D APPQOSSYS 519D632B7EE7F63A WMSYS 7C9BA362F8314299 EXFSYS 33C758A8E388DEE5 ORDSYS 7EFA02EC7EA6B86F MDSYS 72979A94BAD2AF80 FLOWS_FILES 738F2D4D10BF7DE2 SPATIAL_WFS_ADMIN_USR 7117215D6BEE6E82 SPATIAL_CSW_ADMIN_USR 1B290858DD14107E APEX_PUBLIC_USER E943E8C4CB4A6A9B DIP CE4A36B8E06CA59C MDDATA DF02A496267DEE66 XS$NULL DC4FCC8CB69A6733 ORACLE_OCM 5A2E026A9157958C rows selected.
事实上dba_users就是结合user$等相关基表创建的视图。从dba_uses视图的相关语句可以看出在11g中当用户被创建为全局或外部认证时password才有加密值,而10g中dba_users的password列完全取值与user$的password列值相关SQL
10g:
10g:
select u.name, u.user#, u.password,
m.status,
decode(u.astatus, , u.ltime,
, u.ltime,
, u.ltime,
, u.ltime,
, u.ltime,
, u.ltime, to_date(NULL)),
decode(u.astatus,
, u.exptime,
, u.exptime,
, u.exptime,
, u.exptime,
, u.exptime,
, u.exptime,
decode(u.ptime, '', to_date(NULL),
decode(pr.limit#, , to_date(NULL),
decode(pr.limit#, ,
decode(dp.limit#, , to_date(NULL), u.ptime +
dp.limit#),
u.ptime )))),
dts.name, tts.name, u.ctime, p.name,
nvl(cgm.consumer_group, 'DEFAULT_CONSUMER_GROUP'),
u.ext_username
from sys.user$ u left outer join sys.resource_group_mapping$ cgm
on (cgm.attribute = 'ORACLE_USER' and cgm.status = 'ACTIVE' and
cgm.value = u.name),
sys.ts$ dts, sys.ts$ tts, sys.profname$ p,
sys.user_astatus_map m, sys.profile$ pr, sys.profile$ dp
where u.datats# = dts.ts#
and u.resource$ = p.profile#
and u.tempts# = tts.ts#
and u.astatus = m.status#
and u.resource$ = pr.profile#
11g:
11g:
select u.name, u.user#,
decode(u.password, 'GLOBAL', u.password,
'EXTERNAL', u.password,
NULL),
m.status,
decode(u.astatus, , u.ltime,
, u.ltime,
, u.ltime,
, u.ltime,
, u.ltime,
, u.ltime, to_date(NULL)),
decode(u.astatus,
, u.exptime,
, u.exptime,
, u.exptime,
, u.exptime,
, u.exptime,
, u.exptime,
decode(u.ptime, '', to_date(NULL),
decode(pr.limit#, , to_date(NULL),
decode(pr.limit#, ,
decode(dp.limit#, , to_date(NULL), u.ptime +
dp.limit#),
u.ptime )))),
dts.name, tts.name, u.ctime, p.name,
nvl(cgm.consumer_group, 'DEFAULT_CONSUMER_GROUP'),
u.ext_username,
decode(length(u.password),,'10G ',NULL)||NVL2(u.spare4, '11G ' ,NULL),
decode(bitand(u.spare1, ),
, 'Y',
'N'),
decode(u.password, 'GLOBAL', 'GLOBAL',
'EXTERNAL', 'EXTERNAL',
'PASSWORD')
from sys.user$ u left outer join sys.resource_group_mapping$ cgm
on (cgm.attribute = 'ORACLE_USER' and cgm.status = 'ACTIVE' and
cgm.value = u.name),
sys.ts$ dts, sys.ts$ tts, sys.profname$ p,
sys.user_astatus_map m, sys.profile$ pr, sys.profile$ dp
where u.datats# = dts.ts#
and u.resource$ = p.profile#
and u.tempts# = tts.ts#
and u.astatus = m.status#
and u.resource$ = pr.profile#
2.密码区分大小写
可以通过初始化参数sec_case_sensitive_logon来控制密码是否大小写敏感,默认TRUE
3.密码复杂性检查
通过执行以下脚本生成密码复杂性检查函数verify_function_11G
@$ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql
然后设置profile使用该函数来检查密码即可
ALTER PROFILE default PASSWORD_VERIFY_FUNCTION verify_function_11G;
11g新特性-dba_users安全性的一些增强的更多相关文章
- 11G新特性 -- 块介质恢复性能增强(block media recovery)
块介质恢复性能增强(block media recovery) :只是恢复受损的块.不需要将受损的数据文件offline.针对受损的数据块,使用备份中好的数据块进行restore和recover,避免 ...
- 11G 新特性之 密码延迟认证
11G 新特性之 密码延迟认证 11G 新特性之 密码延迟认证 Table of Contents 1. 特性简述 2. 特性潜在引发问题 3. 关闭特性 1 特性简述 为了防止用户密码的暴力破解,从 ...
- 11g新特性与12c新特性
1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图
- 11g新特性-自动sql调优(Automatic SQL Tuning)
11g新特性-自动sql调优(Automatic SQL Tuning) 在Oracle 10g中,引进了自动sql调优特性.此外,ADDM也会监控捕获高负载的sql语句. 在Oracle 11g中, ...
- 使用Oracle 11g新特性 Active Database Duplication 搭建Dataguard环境
Duplication Database 介绍 Duplicate database可以按照用途分为2种: duplicate database(复制出一个数据库) duplicate standby ...
- Oracle 11g 新特性 --SQL Plan Management 说明
Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...
- Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27
Atitit.编程语言新特性 通过类库框架模式增强 提升草案 v3 q27 1. 修改历史2 2. 适用语言::几乎所有编程语言.语言提升的三个渠道::语法,类库,框架,ide2 2.1. 单根继承 ...
- Oracle 11g 新特性 – HM(Hang Manager)简介
在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...
- Oracle 11g新特性延迟段创建和truncate的增强
下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...
随机推荐
- centos 防火墙
让防火墙放通tcp的 80端口: [root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent 重启防火墙以 ...
- 解决:error: Cannot fetch repo (TypeError: expected string or buffer)
同步源码,问题重现: Fetching project platform/external/libopus Fetching project repo error: Cannot fetch repo ...
- 根据浏览器显示界面大小变换,替换css文件方法
在1024屏幕下,选择适配1024屏幕的css文件, 在大于1024屏幕下,选择适配大屏幕的css文件. 在html中的head标签中引用css文件时,加入media属性. 例: <link r ...
- Xcode真机测试could not find developer disk image解决方法
原文地址:http://my.oschina.net/u/2340880/blog/521700 Xcode真机测试could not find developer disk image解决方法 在使 ...
- Scales小谈gulp
gulp是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务. 外网:http://gulpjs.com/ 中文官网:http://www.gulpjs.com.cn/ 易于使用 ...
- Java细粒度锁实现的3种方式
最近在工作上碰见了一些高并发的场景需要加锁来保证业务逻辑的正确性,并且要求加锁后性能不能受到太大的影响.初步的想法是通过数据的时间戳,id等关键字来加锁,从而保证不同类型数据处理的并发性.而java自 ...
- Java 集合类详解
集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...
- Ubuntu学习总结-07 Nodejs和npm的安装
一 安装NodeJS 1 下载nodejs源码 从以下网址下载最新的Nodejs源码 https://nodejs.org/en/download/ 2 安装依赖的 python,gcc,g++ 函数 ...
- bandicam如何录制视频
我们一般都很熟悉这类软件:屏幕录制专家和kk录制等,这些都是国内比较优秀的作品.不过exe的封装格式以及录制的清晰度让人很纠结.所以这里要为大家分享的是一款韩国人写录制软件Bandicam.Bandi ...
- js动态添加的元素不能绑定事件
动态生成的元素,使用.on绑定事件,比如$(document).on("click",".divclick",function(){})