用oracle的SQL Developer更改密码

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

我不能得到sqlplus命令“密码”在SQL开发工作。

  1. 当我运行时,我得到一个无效的命令错误
  2. 当我运行脚本时,没有任何反应。

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

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

“new_password”标识的alter user user_namereplace“old_password” ;

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

在SQL工作表中:

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

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

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

Oracle Instant Client不需要pipe理员权限即可安装,只需写入目录并将该目录添加到用户path即可。 大多数用户都有权这样做。

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

  1. 您必须将Oracle Instant Client解压到目录中
  2. 您必须将Oracle Instant Client目录添加到用户path
  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版上testing)识别和使用OS X上的即时客户端的另一种configuration是:

  1. 在首选项 – >数据库 – >高级 – >使用Oracle客户端中设置Instant Client的path
  2. validation实例客户端可以使用首选项对话框中的configuration… – >testing…选项成功加载
  3. (OS X)请参阅此问题以解决与DYLD_LIBRARY_PATH环境variables有关的问题。 我使用了下面的命令,然后重新启动了SQL Developer来获取更改:

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

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

根据pipe理员设置,您可能需要使用REPLACE选项指定旧密码

 alter user <username> identified by <newpassword> replace <oldpassword> 

为了说清楚一点:

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

alter user abcdefm987n654标识replace为a123b456 ;

我确认这在SQL Developer 3.0.04中的作品。 我们的密码必须有一个特殊的字符,所以在我们的情况下,需要双引号的string。 当然,这只有在密码尚未过期并且当前已login的情况下才有效。

 ALTER USER MYUSERID IDENTIFIED BY "new#password" REPLACE "old#password" 

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

脚步:

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

  2. find树中的“Other_users”节点,如下图所示

在这里输入图像说明

3.在“Other_users”树中find你想要重置密码的用户,并右键单击该注释并select“编辑用户”

在这里输入图像说明

4.在编辑用户对话框中填写新的密码,然后点击“应用”。 确保你没有选中“密码过期(用户必须改变下一次login)”。

在这里输入图像说明

这对我很有用,它不如其他解决scheme,因为您需要能够login到至less一个帐户,但它确实工作。

你可以在DBA_USERS表中find像这样的用户

 SELECT profile FROM dba_users WHERE username = 'MacsP' 

现在转到sys / system(pipe理员)并使用查询

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

validation帐户状态只需要通过

 SELECT * FROM DBA_USERS. 

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

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

  1. 使用另一个pipe理用户在SQL Developer 4.1.0.17中创build到数据库的连接
  2. 连接后展开“其他用户”部分,然后右键单击密码已过期的用户。 select“编辑用户”。
  3. 取消勾选“密码过期…”checkbox,为用户input新密码,然后点击“保存”。
  4. 任务完成! 您可以通过连接密码已过期的用户进行testing,以确认它现在再次有效。

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

 ALTER user "user" identified by "NewPassword" replace "OldPassword"; 

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

1)在开始菜单中进入Oracle数据库文件夹(在我的情况下Oracle数据库11g速成版)。

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

Oracle数据库文件夹映像

3)input“ 连接用户名/密码 ”(您的用户名和旧密码不带引号)

4)显示的信息是…

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

更改hr的密码

– >新密码:

input用户名,密码图片

5)input新的密码

6)重新input新的密码

7) 显示的消息是…

密码已更改连接。

SQL>

8)转到Sql开发人员 – >input新密码 – >连接

对于那些可能没有为sysdba或sys设置密码并定期使用第三方客户端的人来说是一个注意事项。 这里有一些关于login到命令行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 

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

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

在我的情况下,我有用户“oracle”与密码“甲骨文”,所以我的input看起来像

 connect oracle/oracle@XE 

完成。 现在input你的新密码两次。 那么如果你不想让你的密码过期,你可以运行

 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;