实验目的:在虚拟机中用sqlplus工具访问真实机的数据库;
实验环境:
真实机(windows系统,数据库服务名 orcl):
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 32-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production
虚拟机(linux系统,数据库服务名 yjgocp):
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
sqlplus登录本地及远程数据库的方式有:
sqlplus username/password
sqlplususername/password@net_service_name
sqlplus username/password assysdba
sqlplususername/password@//host:port/sid
在虚拟机上操作,直接链接真实机数据库
[oracle@localhost ~]$ sqlplusscott/tiger@orcl
SQL*Plus: Release 11.2.0.1.0 Production onSun Jul 28 13:40:38 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve theconnect identifier specified
说明链接信息配置有问题,查看本地环境变量及查找本地tnsname.ora
[oracle@localhost ~]$ more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startupprograms
PATH=$PATH:$HOME/bin
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=/u01/app/oracle/product/11g
export ORACLE_SID=yjgocp
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin:$PATH
[root@localhost script]#find / -name tnsname*
/u01/app/oracle/product/11g/inventory/Templates/hs/admin/tnsnames.ora.sample
/u01/app/oracle/product/11g/network/admin/samples/tnsnames.ora
/u01/app/oracle/product/11g/hs/admin/tnsnames.ora.sample
TNS_ADMIN
This variable TNS_ADMINspecifies the user ID of the OracleNet Services configuration files, for example,LISTENER.ORA
,TNSNAMES.ORA
andSQLNET.ORA
.
IfTNS_ADMIN
is not defined, then the configuration files are searched underthe local user ID with the prefixNETWORK.ADMIN
.
环境变量里面没有设置该值,说明oracle 会到默认的network/admin/下查找LISTENER.ORA
,TNSNAMES.ORA
andSQLNET.ORA
文件,如果想链接远程数据库,那么需要在该位置创建一个
TNSNAME.ORA
文件,并把远程的链接信息配置到该文件中;
经过刚才查找得之
/u01/app/oracle/product/11g/network/admin/samples/tnsnames.ora把该文件拷贝到/u01/app/oracle/product/11g/network/admin/目录下一份,
然后添加远程数据库的链接信息:
[oracle@localhost admin]$ more tnsnames.ora
# This file contains the syntax informationfor
# the entries to be put in any tnsnames.orafile
# The entries in this file are need based.
# There are no defaults for entries in thisfile
# that Sqlnet/Net3 use that need to beoverridden
#
# Typically you could have two tnsnames.orafiles
# in the system, one that is set for theentire system
# and is called the system tnsnames.orafile, and a
# second file that is used by each userlocally so that
# he can override the definitions dictatedby the system
# tnsnames.ora file.
# The entries in tnsnames.ora are analternative to using
# the names server with the onames adapter.
# They are a collection of aliases for theaddresses that
# the listener(s) is(are) listening for adatabase or
# several databases.
# The following is the general syntax forany entry in
# a tnsnames.ora file. There could beseveral such entries
# tailored to the user's needs.
#下面红色字体是添加的远程链接信息;其余代码是该文件原有的代码;
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.100)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
<alias>= [ (DESCRIPTION_LIST = # Optional depending on whether u have
# one or moredescriptions
# If there isjust one description, unnecessary
]
(DESCRIPTION=
[ (SDU=2048) ] # Optional,defaults to 2048
# Can take values between 512 and 32K
[ (ADDRESS_LIST= # Optionaldepending on whether u have
# one or moreaddresses
# If there isjust one address, unnecessary ]
(ADDRESS=
[(COMMUNITY=<community_name>) ]
(PROTOCOL=tcp)
(HOST=<hostname>)
(PORT=<portnumber (1521 is astandard port used)>)
)
[ (ADDRESS=
(PROTOCOL=ipc)
(KEY=<ipckey (PNPKEY is astandard key used)>)
)
]
[ (ADDRESS=
[(COMMUNITY=<community_name>) ]
(PROTOCOL=decnet)
(NODE=<nodename>)
(OBJECT=<objectname>)
)
]
... # More addresses
[ ) ] # Optional depending on whether ADDRESS_LIST is used or not
[ (CONNECT_DATA=
(SID=<oracle_sid>)
[(GLOBAL_NAME=<global_database_name>) ]
)
]
[ (SOURCE_ROUTE=yes) ]
)
(DESCRIPTION=
[ (SDU=2048) ] # Optional,defaults to 2048
# Can takevalues between 512 and 32K
[ (ADDRESS_LIST= ] # Optionaldepending on whether u have more
# than oneaddress or not
# If there is justone address, unnecessary
(ADDRESS
[(COMMUNITY=<community_name>) ]
(PROTOCOL=tcp)
(HOST=<hostname>)
(PORT=<portnumber (1521 is astandard port used)>)
)
[ (ADDRESS=
(PROTOCOL=ipc)
(KEY=<ipckey (PNPKEY is astandard key used)>)
)
]
... # More addresses
[ ) ] # Optionaldepending on whether ADDRESS_LIST
# is being used
[ (CONNECT_DATA=
(SID=<oracle_sid>)
[(GLOBAL_NAME=<global_database_name>) ]
)
]
[ (SOURCE_ROUTE=yes) ]
)
[ (CONNECT_DATA=
(SID=<oracle_sid>)
[(GLOBAL_NAME=<global_database_name>) ]
)
]
... # More descriptions
[ ) ] # Optional depending onwhether DESCRIPTION_LIST is used or not
然后尝试链接
[oracle@localhost admin]$ sqlplusscott/tiger@orcl
SQL*Plus: Release 11.2.0.1.0 Production onSun Jul 28 13:59:59 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12541: TNS:nolistener
提示没有监听,这个时候查看远程数据库,监听已经启动;于是就把链接信息里的HOST信息又远程主机IP改为了主机名(由HOST = 192.168.1.100改为
HOST = 4728tef987uid34)
[oracle@localhost admin]$ sqlplusscott/tiger@orcl
SQL*Plus: Release 11.2.0.1.0 Production onSun Jul 28 14:02:38 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise EditionRelease 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Miningoptions
Ok 链接成功;
另外用下面的方法也可以在没有配置tnsname.ora的情况下访问;
[oracle@localhost ~]$ sqlplus scott/tiger@//192.168.1.100/orcl
SQL*Plus: Release 11.2.0.1.0 Production onSun Jul 28 13:45:43 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise EditionRelease 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Miningoptions
[oracle@localhost ~]$ sqlplus scott/tiger@//192.168.1.100/orcl
SQL*Plus: Release 11.2.0.1.0 Production onSun Jul 28 13:45:43 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise EditionRelease 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Miningoptions
分享到:
相关推荐
### Win7环境下使用Sqlplus远程连接Oracle数据库的详细步骤与注意事项 #### 一、环境准备与软件下载 在Windows 7环境下实现Sqlplus远程连接Oracle数据库之前,首先需要完成一些必要的准备工作,包括环境配置和软件...
Instant Client是一组动态链接库,用于连接到Oracle数据库,而无需完整安装Oracle客户端软件。这减少了所需的磁盘空间,并加快了应用程序的启动时间。 - `instantclient-basic-windows.x64-12.1.0.2.0.zip`:这是...
首先需要解压这个压缩包到一个固定目录,然后设置环境变量,包括`TNS_ADMIN`指向TNSNAMES.ORA文件的位置(定义数据库连接的别名),`PATH`添加`Instant Client`的路径,确保系统可以找到所需的动态链接库。...
这个压缩包可能还包含其他组件,如oci.dll、sqlplus.exe等,这些是Oracle Instant Client和SQL*Plus运行所必需的动态链接库和可执行文件。用户可以根据需求选择安装必要的组件,以减小系统的资源占用。 通过这个...
在"Oracle-instantclient-sqlplus-win-ia64"包中,包含的"Instant Client"是一组动态链接库(DLLs)和其他支持文件,它们使得应用程序无需完整的Oracle客户端安装就能与Oracle数据库进行通信。这些库文件处理了网络...
在IT行业中,数据库管理是至关重要的任务,而SQLPlus是一款常用的Oracle数据库管理工具。然而,SQLPlus的一个小问题是它的交互式界面不支持直接通过删除键进行文本清除,这给用户带来了不便,通常需要使用组合键如...
标题中的“navicat链接Oracle数据库工具”指的是Navicat这款强大的数据库管理工具,它能够帮助用户连接到Oracle数据库进行数据操作、管理以及开发。Navicat是一款支持多种数据库系统的客户端软件,包括Oracle、MySQL...
Oracle Instant Client是Oracle数据库的一个精简版,它主要包括了与数据库通信所需的动态链接库(DLLs)、API头文件和必要的文档。它的主要优点是体积小、安装简单,可快速地在客户端计算机上部署,使得开发者或DBA...
sqlplus 用户名/密码@数据库实例名 ``` 2. **ODBC/JDBC**:通过开放数据库连接(ODBC)或Java数据库连接(JDBC)驱动程序,可以在各种编程语言(如Java、C++、Python等)中连接Oracle。需要配置相应的数据源(DSN)或...
SQLPlus是Oracle数据库管理系统的一个命令行工具,用于执行SQL语句和PL/SQL块。它在Linux环境下同样适用,尤其对于系统管理员和开发者来说,是一个不可或缺的工具,因为它的轻量级特性和直接的交互性。这个压缩包...
1. **Oracle Instant Client**:这是Oracle公司推出的一种精简版的数据库客户端,它主要包含了一组动态链接库(DLLs),用于连接到Oracle服务器。Instant Client的优势在于其小巧的体积,快速的部署以及较低的系统...
如果数据库没有启动,可以使用 sqlplus 命令启动数据库。 在连接 Oracle 数据库时,可能会遇到各种问题,例如,无法连接数据库、无法启动 listener、无法启动数据库等问题。这些问题的解决办法如下: * 无法连接...
2. `oci.dll` 和其他相关动态链接库:这些库文件是Oracle Instant Client的核心组件,用于处理数据库连接和SQL执行。 3. `network` 文件夹:包含网络配置文件,如`tnsnames.ora`,用于定义数据库连接的服务名和网络...
在Cmd下运用SQLplus进行对数据库的相关操作,让初学者掌握Oracle数据库的链接等操作
1. **oci.dll**: 这是Oracle Call Interface (OCI) 的动态链接库,用于应用程序与数据库之间的通信。 2. **sqlplus.exe**: SQL*Plus的可执行文件,用户可以通过命令行进行数据库操作。 3. **nzdll32.dll**: Oracle ...
神通数据库的安装文档和软件包可以从官方网站获取,例如在提供的链接`http://www.shentongdata.com/iso/ShenTong7.0.8_20181130_Linux64jre1.8_Beta.rar`下载最新版本。确保你的系统是64位且已安装Java 1.8环境,...
3. oci.dll或oci.so:Oracle Call Interface动态链接库,是连接到Oracle数据库的核心组件。 4. other supporting libraries:其他必要的支持库,如libnnz12.so(对应Oracle 12c的数据库实例库)等。 安装Oracle ...