oracle 重置密码(一般电网,国企需要的二级等保)
oracle 10g,11g 可以查找以下,12c没有测试
一、查看profile配置并记录;
二、在重置密码之前修改profile(PASSWORD_REUSE_MAX、PASSWORD_REUSE_TIME、 PASSWORD_VERIFY_FUNCTION)三个参数以免发生报错;
三、查询当前处于OPEN状态的用户,并自动生成重置密码的SQL,执行生成的SQL完成密码重置
四、修改profile为要求值(三个参数);
五、密码过期时间确定
----------------------------------------------------------------
1.查询数据库当前profile配置
set lin 200;
col PROFILE for a20
set pagesize 9999
col RESOURCE_NAME for a36
col LIMIT for a20
select PROFILE,RESOURCE_NAME,LIMIT from dba_profiles order by 1;
2.将查询出来的profile的参数PASSWORD_REUSE_MAX和PASSWORD_REUSE_TIME设置为unlimited,
PASSWORD_VERIFY_FUNCTION设置为NULL,不然重置密码操作可能会报错
alter profile DEFAULT limit PASSWORD_REUSE_MAX unlimited;
alter profile DEFAULT limit PASSWORD_REUSE_TIME unlimited;
alter profile DEFAULT limit PASSWORD_VERIFY_FUNCTION null;
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS unlimited;
alter profile DEFAULT limit PASSWORD_LOCK_TIME unlimited;
alter profile DEFAULT limit PASSWORD_GRACE_TIME unlimited;
alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited;
alter profile DEFAULT limit PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;
alter profile DEFAULT limit PASSWORD_REUSE_MAX 3;
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 6;
3.查询当前处于OPEN状态的用户,并自动生成重置密码的SQL,执行生成的SQL完成密码重置(特别特别注意空格跟对齐)
select USER#,name,SPARE4 from sys.user$(12c) -----这一句有点问题
select ' alter user ' || name ||' identified by values '''||SPARE4 ||''';' from sys.user$
where name in (select username from dba_users
where ACCOUNT_STATUS<>'LOCK' and ACCOUNT_STATUS not like 'EXPIRED%LOCKED'); (12c以这一句为标准) ---这一句有点问题。
select ' alter user ' || name ||' identified by values '''||password ||''';' from sys.user$
where name in (select username from dba_users
where ACCOUNT_STATUS<>'LOCK' and ACCOUNT_STATUS not like 'EXPIRED%LOCKED');(11G以这一句为标准)
select ' alter user ' || username ||' identified by values '''||password ||''';' from dba_users
where ACCOUNT_STATUS<>'LOCK' and ACCOUNT_STATUS not like 'EXPIRED%LOCKED';(10G以这一句为标准)
select ' alter user ' || username || ' identified by values ''' || password || ''';' from dba_users where account_status='OPEN';
4.修改其他profile为等保所要求的值,参考如下(实际按要求更改/步骤1记录的参数一致?)
alter profile DEFAULT limit PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;
alter profile DEFAULT limit PASSWORD_REUSE_TIME 180;
alter profile DEFAULT limit PASSWORD_REUSE_MAX 5;
alter profile DEFAULT limit PASSWORD_LIFE_TIME 180;
alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 5;
alter profile MONITORING_PROFILE limit PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;
alter profile MONITORING_PROFILE limit PASSWORD_LIFE_TIME 180;
alter profile MONITORING_PROFILE limit FAILED_LOGIN_ATTEMPTS 5;
alter profile MONITORING_PROFILE limit PASSWORD_REUSE_MAX 5;
alter profile MONITORING_PROFILE limit PASSWORD_REUSE_TIME 1800;
alter profile MONITORING_PROFILE limit PASSWORD_GRACE_TIME 10;
5.密码过期时间确认
col USERNAME for a20
col PASSWORD for a32
col ACCOUNT_STATUS for a20
set lin 100
select username,PASSWORD,ACCOUNT_STATUS,EXPIRY_DATE from dba_users order by 3;
11G
set lin 120
col username for a10
col profile for a15
col account_status for a10
select b.username,b.profile,b.account_status,b.created,a.ptime,b.lock_date,b.expiry_date from
(select * from sys.user$) a,
(select * from dba_users) b
where a.name=b.username and ACCOUNT_STATUS<>'LOCK' and ACCOUNT_STATUS not like 'EXPIRED%LOCKED';
------------------------------------------------------------------
参数说明
Failed_login_attempts:指定在帐户被锁定之前所允许尝试登陆的的最大次数
Password_life_time:指定同一密码所允许使用的天数。
password_reuse_time:指定了密码不能重用前的天数(必须为整数)
password_reuse_max:则指定了当前密码被重用之前密码改变的次数(必须为整数)
Password_verify_function:该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句。对Function名称,指定的是密码验证规,则的名称,指定为Null则意味着不使用密码验证功能。如果为密码参数指定表达式,则该表达式可以是任意格式,除了数据库 量子查询。
Password_grace_time:指定宽限天数,数据库发出警告到登陆失效前的天数;如果数据库密码在这中间没有被修改,则过期会失效;
------------------------------------------------------------------
select username,account_status,lock_date from dba_users where ACCOUNT_STATUS<>'LOCK' and ACCOUNT_STATUS not like 'EXPIRED%LOCKED';
set lin 120
col username for a10
col profile for a15
col account_status for a10
select b.username,b.profile,b.account_status,b.created,a.ptime,b.lock_date,b.expiry_date from
(select * from sys.user$) a,
(select * from dba_users) b
where a.name=b.username and ACCOUNT_STATUS<>'LOCK' and ACCOUNT_STATUS not like 'EXPIRED%LOCKED';
使用utlpwdmg.sql脚本创建密码复杂度校验函数。
@ $ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql
oracle 重置密码(一般电网,国企需要的二级等保)的更多相关文章
- Oracle重置过期的密码
过期的原因一般有两种可能: 一.由于Oracle 11g在默认的default概要文件中设置了“PASSWORD_LIFE_TIME=180”天导致: 这种情况的解决办法: 1.查看用户的proi ...
- Oracle数据库密码过期重置
oracle登陆密码过期了 这种情况,先连接Oracle,以Oracle用户登录,再输入以下命令: 1,linux系统下,以oracle用户登录进去: su - oracle 2,以系统dba身份登录 ...
- CentOS7中MariaDB重置密码
虚拟机里的MariaDB忘记密码了,连接不上,只能重置MariaDB的密码,步骤参考网络 [root@localhost ~]# mysql -uroot -p Enter password: ERR ...
- weblogic11g 修改密码和重置密码【原】
修改密码 知道密码的情况下,可参考该链接 http://www.cnblogs.com/may12138/p/6022946.html 或 http://www.cnblogs.com/lsdb/p/ ...
- oracle 数据库密码生产同步模拟环境 ,随记常用命令
1.查看当前open用户 select username,account_status,expiry_date,profile from dba_users; 2.查看目前的密码过期策略 select ...
- mysql重置密码和mysql error 1044(42000)错误
#mysql错误:(密码不正确,需要重置密码) ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...
- Oracle 11g密码过期问题及解决方案
问题: 在自用的一个系统里,连接的是本地自建的一个数据库.用sqldeveloper登录数据库.提示如下图: 提示:密码过期 解决方案: 密码过期一般存在两种可能: 由于Oracle中默认在defau ...
- MVC5 网站开发之六 管理员 2、添加、删除、重置密码、修改密码、列表浏览
目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据存储层功能实现 MVC5 网站开发之四 业务逻辑层的架构和基本功能 MVC5 网 ...
- Oracle 11g密码过期问题解决方案
[问题描述]近日,使用sqlplus登陆短消息Oracle(Oracle培训 )数据库时提示“ORA-28000: 帐号被锁定”.[原因/触发因素]确定是由于oracle11g中默认在default概 ...
随机推荐
- 面试准备一个访问一个URL的过程简版
客户端获取URL - > DNS解析 - > TCP连接 - >发送HTTP请求 - >服务器处理请求 - >返回报文 - >浏览器解析渲染页面 - > TC ...
- 局域网与internet
凡是由能彼此通信的设备组成的网络就叫互联网,即使仅有两台机器(计算机.手机等),不论用何种技术使其彼此通信,都叫互联网, 所以,互联网有广域网.城域网及局域网之分. 国际标准的互联网写法是intern ...
- 黑马vue---8-10、v-cloak、v-text、v-html、v-bind、v-on的基本使用
黑马vue---8-10.v-cloak.v-text.v-html.v-bind.v-on的基本使用 一.总结 一句话总结: v-bind等这些东西都是用的vue.data里面的变量 1.使用 v- ...
- Java——重写hashCode()和euqals()方法
1.顺序表的问题 查找和去重效率较低 对于这样的顺序表来说,如果需要查找元素,就需要从第一个元素逐个检查,进行查找.对于需要去重的存储来说,每次存入一个元素之前,就得将列表中的每个元素都比对一遍,效率 ...
- win10 c++程序打包
步骤如下: 1. 先动态编译连链接,生成exe: 2. 找到exe依赖的dll文件 使用Process Explore来获取所依赖的dll文件 打开procexp.exe,通过菜单View–Lower ...
- 云服务器 ECS 是什么?
云服务器 Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务.使用云服务器 ECS 就像使用水.电.煤气等资源一样便捷.高效.您无需提前采购硬件设备,而是根据业务 ...
- CentOS7性能监控系统安装
想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的: 采集数据(collectd)-> 存储数 ...
- 基于OpenCV的循环行、列移动函数circShift()
///*12 在Matlab中有个circShift()函数,可以实现行.列的循环移动 /// 在返卷积运算中,会用到这个函数.所以,在Opencv中我也定义同样 /// 功能的函数 /// 该函数有 ...
- Python学习之格式化简述
2.2 格式化输出 2.2.1 占位符 %s就是代表字符串占位符:%d是数字占位符,%i 也可以表示数字,如果把变量后⾯的换成%d,就代表必须只能输⼊数字这时对应的数据必须是int类型. 否则程序 ...
- Leetcode之深度+广度优先搜索(DFS+BFS)专题-934. 最短的桥(Shortest Bridge)
Leetcode之广度优先搜索(BFS)专题-934. 最短的桥(Shortest Bridge) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ary ...