146

我的许多用户不使用 SQLPlus。我不能给他们更改用户。我们每 60 天过期一次密码。

我无法让 SQLPlus 命令“密码”在 SQL 开发人员中工作。

  1. 当我点击运行时,我得到一个无效的命令错误
  2. 当我点击运行脚本时,什么也没有发生。

我不想给他们写一个包来改变他们的密码,因为我们有很多数据库。我有更好的选择吗?

4

15 回答 15

198

使用SQL Developer更新密码的正确语法是:

alter user user_name identified by new_password replace old_password;

您可以在此处查看此命令的更多选项:ALTER USER-Oracle DOCS

于 2012-05-30T02:09:16.870 回答
108

在 SQL 工作表中:

  • 输入“密码”(不带引号)

  • 突出显示,点击CTRL+ ENTER

  • 密码更改屏幕出现。

于 2013-02-04T22:21:19.583 回答
72

SQL Developer 有一个内置的重置密码选项,可能适用于您的情况。它还需要将 Oracle Instant Client 添加到工作站。当 SQL 开发人员启动时即时客户端位于路径中时,您将启用以下选项:

SQL Developer:显示重置密码选项的下拉菜单

Oracle Instant Client 不需要管理员权限即可安装,只需写入目录并将该目录添加到用户路径即可。大多数用户都有权执行此操作。

回顾:为了在 Oracle SQL Developer 上使用重置密码:

  1. 您必须将 Oracle Instant Client 解压到一个目录中
  2. 您必须将 Oracle Instant Client 目录添加到用户路径
  3. 然后您必须重新启动 Oracle SQL Developer

此时,您可以右键单击数据源并重置密码。

有关完整的演练,请参阅http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/

另请参阅 oracle 文档中的评论:http: //docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

让 SQL Developer(在 4.0.1 版上测试)识别和使用 OS X 上的 Instant Client 的另一种配置是:

  1. 在 Preferences -> Database -> Advanced -> Use Oracle Client 中设置 Instant Client 的路径
  2. 验证实例客户端是否可以使用首选项对话框中的配置... -> 测试... 选项成功加载
  3. (OS X) 请参阅此问题以解决与 DYLD_LIBRARY_PATH 环境变量相关的问题。我使用了以下命令,然后重新启动 SQL Developer 以获取更改:

    $ launchctl setenv DYLD_LIBRARY_PATH /path/to/oracle/instantclient_11_2

于 2013-03-07T17:59:01.777 回答
24

您的用户仍然可以通过“alter user onlyTheirUserName identify by newpassword”来更改他们的密码。他们不必具有 ALTER USER 权限来更改自己的密码。

于 2010-06-21T17:03:51.370 回答
17

根据管理员设置,您可能必须使用 REPLACE 选项指定旧密码

alter user <username> identified by <newpassword> replace <oldpassword> 
于 2012-02-06T14:13:59.820 回答
10

说清楚一点:

如果用户名:abcdef,旧密码:a123b456,新密码:m987n654

更改由m987n654识别的用户abcdef替换a123b456

于 2012-03-07T15:44:22.303 回答
9

我意识到有很多答案,但我找到了一个可能对某些人有帮助的解决方案。我遇到了同样的问题,我在本地计算机上运行 oracle sql develop 并且我有很多用户。我碰巧记得我的一个用户的密码,我用它来重置其他用户的密码。

脚步:

  1. 使用有效的用户名和密码连接到数据库,在我的情况下,我的所有用户都已过期,除了“系统”,我记得密码

  2. 在树中找到“Other_users”节点,如下图所示

在此处输入图像描述

3.在“Other_users”树中找到您要重置密码的用户,然后右键单击注释并选择“编辑用户”

在此处输入图像描述

4.在编辑用户对话框中填写新密码,然后单击“应用”。确保您未选中“密码已过期(用户必须更改下次登录)”。

在此处输入图像描述

这对我有用,它不如其他解决方案好,因为您需要能够登录至少一个帐户,但它确实有效。

于 2017-01-03T15:03:53.367 回答
7

我确认这在 SQL Developer 3.0.04 中有效。我们的密码需要有一个特殊字符,所以在我们的例子中需要双引号字符串。当然,这只适用于密码尚未过期且您当前已登录的情况。

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
于 2012-11-15T17:08:29.230 回答
5

如果(SQL Developer 的)重置密码选项不起作用,请尝试此解决方案:

第一步:打开运行 SQL 命令行(从开始菜单,附带 SQL Developer 安装包)

第 2 步:运行以下命令:

在此处输入图像描述

注意:如果密码已经过期,Changing password for <user>选项会自动出现。

于 2019-03-10T07:13:50.790 回答
2

内置的重置密码选项可能对用户不起作用。在这种情况下,可以使用以下 SQL 语句重置密码:

ALTER user "user" identified by "NewPassword" replace "OldPassword";
于 2013-08-16T13:05:04.273 回答
2

还有另一种通过命令提示符重置密码的方法...

1) 转到开始菜单中的 Oracle 数据库文件夹(在我的例子中是 Oracle 数据库 11g 快捷版)。

2)在该文件夹中单击“运行SQL命令行”

Oracle 数据库文件夹映像

3)输入connect username/password ”(你的用户名和旧密码不带引号)

4) 显示的消息是...

错误:ORA-28001:密码已过期

修改hr密码

--> 新密码:

输入用户名、密码图片

5) 输入新密码

6) 重新输入新密码

7)显示的消息是...

密码已更改 已连接。

SQL>

8) GO TO Sql developer --> 输入新密码 --> 已连接

于 2015-11-22T10:28:05.810 回答
1

您可以在 DBA_USERS 表中找到用户,例如

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

现在转到系统/系统(管理员)并使用查询

ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"

要验证帐户状态,只需通过

SELECT * FROM DBA_USERS.

你可以看到你的用户的状态。

于 2013-10-03T18:16:09.840 回答
1

您现在可以在SQL Developer 4.1.0.17中执行此操作,不需要 PL/SQL,假设您有另一个具有管理权限的帐户:

  1. 使用备用管理用户在 SQL Developer 4.1.0.17 中创建与数据库的连接
  2. 连接后展开“其他用户”部分,然后右键单击密码已过期的用户。选择“编辑用户”。
  3. 取消选中“密码过期...”复选框,输入用户的新密码,然后点击“保存”。
  4. 任务完成!您可以通过连接密码已过期的用户进行测试,以确认它现在再次有效。
于 2015-02-14T09:28:37.980 回答
1

给那些可能没有设置 sysdba 或 sys 密码并经常使用第三方客户端的人的注意事项。这是一些有关在没有密码的情况下登录命令行 sqlplus 的信息,这对我有帮助。顺便说一句,我正在使用 Fedora 21。

locate sqlplus

就我而言,sqlplus 位于此处:

/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

现在运行

cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

现在您需要使用旧凭据连接到数据库。您可以在输出中找到 Oracle 提供的模板:

Use "connect username/password@XE" to connect to the database.

就我而言,我有用户“oracle”,密码为“oracle”,所以我的输入看起来像

connect oracle/oracle@XE

完毕。现在输入您的新密码两次。然后,如果您不希望密码过期,您可以运行

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
于 2016-03-28T03:54:44.380 回答
0

我使用版本 21.2.0.187(2021 年 7 月发布)。

有一个重置按钮,可让您将密码重置为新密码,如下图所示。您可以通过在连接上单击鼠标右键来访问它。

我重置密码,然后使用新密码登录。

在此处输入图像描述 在此处输入图像描述

于 2021-08-11T03:29:29.677 回答