首页>软件资讯>常见问题

常见问题

如何解锁 Oracle 数据库中的帐户

发布时间:2022-11-25 17:33:41人气:1210

本文介绍了如何解锁 Oracle 数据库中的用户帐户。作为数据库管理员,管理数据库的安全性是一项至关重要的任务。DBA 必须跟踪 Oracle 数据库中所有成功和失败的身份验证。


如何解锁 Oracle 数据库中的帐户.png


在以前的组织中,我们不得不在员工辞职时删除他们的凭据。作为该过程的一部分,我们将用户从数据库中删除。有时,同一名员工重新加入公司。作为载入过程的一部分,我们必须在数据库中重新创建用户帐户。


重新创建用户很复杂,因为我们必须重新分配对架构和数据库对象的访问权限。因此,为了使流程更高效,我们决定锁定离开公司的用户。我们将用户保留一段时间,一旦得到确认,我们就会放弃用户。


在本文中,我将解释我们如何解锁 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 数据库中的帐户.png

oracle unlock account  1


或者,您可以使用ALTER SESSION命令访问可插入数据库。假设您使用SYS帐户连接到XE实例;运行以下语句以使用EltechDB。更改会话的命令如下:


SQL> ALTER SESSION SET CONTAINER = EltechDB;


如何解锁 Oracle 数据库中的帐户.png

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';


查询输出

3.png

oracle unlock account 3


如上图所示,ELTECHAPP帐户已锁定。让我们尝试使用ELTECHAPP帐户访问EltechDB。


sqlplus ELTECHAPP@Nisarg-PC:1521/eltechdb


输出

4.png

oracle unlock account 4


如您所见,该命令返回了一个错误。现在,若要解锁数据库中的帐户,请运行以下查询。


SQL>更改用户 ELTECHAPP 由 ELTECHAPP 帐户解锁识别;


5.png

oracle unlock account 5


帐户解锁后,尝试使用ELTECHAPP帐户访问EltechDB。


sqlplus ELTECHAPP@Nisarg-PC:1521/eltechdb


如您所见,ELTECHAPP帐户可以访问数据库。


6.png

oracle unlock account 6


现在,让我们了解如何使用 SQL 开发人员工具解锁用户。


如何使用 SQL 开发人员解锁用户。

SQL Developer 是由 Oracle 提供的软件,用于创建和管理各种数据库对象和用户。此外,我们可以运行 PL/SQL 脚本和查询来填充表中的数据。


若要解锁 Oracle 数据库中的用户帐户,请启动 SQL 开发人员工具并配置连接,如下图所示。

7.png

oracle unlock account 7


在连接窗格中,展开 Eltech à 展开其他用户 à 右键单击 EltechAPP à 选择编辑用户。

8.png

oracle unlock account 8


将打开对话框。

9.png

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 数据库中的帐户.png

oracle unlock account 10


如您所见,EltechAPP帐户已解锁。


免费试用Toad 30 天。

30 天免费试用


已经在试用中?与销售人员交谈或立即在线购买。


已经是Toad的忠实粉丝了吗?立即续订。

 

客服微信:

 客服微信.png

长按识别二维码添加


总结

在本文中,我们学习了解锁 Oracle 数据库中用户帐户的不同方法。



上一条:Toad软件多少钱-Toad软件报价

下一条:Toad for Oracle 订阅产品