如何取出某一用户的密码,再原封不动的改回去?

本文介绍了一种在Oracle数据库中复原用户密码的方法,利用了未公开的特性关键字values。管理员可以通过设置特定的密码字符串来登录并执行所需操作。

下面这种方法在Oracle的SQL Reference文档中没有提到,关键字values是一个未公开的特性.

实现方法:
SQL> conn sys/oracle
SQL> select password from dba_users where username='USER1';(用户名大写)
记录该用户在数据库存储的密码:035DFA98F036A771

SQL> alter user USER1 identified by aaa;
SQL> conn user1/aaa
SQL> 执行你想要的操作...

SQL> conn sys/oracle
SQL> alter user USER1 identified by values '035DFA98F036A771';

通过这种方式,管理员可以用某个用户的名字进行数据库操作.

转载于:https://www.cnblogs.com/zyk/archive/2007/06/14/783306.html

<think>嗯,用户问的是是否需要原封不动地添加%JAVA_HOME%\bin到Path变量里。之前我已经给出了配置JAVA_HOME的步骤,现在用户可能对Path变量的具体设置还有疑问。首先,我需要确认用户是否理解环境变量Path的作用,以及%JAVA_HOME%这个变量的引用方式。 用户可能是在配置过程中遇到了问题,或者在按照步骤操作时不确定是否需要严格添加这个路径。可能他们之前尝试过其他方式,比如直接写绝对路径,但不确定哪种方式更好。或者他们可能看到了不同的教程,有的建议直接写路径,有的建议用变量引用,所以产生了困惑。 接下来,我需要解释%JAVA_HOME%\bin的作用。这个路径的作用是将JDK的bin目录添加到系统路径中,这样用户可以在任何位置运行java和javac等命令。如果用户直接写绝对路径,比如C:\Program Files\Java\jdk-17.0.2\bin,虽然也能工作,但旦JDK版本升级或路径改变,就需要手动修改,而使用变量引用的话,只需更新JAVA_HOME变量即可,更加灵活。 同时,用户可能需要确认是否应该严格保持%JAVA_HOME%\bin的写法,还是有其他变通方式。比如,是否需要引号包裹,或者是否允许有空格。这里需要说明,变量引用不需要引号,因为系统会自动解析,但如果路径中有空格,比如Program Files,变量引用会自动处理,不需要额外处理。不过,在某些旧脚本或特殊情况下可能需要引号,但般情况下不需要。 另外,用户可能会混淆JAVA_HOME和Path的关系。需要强调JAVA_HOME是个独立的变量,指向JDK的根目录,而Path中的%JAVA_HOME%\bin则是为了让系统找到可执行文件。两者必须配合使用,缺不可。 还可能存在用户添加了多个Java路径到Path中,导致冲突的情况。比如,之前可能安装了不同版本的JDK或者JRE,Path中有多个条目指向不同的Java路径。这时候需要检查Path变量,确保只有%JAVA_HOME%\bin这条,或者正确的顺序,避免系统找到错误的Java版本。 此外,用户可能对变量的大小写敏感有疑问,比如写成%BIN%或者混合大小写,但Windows系统通常不区分大小写,所以%JAVA_HOME%\bin的大小写不影响,但为了统,建议保持正确的大小写。 还有可能需要提醒用户,在修改环境变量后,需要重新打开命令行窗口,否则旧的变量值不会生效。这是常见的问题,很多用户在修改后没有重启命令行,导致检查时发现路径未更新。 最后,总结下:%JAVA_HOME%\bin需要原封不动地添加到Path变量中,这样可以利用变量引用的灵活性,方便未来维护。同时要确保JAVA_HOME本身指向正确的JDK根目录,没有多余的子目录如bin或jre。</think>--- 是的,**`%JAVA_HOME%\bin` 需要原封不动地添加到系统的 `Path` 变量中**。以下是详细解释和注意事项: --- ### **为什么要原样添加 `%JAVA_HOME%\bin`?** 1. **变量引用逻辑**: - `%JAVA_HOME%` 是个环境变量,表示 JDK 的安装根目录(例如 `C:\Program Files\Java\jdk-17.0.2`)。 - `%JAVA_HOME%\bin` 会动态解析为 JDK 的 `bin` 目录(例如 `C:\Program Files\Java\jdk-17.0.2\bin`)。 - 直接使用变量引用而非固定路径,可以避免因 JDK 版本升级或安装路径变更时反复修改 `Path`。 2. **功能必要性**: - `bin` 目录包含 Java 核心命令(如 `java`、`javac`、`jar` 等)。 - 将 `%JAVA_HOME%\bin` 添加到 `Path` 后,系统才能在任何目录下识别这些命令。 --- ### **如何正确添加到 `Path` 变量?** 1. **添加方式**: - 打开环境变量设置界面,在 `Path` 变量中新增条:**`%JAVA_HOME%\bin`**。 - 不要手动替换为实际路径(例如 `C:\...\jdk-17.0.2\bin`),否则会失去变量引用的灵活性。 ![示例:Path 变量中添加条目](https://i.imgur.com/0k4W3dC.png) 2. **注意事项**: - **不要添加引号**:路径中即使包含空格(如 `Program Files`),也无需用引号包裹 `%JAVA_HOME%\bin`,系统会自动解析。 - **避免重复路径**:如果 `Path` 中已有其他 Java 路径(如直接指向某个旧版本的 `bin`),请删除它们,防止冲突。 --- ### **常见错误示例** 1. **错误 1**:直接写死路径(失去灵活性): ```plaintext Path 中添加:C:\Program Files\Java\jdk-17.0.2\bin ``` - 若未来 JDK 升级到 `jdk-21`,需手动修改所有相关路径。 2. **错误 2**:路径错误或缺少 `bin`: ```plaintext Path 中添加:%JAVA_HOME% # 缺少 \bin,无法找到命令 Path 中添加:%JAVA_HOME%\lib # 错误目录 ``` 3. **错误 3**:混淆 JDK 和 JRE: ```plaintext Path 中添加:C:\Program Files\Java\jre1.8.0_301\bin ``` - 虽然能运行 `java`,但缺少 `javac`(因为 JRE 不包含编译器)。 --- ### **验证是否生效** 1. 打开新的命令提示符(重要!旧的窗口不生效): ```bash # 检查 JAVA_HOME 是否正确 echo %JAVA_HOME% # 验证 java 和 javac 版本 java -version javac -version ``` - 如果 `javac` 报错,说明 `JAVA_HOME` 未指向 JDK 或 `Path` 未正确配置。 --- ### **特殊情况处理** 1. **多版本 JDK 共存**: - 若需切换版本,只需修改 `JAVA_HOME` 的值(例如从 `jdk-17` 改为 `jdk-1.8`),无需调整 `Path`。 2. **路径含特殊字符或空格**: - 如果 JDK 安装路径含空格(如 `Program Files`),`%JAVA_HOME%\bin` 仍可正常解析,无需额外处理。 --- ### **总结** - **必须原样添加 `%JAVA_HOME%\bin`**,通过变量引用确保灵活性和准确性。 - 结合 `JAVA_HOME` 和 `Path` 的配置,系统才能全局调用 Java 命令(如启动 Tomcat、编译代码等)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值