sqlplus user/password@(description=(address_list=(address=.......ODS)))
Run Code Online (Sandbox Code Playgroud)
()中的文本是您在TNSNames文件中为服务看到的信息.因此,您可以明确地使用TNS条目
注意,如果在Unix中使用引号,则shell会解释().
或者你可以使用EZconnect语法(我的首选方法)
sqlplus user/password@//hostname/service_name
sqlplus user/password@//hostname:port/service_name
Run Code Online (Sandbox Code Playgroud)
请注意,对于Oracle Database 12/18c多租户体系结构数据库,如果要连接到可插拔数据库,则必须使用/ service_name而不是/ SID.
另请注意,我们现在有2个命令行界面.
SQL*Plus和SQLcl.
SQLcl是基于Java的,是Oracle SQL Developer的精简版本.它支持基于TNS的连接,并且还支持EZConnect语法.与SQL*Plus相比,它的一个显着优势是它不需要安装Oracle客户端.
这个问题最初是由Tom在AskTom上回答的.
我在这里更新了他的答案,以解决Oracle 12c Multitenant和SQLcl.