使用Oracle SQL Developer更改密码

Bob*_*Bob 135 oracle oracle-sqldeveloper

我的许多用户都不使用SQLPlus.我不能给他们改变用户.我们每隔60天就会过期密码.

我无法在SQL开发人员中使用SQLPlus命令"password".

  1. 当我点击运行时,我收到无效的命令错误
  2. 当我点击运行脚本时,没有任何反应.

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

Ame*_*non 183

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

alter user_name"new_password"标识,取代 "old_password" ;

您可以在此处查看此命令的更多选项:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_4003.htm#i2058207

  • 此外,您可能需要将密码用双引号括起来以转义密码中的任何特殊字符.例如,`alter user __user_name__由"newp @ ss !!!"识别 取代 "oldp @ SS !!!"`更多信息在http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:897930000346894755 (26认同)
  • 如果你的pwd已经过期,那么祝你好运登录以运行它.答案一个问题,但不是问题. (6认同)

小智 98

在SQL工作表中:

键入"密码"(不带引号)突出显示,按CTRL + ENTER.密码更改屏幕出现.

  • 你也可以做"密码someusername" (4认同)
  • 我想你的意思是"运行声明"动作.默认快捷方式似乎是**Ctrl + Enter**. (3认同)

Fro*_*bit 67

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. 在首选项 - >数据库 - >高级 - >使用Oracle客户端中设置Instant Client的路径
  2. 验证可以使用首选项对话框中的配置... - >测试...选项成功加载实例客户端
  3. (OS X)请参阅此问题以解决与DYLD_LIBRARY_PATH环境变量相关的问题.我使用以下命令,然后重新启动SQL Developer以获取更改:

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


dpb*_*ley 24

您的用户仍然可以通过"更改用户onlyTheirUserName由newpassword标识"来更改其密码.他们不必拥有ALTER USER权限即可更改自己的密码.


Ger*_*ich 16

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

alter user <username> identified by <newpassword> replace <oldpassword> 
Run Code Online (Sandbox Code Playgroud)

  • 这个答案是错误的。newpassword和oldpassword会转置。请改用http://stackoverflow.com/a/10809140/643483 (2认同)

小智 10

为了说清楚一点:

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

m987n654标识的alter user abcdef替换a123b456 ;


小智 7

我确认这在SQL Developer 3.0.04中有效.我们的密码必须具有特殊字符,因此在我们的案例中需要双​​引号字符串.当然,这仅在密码尚未过期且您当前已登录时才有效.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
Run Code Online (Sandbox Code Playgroud)

  • 这个答案是对的.newpassword和oldpassword被转置.请改用http://stackoverflow.com/a/10809140/643483 (3认同)

Saa*_*d A 7

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

脚步:

  1. 使用有效的用户名和密码连接到数据库,在本例中,除“系统”外,我的所有用户均已过期,我记得该密码

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

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

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


Leo*_*Leo 5

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

第一步:打开Run SQL Command Line(从开始菜单,SQL Developer安装包自带)

第 2 步:运行以下命令:

在此处输入图片说明

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