sqlplus连接远程数据库

时间:2022-01-31 21:24:55

方式一:简易连接,不用进行网络配置,其实就是tnsname.ora文件

  • 命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sysdba]
  • 示例:sqlplus sys/pwd@ip:1521/test as sysdba
  • 备注:使用默认1521端口时可省略输入

    注意事项:被远程的数据库上必须打开数据库监听 不然会报ERROR:ORA-12541:TNS:no listener

方式二:文本化操作:编辑$ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora文件

test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip或主机名称)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 数据库的服务名称)
)
)
  • PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。
  • HOST:数据库监听所在的机器的机器名或IP地址
  • PORT:数据库监听正在监听的端口

    SERVICE_NAME:在服务器端,用system用户登陆后,
sqlplus> show parameter service_name命令察看。
# Generated by Oracle configuration tools.

rac 一个service_name 对应多个sid

SQL> show parameter service_name;

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
service_names string test
SQL> show parameter instance_name; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
instance_name string test
  • 示例
30.66 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.30.66)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradb)
)
)
CHEN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.222.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)

如果本地安装了Oracle数据库客户端也可以通过Oracle Net Manager工具图形化配置tnsnames.ora

参考资料:1.Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库(https://www.cnblogs.com/kane1990/p/OracleNetManager.html#top)