Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从密码包含$dollar符号的linux调用sqlplus_Linux_Oracle_Passwords_Sqlplus - Fatal编程技术网

无法从密码包含$dollar符号的linux调用sqlplus

无法从密码包含$dollar符号的linux调用sqlplus,linux,oracle,passwords,sqlplus,Linux,Oracle,Passwords,Sqlplus,我花了数小时尝试各种建议和组合,但在我的一生中,无法从DirectLinux命令行或bash脚本调用sqlplus来使用包含$ 我试过这些 sqlplus -S mylogin/'"my$password"'@My_DBName sqlplus -S mylogin/'my$password'@My_DBName sqlplus -S mylogin/"my$password"@My_DBName 我尝试了与上面相同的方法,但将\放在$之前,其他各种尝试都没有显示 我尝试过使用CONNECT来

我花了数小时尝试各种建议和组合,但在我的一生中,无法从DirectLinux命令行或bash脚本调用sqlplus来使用包含$

我试过这些

sqlplus -S mylogin/'"my$password"'@My_DBName
sqlplus -S mylogin/'my$password'@My_DBName
sqlplus -S mylogin/"my$password"@My_DBName
我尝试了与上面相同的方法,但将\放在$之前,其他各种尝试都没有显示

我尝试过使用CONNECT来代替普通密码和各种引号和反斜杠(这里只显示了一个示例)


在我的MacOS Catalina上测试。使用单引号

你确定你的-S选项吗? 登录后不显示任何内容。。。。(但您已登录)。您仍然可以从dual执行
select*

system@XEPDB1> create user mylogin identified by my$password;

User created.

Elapsed: 00:00:00.05
system@XEPDB1> grant create session to mylogin;

Grant succeeded.

Elapsed: 00:00:00.03
system@XEPDB1> exit

sqlplus mylogin/'my$password'@localhost/XEPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 11 13:17:35 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

mylogin@XEPDB1>


-- change from my$password to $$$$password
mylogin@XEPDB1> passw
Changing password for MYLOGIN
Old password:
New password:
Retype new password:
Password changed
mylogin@XEPDB1> exit

sqlplus mylogin/'$$$$password'@localhost/XEPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 11 13:20:09 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Last Successful login time: Thu Jun 11 2020 13:17:35 +02:00

Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

mylogin@XEPDB1>

sqlplus -S mylogin/'$$$$password'@localhost/XEPDB1
select 'No errors - I am logged in!' from dual;

'NOERRORS-IAMLOGGEDIN!'
---------------------------
No errors - I am logged in!

Elapsed: 00:00:00.02

在我的MacOS Catalina上测试。使用单引号

你确定你的-S选项吗? 登录后不显示任何内容。。。。(但您已登录)。您仍然可以从dual执行
select*

system@XEPDB1> create user mylogin identified by my$password;

User created.

Elapsed: 00:00:00.05
system@XEPDB1> grant create session to mylogin;

Grant succeeded.

Elapsed: 00:00:00.03
system@XEPDB1> exit

sqlplus mylogin/'my$password'@localhost/XEPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 11 13:17:35 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

mylogin@XEPDB1>


-- change from my$password to $$$$password
mylogin@XEPDB1> passw
Changing password for MYLOGIN
Old password:
New password:
Retype new password:
Password changed
mylogin@XEPDB1> exit

sqlplus mylogin/'$$$$password'@localhost/XEPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 11 13:20:09 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Last Successful login time: Thu Jun 11 2020 13:17:35 +02:00

Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

mylogin@XEPDB1>

sqlplus -S mylogin/'$$$$password'@localhost/XEPDB1
select 'No errors - I am logged in!' from dual;

'NOERRORS-IAMLOGGEDIN!'
---------------------------
No errors - I am logged in!

Elapsed: 00:00:00.02

您的4位数Oracle版本是什么?什么是操作系统?例如,对于Linux上的Oracle 12.2.0.1和
bash
来说,在单引号之间输入密码应该是可行的。如果您不确定shell正在做什么,请将sqlplus命令放入shell脚本中,并添加脚本
set-x
,以检查shell正在运行的完整sqlplus命令。我应该说。。。“有效”表示由于“ORA-01017:无效用户名/密码;登录被拒绝”而无法登录。fyi linux 2.6.32-754.9.1.el6.x86_64 Oracle数据库12c企业版12.1.0.2.0-64位您的4位Oracle版本是什么?什么是操作系统?例如,对于Linux上的Oracle 12.2.0.1和
bash
来说,在单引号之间输入密码应该是可行的。如果您不确定shell正在做什么,请将sqlplus命令放入shell脚本中,并添加脚本
set-x
,以检查shell正在运行的完整sqlplus命令。我应该说。。。“有效”表示由于“ORA-01017:无效用户名/密码;登录被拒绝”而无法登录。fyi linux 2.6.32-754.9.1.el6.x86_64 Oracle数据库12c企业版12.1.0.2.0版-64位我的主要错误-有人更改了密码!我应该仔细检查一下。这就是它不起作用的真正原因。新密码还包含$,并且可以使用单引号,如您所示。啊!谢谢你的时间。我的主要错误-有人更改了密码!我应该仔细检查一下。这就是它不起作用的真正原因。新密码还包含$,并且可以使用单引号,如您所示。啊!谢谢你抽出时间。
system@XEPDB1> create user mylogin identified by my$password;

User created.

Elapsed: 00:00:00.05
system@XEPDB1> grant create session to mylogin;

Grant succeeded.

Elapsed: 00:00:00.03
system@XEPDB1> exit

sqlplus mylogin/'my$password'@localhost/XEPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 11 13:17:35 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

mylogin@XEPDB1>


-- change from my$password to $$$$password
mylogin@XEPDB1> passw
Changing password for MYLOGIN
Old password:
New password:
Retype new password:
Password changed
mylogin@XEPDB1> exit

sqlplus mylogin/'$$$$password'@localhost/XEPDB1

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 11 13:20:09 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Last Successful login time: Thu Jun 11 2020 13:17:35 +02:00

Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

mylogin@XEPDB1>

sqlplus -S mylogin/'$$$$password'@localhost/XEPDB1
select 'No errors - I am logged in!' from dual;

'NOERRORS-IAMLOGGEDIN!'
---------------------------
No errors - I am logged in!

Elapsed: 00:00:00.02