如何解锁Oracle数据库中账号

在创建Oracle数据库时,其中SYS登录Oracle数据库在SQL*Plus工具通过如下SQL解锁。

1、通过数据字典dba_users,查看Oracle账户的锁定状态,如下:(v其中,OPEN表示账户为解锁状态;EXPIRED表示账户为过期状态(需要设置口令才能解除此状态);LOCKED表示账户为锁定状态。)

2、先通过查询有哪些账号被锁

select username,account_status from dba_users;

3、下面使用ALTER USER语句为scott账户解锁:

ALTER USER scott ACCOUNT UNLOCK;

再使用ALTER USER语句为scott账户修改密码口令,如下:

ALTER USER scott IDENTIFIED BY tiger; 

通过数据字典dba_users查看现在scott账户的状态,如下:通过查询结果可以看出,scott账户已经被成功解锁。在使用数据字典dba_users时,需要注意其字段的值是区分大小的

相关账号其它策略

--1.
--系统参数配置  connect sys/password@db_link as sysdba

select * from dba_profiles where resource_name like 'FAILED_LOGIN_ATTEMPTS%';


--1 DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
--连续错误连接10次用户被锁定
--2.
--查看被锁的用户
select LOCK_DATE,username from dba_users where username='USERNAME';
LOCK_DATE为空说明没有锁定,非空为锁定。

-----
SELECT S.USERNAME,
      DECODE(L.TYPE, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
      O.OWNER,
      O.OBJECT_NAME,
      O.OBJECT_TYPE,
      S.SID,
      S.SERIAL#,
      S.TERMINAL,
      S.MACHINE,
      S.PROGRAM,
      S.OSUSER
  FROM V$SESSION S, V$LOCK L, DBA_OBJECTS O
WHERE S.SID = L.SID
  AND O.OBJECT_ID = L.ID1
  AND S.USERNAME IS NOT NULL;
--3.
--解锁方法
ALTER USER USER_NAME ACCOUNT UNLOCK;
--值的注意,在升级过程中,被锁的用户,有可能不值一个
--重新升级

-----设置系统的默认登录次数

alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 10;

alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED;

------------

数据管理员为这个用户单独设置了登录次数则要查找这个用户对应的profile,然后修改.可以查看用户的创建语名找到对应的设置。

Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用 Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该 profile的限制之内。

二、条件:

创建profile必须要有CREATE PROFILE的系统权限。

为用户指定资源限制,必须:

1.动态地使用alter system或使用初始化参数resource_limit使资源限制生效。该改变对密码资源无效,密码资源总是可用。

SQL> show parameter resource_limit

NAME                                TYPE        VALUE

———————————— ———– ——————————

resource_limit                      boolean    FALSE

SQL> alter system set resource_limit=true;

系统已更改。

SQL> show parameter resource_limit;

NAME                                TYPE        VALUE

———————————— ———– ——————————

resource_limit                      boolean    TRUE

SQL>

2.使用create profile创建一个定义对数据库资源进行限制的profile。

3.使用create user 或alter user命令把profile分配给用户。

三、语法:

    CREATE PROFILE profile
LIMIT { resource_parameters | password_parameters } [ resource_parameters | password_parameters ]… ;

<resource_parameters>

{{ SESSIONS_PER_USER | CPU_PER_SESSION | CPU_PER_CALL | CONNECT_TIME | IDLE_TIME | LOGICAL_READS_PER_SESSION | LOGICAL_READS_PER_CALL | COMPOSITE_LIMIT } { integer | UNLIMITED | DEFAULT }
| PRIVATE_SGA { integer [ K | M ] | UNLIMITED | DEFAULT }}

< password_parameters >

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/897aaa0183662cfe1bfd32b540d86c47.html