我的许多用户不使用 SQLPlus。我不能给他们更改用户。我们每60天过期的密码。
我无法在 SQL 开发人员中使用 SQLPlus 命令“ password”。
我不想给他们写一个修改密码的软件包,因为我们有很多数据库。我有更好的选择吗?
您的用户仍然可以通过“通过 newpassword 更改用户 只有他们的用户名”来更改他们的密码。他们不必拥有 ALTERUSER 特权来更改自己的密码。
根据管理设置的不同,可能必须使用 REPLACE 选项指定旧密码
alter user <username> identified by <newpassword> replace <oldpassword>
先说清楚:
如果用户名: abcdef 和旧密码: a123b456,则新密码: m987n654
改变由 M987n654识别的用户 当然取代 A123b456;
使用 SQL 开发人员更新密码的正确语法是:
alter user user_name identified by new_password replace old_password 强 > ;
alter user
user_name
identified by
new_password
replace
old_password
您可以在这里为这个命令检查更多选项: 更改用户-Oracle 文档
我确认这在 SQL Developer 3.0.04中是可行的。我们的密码需要有一个特殊的字符,因此在我们的例子中需要使用双引号字符串。当然,这只有在密码尚未过期并且您当前正在登录的情况下才有效。
ALTER USER MYUSERID IDENTIFIED BY "new#password" REPLACE "old#password"
在 SQL 工作表中:
输入“ password”(不要引号)
高光,按 CTRL + ENTER。
密码更改屏幕出现。
SQLDeveloper 有一个内置的重置密码选项,可能适合您的情况。它还需要将 OracleInstantClient 添加到工作站。当 SQL 开发人员启动时,即时客户机处于路径中时,将启用以下选项:
Oracle Instant Client 不需要管理员权限来安装,只需要能够写入目录并将该目录添加到用户路径。大多数用户都有这样做的特权。
概述: 为了在 OracleSQLDeveloper 上使用重置密码:
此时,您可以右键单击数据源并重置密码。
请参阅 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 上的即时客户端的另一种配置是:
(OS X)请参阅 这个问题以解决与 DYLD _ librARY _ PATH 环境变量相关的问题。我使用了以下命令,然后重新启动 SQLDeveloper 以获取更改:
$launchctl setenv DYLD _ LIBRARY _ PATH/path/to/oracle/instclient _ 11 _ 2
内置的重置密码选项可能不适用于用户。在这种情况下,可以使用以下 SQL 语句重置密码:
ALTER user "user" identified by "NewPassword" replace "OldPassword";
您可以在 DBA _ USERS 表中找到用户,如
SELECT profile FROM dba_users WHERE username = 'MacsP'
现在转到 sys/system (管理员)并使用 query
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 数据库11g Express Edition)。
2)在该文件夹 点击内“运行 SQL 命令行”
Oracle 数据库文件夹映像
3) 类型“ 连接用户名/密码”(没有引号的用户名和旧密码)
4)显示的信息是..。
错误: ORA-28001: 密码已过期
更改 hr 的密码
新密码:
输入用户名,密码图像
5)输入新密码
6)重新输入新密码
7) 显示的信息是..。
密码改了 连接。
SQL >
8)转到 Sql 开发人员—— > 键入新密码—— > 连接
对于那些可能没有 sysdba 或 sys 的 set 密码并且经常使用第三方客户机的人,请注意。 下面是一些关于在没有密码的情况下登录到命令行 sqlplus 的信息。 顺便说一下,我用的是软呢帽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;
我意识到答案有很多,但我找到了一个可能对某些人有帮助的解决方案。我遇到了同样的问题,我在本地计算机上运行 oraclesql 开发,我有一些用户。我碰巧记得我的一个用户的密码,我用它来重置其他用户的密码。
步骤:
使用有效的用户和密码连接到数据库,在我的情况下,除了“系统”之外,所有用户都过期了,而且我记得那个密码
在树中找到“ Other _ users”节点,如下图所示
3.在“ Other _ Users”树中找到您想要重置密码的用户,然后右键单击注释并选择“ Edit Users”
4.在编辑用户对话框中填写新密码,然后点击“应用”。确保您没有选中“密码过期(用户必须更改下一次登录)”。
这对我来说是有效的,它不像其他解决方案那么好,因为你需要能够登录至少一个帐户,但它确实有效。
试试这个解决方案 如果重置密码选项(SQLDeveloper 的)不起作用:
步骤1: 打开“运行 SQL 命令行”(从“开始”菜单中,该菜单附带 SQLDeveloper 安装包)
步骤2: 运行以下命令:
注意: 如果密码已过期,Changing password for <user>选项将自动出现。
Changing password for <user>
我使用的是21.2.0.187版本(2021年7月发布)。
有一个重置按钮,使您能够将密码重置为新密码,如下图所示。你可以通过鼠标右键连接到它。
我休息的密码,然后用新的密码登录。