这似乎是一个奇怪的问题:
如果我有用户demo
使用密码 Pass1234 调用
连接到 oracle 11g 时,我可以sqlplus
在命令行中使用密码运行:在 DB 主机上:
C:\> sqlplus demo/Pass1234
或远程机器
C:\> sqlplus demo/Pass1234@<ip>:1521/orcl
我可以这样做而无需在命令行中提供密码并像这样公开它:
C:\> sqlplus demo
然后我得到:
SQL*Plus: Release 11.1.0.7.0 bla bla bla
Copyright (c) bla bla bla
Enter password:
然后我可以手动输入密码。
连接到 Oracle 12c 时,我可以从任何机器上这样连接(使用密码):
C:\> sqlplus demo/Pass1234@<ip>:1521/pdborcl
我的问题是:如何在不tnsnames.ora
编辑且不在命令行中写入密码的情况下连接到 Oracle 12c?
我还没有弄清楚是否可以从数据库主机上的 sqlplus 连接到 Oracle 12c,而无需提供 IP 或本地主机,也无需编辑 tnsnames.ora,就像我在 Oracle 11g 中可以做的那样?
更重要的是,我可以在不使用完全连接的情况下从远程机器(甚至是 Oracle 11g)这样做吗?
(意味着在命令行和密码中手动给用户和数据库连接,不像/NOLOG
在命令中使用然后SQL> connect demo/Pass1234@<ip>:1521/pdborcl
:)
谢谢!
这个答案基于 a1ex07 评论:
给出以下细节:
以 sysdba 身份从数据库主机连接到核心数据库:
sqlplus / as sysdba
sqlplus sys as sysdba
sqlplus sys/Pass1234 as sysdba
从数据库主机或远程作为 sysdba 连接到核心数据库:
sqlplus sys@\"1.2.3.4:1521/orcl\" as sysdba
sqlplus sys/[email protected]:1521/orcl as sysdba
从 db 主机或远程作为 sysdba 连接到 pdb:
sqlplus sys@\"1.2.3.4:1521/pdborcl\" as sysdba
sqlplus sys/[email protected]:1521/pdborcl as sysdba
从 db 主机或远程连接到 pdb 作为演示(普通用户):
sqlplus demo@\"1.2.3.4:1521/pdborcl\"
sqlplus demo/[email protected]:1521/pdborcl