gpt4 book ai didi

oracle - "sqlplus/"是如何工作的

转载 作者:行者123 更新时间:2023-12-04 05:47:30 26 4
gpt4 key购买 nike

我想知道 sqlplus 如何在连接语句“sqlplus/”中获取用户名和密码。

如果我想与不同用户的“sqlplus/”连接,我该如何更改配置。这可能看起来很尴尬,但在我的脚本中“sqlplus/”是硬编码的,我们无法更改它。只是我想使用相同的命令与不同的用户连接。

最佳答案

从 Oracle 文档:

/

Represents a default logon using operating system authentication. In a default logon, SQL*Plus typically attempts to log you in using the username OPS$name, where name is your operating system username. Note that the prefix "OPS$" can be set to any other string of text.

For example, you may wish to change the settings in your INIT.ORA parameters file to LOGONname or USERIDname. See the Oracle9i Database Administrator's Guide for information about operating system authentication.


因此它使用您的操作系统详细信息来构造您的 Oracle 用户名,这意味着您可能无法设置任意名称。
用于指定前缀的 Oracle 初始化参数是 OS_AUTHENT_PREFIX 和它的默认值 id OPS$ .
如果您无法更改调用 sqlplus 的脚本,您可以做的一件事是将您自己的 sqlplus 脚本插入到 Oracle 之前的路径中,如下(未经过彻底测试):
#!/bin/bash
if [[ "$1" != "/" ]] ; then
$ORACLE_HOME/bin/sqlplus "$@"
exit
fi
shift
$ORACLE_HOME/bin/sqlplus $MY_ORA_USER/$MY_ORA_PWD "$@"
这将是您的脚本调用的那个,它会检查第一个参数以查看它是否是简单的 / .如果没有,它会调用真正的 sqlplus具有相同的参数。
否则,它将替换 /使用由 MY_ORA_* 形成的用户/密码环境变量。

关于oracle - "sqlplus/"是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10494550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com