我的许多用户都不使用SQLPlus。我不能给他们更改用户。我们每60天使密码失效一次。
我无法在SQL Developer中使用SQLPlus命令“密码”。
- 当我点击运行时,我得到一个无效的命令错误
- 当我点击运行脚本时,什么也没有发生。
因为我们有很多数据库,所以我不想为他们写一个更改密码的软件包。我有更好的选择吗?
我的许多用户都不使用SQLPlus。我不能给他们更改用户。我们每60天使密码失效一次。
我无法在SQL Developer中使用SQLPlus命令“密码”。
因为我们有很多数据库,所以我不想为他们写一个更改密码的软件包。我有更好的选择吗?
Answers:
使用SQL Developer更新密码的正确语法是:
alter user
user_name
identified by
new_password
replace
old_password
;
您可以在此处检查此命令的更多选项:ALTER USER-Oracle DOCS
alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"
有关更多信息,请访问asktom.oracle.com/pls/asktom/…–
SQL Developer具有内置的重置密码选项,该选项可能适合您的情况。它也需要将Oracle Instant Client添加到工作站。当SQL Server启动时即时客户端位于路径中时,您将启用以下选项:
Oracle Instant Client不需要管理员权限即可安装,只需具有写入目录并将该目录添加到用户路径的功能即可。大多数用户都有执行此操作的特权。
概述:为了在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的另一种配置是:
(OS X)请参考此问题来解决与DYLD_LIBRARY_PATH环境变量有关的问题。我使用以下命令,然后重新启动SQL Developer进行更改:
$ launchctl setenv DYLD_LIBRARY_PATH / path / to / oracle / instantclient_11_2
根据管理员设置,您可能必须使用REPLACE选项指定旧密码。
alter user <username> identified by <newpassword> replace <oldpassword>
我意识到有很多答案,但是我找到了一个可能对某些人有用的解决方案。我遇到了同样的问题,我在本地计算机上运行oracle sql development,并且有很多用户。我碰巧记得一个用户的密码,并用它来重置其他用户的密码。
脚步:
使用有效的用户名和密码连接到数据库,在本例中,除“系统”外,我的所有用户均已过期,我记得该密码
在树中找到“ Other_users”节点,如下图所示
3.在“ Other_users”树中找到您要重置密码的用户,然后右键单击注释并选择“ Edit Users”
4.在“编辑用户”对话框中填写新密码,然后单击“应用”。确保您未选中“密码已过期(用户必须更改下一次登录名)”。
这对我有用,它不如其他解决方案好,因为您需要能够登录至少一个帐户,但它确实有效。
我确认这可以在SQL Developer 3.0.04中使用。我们的密码必须具有特殊字符,因此在本例中需要双引号字符串。当然,这仅在密码尚未过期且您当前已登录时才有效。
ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
您可以在DBA_USERS表中找到该用户,例如
SELECT profile
FROM dba_users
WHERE username = 'MacsP'
现在转到sys / system(管理员)并使用查询
ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"
要验证帐户状态,只需通过
SELECT * FROM DBA_USERS.
您可以看到您的用户状态。
现在,您可以在SQL Developer 4.1.0.17中执行此操作,不需要PL / SQL,前提是您拥有另一个具有管理特权的帐户:
还有另一种通过命令提示符重置密码的方法...
1)在开始菜单中转到Oracle数据库文件夹(在我的情况下为Oracle Database 11g Express Edition)。
2)在该文件夹中,单击 “运行SQL命令行”
3)输入 “ 连接的用户名/密码不带引号”(用户名和旧密码)
4)显示的消息是...
错误:ORA-28001:密码已过期
更改密码为hr
->新密码:
5)输入新密码
6)重新输入新密码
7)显示的消息是...
密码已更改已连接。
SQL>
8)转到SQL开发人员->键入新密码->连接
对于可能没有为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;