本文介绍了如何解锁 Oracle 数据库中的用户帐户。作为数据库管理员,管理数据库的安全性是一项至关重要的任务。DBA 必须跟踪 Oracle 数据库中所有成功和失败的身份验证。
在以前的组织中,我们不得不在员工辞职时删除他们的凭据。作为该过程的一部分,我们将用户从数据库中删除。有时,同一名员工重新加入公司。作为载入过程的一部分,我们必须在数据库中重新创建用户帐户。
重新创建用户很复杂,因为我们必须重新分配对架构和数据库对象的访问权限。因此,为了使流程更高效,我们决定锁定离开公司的用户。我们将用户保留一段时间,一旦得到确认,我们就会放弃用户。
在本文中,我将解释我们如何解锁 Oracle 数据库中的用户帐户。我们将学习以下内容:
如何使用 SQL*Plus 解锁用户
如何使用 Oracle SQL Developer 解锁用户。
为了演示这些场景,我准备了一个包含以下详细信息的演示环境:
环境设置
我已经在我的工作站上安装了Oracle 21c速成版,并创建了一个名为EltechDB的可插拔数据库。我已经创建了三个用户,详细信息如下。
可插入数据库名称 | 用户名 |
埃尔特克数据库 | Eltech:具有系统管理员角色的用户。 EltechApp:具有有限访问权限的用户帐户。 Eltech_HR:具有有限访问权限的用户帐户。 |
我将演示我们如何锁定和解锁EltechApp用户。
如何使用 SQL*Plus 解锁用户。
要解锁 Oracle 数据库中的现有用户帐户,我们可以使用 ALTER USER ACCOUNT UNLOCK 语句。语法如下。
更改由[new_password]帐户解锁标识的用户[user_name];
在语法中,
user_name:提供要锁定的用户名。用户必须存在于可插入数据库中。
new_password:当我们解锁任何用户时,我们必须指定新密码,因为旧密码已过期,必须重置。
首先,使用 SYS 用户连接到可插入数据库以解锁任何用户。我们正在连接到一个可插拔的数据库;因此,SQLPLUS 命令的语法是不同的。语法如下:
sqlplus [user_name]@[host_name]:[port_number]/[pluggable_database]
在我们的例子中,我们正在连接到EltechDB数据库;因此 SQL*Plus 连接命令如下所示
sqlplus sys@Nisarg-PC:1521/eltechDB as sysdba
oracle unlock account 1
或者,您可以使用ALTER SESSION命令访问可插入数据库。假设您使用SYS帐户连接到XE实例;运行以下语句以使用EltechDB。更改会话的命令如下:
SQL> ALTER SESSION SET CONTAINER = EltechDB;
oracle unlock account 2
现在,让我们填充锁定用户的列表。
我们可以使用dba_users数据字典视图,但它显示普通用户和系统用户。系统用户由 Oracle 创建和维护。因此,为了过滤、Oracle 维护的用户,我们将使用一个名为all_users 的数据字典视图。在all_users数据字典视图中,可以通过设置oracle_maintened='N' 的值来筛选 oracle 维护的用户。
我们将连接两个数据字典视图以填充锁定的用户。最后一个查询如下:
列用户名标题“用户名” 格式 A15
标题“帐户状态”的列ACCOUNT_STATUS 格式 A15
选择 dbauser.username,dbauser.account_status 从 alluser.user_id=dbauser.user_id all_users AllUser 内部联接dba_users dbauser 中,其中 alluser.oracle_maintained = 'N';
查询输出
oracle unlock account 3
如上图所示,ELTECHAPP帐户已锁定。让我们尝试使用ELTECHAPP帐户访问EltechDB。
sqlplus ELTECHAPP@Nisarg-PC:1521/eltechdb
输出
oracle unlock account 4
如您所见,该命令返回了一个错误。现在,若要解锁数据库中的帐户,请运行以下查询。
SQL>更改用户 ELTECHAPP 由 ELTECHAPP 帐户解锁识别;
oracle unlock account 5
帐户解锁后,尝试使用ELTECHAPP帐户访问EltechDB。
sqlplus ELTECHAPP@Nisarg-PC:1521/eltechdb
如您所见,ELTECHAPP帐户可以访问数据库。
oracle unlock account 6
现在,让我们了解如何使用 SQL 开发人员工具解锁用户。
如何使用 SQL 开发人员解锁用户。
SQL Developer 是由 Oracle 提供的软件,用于创建和管理各种数据库对象和用户。此外,我们可以运行 PL/SQL 脚本和查询来填充表中的数据。
若要解锁 Oracle 数据库中的用户帐户,请启动 SQL 开发人员工具并配置连接,如下图所示。
oracle unlock account 7
在连接窗格中,展开 Eltech à 展开其他用户 à 右键单击 EltechAPP à 选择编辑用户。
oracle unlock account 8
将打开对话框。
oracle unlock account 9
在对话框中,您可以看到选项已选中“帐户已锁定”。取消选中帐户已锁定选项,然后在新密码和确认密码文本框中指定新密码。单击“应用”以解锁用户并关闭对话框。
若要验证更改,请运行以下查询
列用户名标题“用户名” 格式 A15
标题“帐户状态”的列ACCOUNT_STATUS 格式 A15
选择 dbauser.username,dbauser.account_status 从 alluser.user_id=dbauser.user_id all_users AllUser 内部联接dba_users dbauser 中,其中 alluser.oracle_maintained = 'N';
查询输出
oracle unlock account 10
如您所见,EltechAPP帐户已解锁。
免费试用Toad 30 天。
30 天免费试用
已经在试用中?与销售人员交谈或立即在线购买。
已经是Toad的忠实粉丝了吗?立即续订。
客服微信:
长按识别二维码添加
总结
在本文中,我们学习了解锁 Oracle 数据库中用户帐户的不同方法。
上一条:Toad软件多少钱-Toad软件报价
下一条:Toad for Oracle 订阅产品