我的许多用户都不使用SQLPlus。我不能给他们改变用户。我们每隔60天就会过期密码。
我无法在SQL开发人员中使用SQLPlus命令“password”。
我不想写一个包来更改密码,因为我们有很多数据库。我有更好的选择吗?
答案 0 :(得分:171)
使用SQL Developer更新密码的正确语法是:
更改“new_password”标识的用户 user_name 替换 “old_password”;
您可以在此处查看此命令的更多选项:http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_4003.htm#i2058207
答案 1 :(得分:93)
在SQL工作表中:
输入“密码”(不含引号) 突出显示,按CTRL + ENTER。 密码更改屏幕出现。
答案 2 :(得分:57)
SQL Developer有一个内置的重置密码选项,可以适用于您的情况。它还需要将Oracle Instant Client添加到工作站。当SQL开发人员启动时,当即时客户端位于路径中时,您将启用以下选项:
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)请参阅this question以解决与DYLD_LIBRARY_PATH环境变量相关的问题。我使用以下命令,然后重新启动SQL Developer来获取更改:
$ launchctl setenv DYLD_LIBRARY_PATH / path / to / oracle / instantclient_11_2
答案 3 :(得分:23)
您的用户仍然可以通过“更改用户 onlyTheirUserName 更新密码”。他们没有ALTER USER权限来更改自己的密码。
答案 4 :(得分:13)
根据管理员设置,您可能必须使用REPLACE选项指定旧密码
alter user <username> identified by <newpassword> replace <oldpassword>
答案 5 :(得分:10)
要说清楚一点:
如果用户名:abcdef和旧密码:a123b456,新密码:m987n654
更改用户 abcdef 标识为 m987n654 替换 a123b456 ;
答案 6 :(得分:7)
我确认这在SQL Developer 3.0.04中有效。我们的密码必须具有特殊字符,因此在我们的案例中需要双引号字符串。当然,这仅在密码尚未过期且您当前已登录时才有效。
ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
答案 7 :(得分:6)
我意识到答案很多,但我找到了一个可能对某些人有帮助的解决方案。我遇到了同样的问题,我在本地计算机上运行oracle sql develop并且我有一堆用户。我碰巧记得我的一个用户的密码,我用它来重置其他用户的密码。
步骤:
答案 8 :(得分:2)
内置的重置密码选项可能对用户不起作用。在这种情况下,可以使用以下SQL语句重置密码:
ALTER user "user" identified by "NewPassword" replace "OldPassword";
答案 9 :(得分:1)
您可以在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.
您可以看到用户的状态。
答案 10 :(得分:1)
您现在可以在SQL Developer 4.1.0.17中执行此操作,不需要PL / SQL,假设您有另一个具有管理权限的帐户:
答案 11 :(得分:1)
通过命令提示 重置密码还有另一种方式...
1)转到START MENU中的Oracle数据库文件夹(在我的案例中为Oracle Database 11g Express Edition)。
2)在该文件夹中点击&#34;运行SQL命令行&#34;
3)输入&#34; 连接用户名/密码&#34; (您的用户名和没有引号的旧密码)
4)显示的信息是......
错误: ORA-28001:密码已过期
更改hr的密码
- &GT;新密码:
Enter Username, Password image
5)输入新密码
6)重新输入新密码
7)显示的消息是......
密码已更改 连接。
SQL&GT;
8)转到Sql开发人员 - &gt;输入新密码 - &gt;连接
答案 12 :(得分:0)
对于可能没有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.
在我的情况下,我有用户&#34; oracle&#34;用密码&#34; oracle&#34;所以我的输入看起来像
connect oracle/oracle@XE
完成。现在输入两次新密码。 然后,如果您不希望密码过期,则可以运行
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
答案 13 :(得分:0)
尝试此解决方案如果(SQL Developer)“重置密码”选项无效:
步骤1:打开“运行SQL命令行”(从SQL Developer安装软件包随附的开始菜单中)
第2步:运行以下命令:
注意:如果密码已经过期, Public ICommand PickFromThreePageCommand {get; set;}
选项将自动出现。
答案 14 :(得分:0)