ORACLE服务端和客户端的典型配置

连通ORACLE

oracle服务端和客户端的典型配置

 

 

 

 

 

 

刘祎洋

2012.4.12


连通ORACLE

Linux服务端配置

Linux安装数据库后,需要配置和启用监听器。

配置监听器

配置全局数据库和监听端口1521(端口可选),数据库默认安装netca,可以通过执行命令

#netca

按照向导提示完成配置,netca是一个GUI工具,需要linux安装支持GUI工具和JDK环境;

也可以通过新增或修改$oracle_home/network/admin/listener.ora达到同样目的。

 

执行步骤:

#export oracle_home=/安装路径/app/oracle/product/11R2/dbhome_1

#vi $oracle_home/network/admin/listener.ora

新建或替换下面内容。

 

配置典型配置格式如下:

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /home/oracle/app/oracle/product/11R2/dbhome_1)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (GLOBAL_DBNAME = orcl)

      (ORACLE_HOME = /home/oracle/app/oracle/product/11R2/dbhome_1)

      (SID_NAME = orcl)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST=

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

      )

     (ADDRESS_LIST=

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.120.24)(PORT = 1521))

    )

   )

  )

l         GLOBAL_DBNAME为安装全局数据库的名称

l         SID_NAME为安装全局数据库的ID名称,默认与GLOBAL_DBNAME

l         HOST 为监听主机,可以为Ip或机器名称hostname

l         PORT为监听端口,默认为1521

 

 

测试配置

使用监听器命令lsnrctl来启用、关闭和查看监听

Ø        执行命令 lsnrctl stop 关闭监听

Ø        执行命令 lsnrctl start 启用监听

Ø        执行命令 lsnrctl status 查看状态

如果成功则为The command completed successfully。如果不成功,则说明listener.ora文件配置有误。

 

测试是否可以登录数据库

#sqlplus

>orcl

>orcl

如果要测试sqlplus 用户/密码@服务名方式登录,请参考LINUX客户端配置

 

 

常见错误

配置不正确导致的常见错误,请重新修改配置文件。

ORA-12514:listener does not currently know of service requested in connect

ORA-27101: shared memory realm does not exist

ORA-12541 TNS no listener

 

 

其他常见错误

ORA-12560: TNS: 协议适配器错误

答:在客户端执行命令telnet ip 1521,检查是否可以通,如不通请检查网关或包防火墙配置。

 

 

如果曾经安装过oracle服务端或客户端,此时报错

请检查环境变量是否配置正确,尝试配置或修改环境变量TNS_ADMINORACLE_HOME, PATH 中的oracle路径为当前的oracle路径,具体请参照官方oracle环境变量配置。


连通ORACLE

Linux客户端配置

Linux客户端要连接到数据库,通常需要配置tnsnames.ora内容:

配置TNS本地网络服务名称

配置TNS本地网络服务名称和端口1521(端口可选),数据库端默认安装netcanetca是一个GUIOracle net service工具,需要linux安装支持GUI工具和JDK环境;输入命令

#netca

按照向导提示完成配置本地网络服务名称。

如果无netca,也可以通过新增或修改$oracle_home/network/admin/tnsnames.ora完成同样配置。

 

执行步骤:

#export oracle_home=/安装路径/app/oracle/product/11R2/dbhome_1

#vi $oracle_home/network/admin/tnsnames.ora

如无目录则建立目录 network/admin

增加下面内容。

 

配置典型配置格式如下:

orclalias=

(DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.120.24)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

)

l         orclalias =tns连接的服务名称。

l         HOST 为监听主机,可以为Ip或机器名称hostname

l         PORT为监听端口,默认为1521

l         SERVICE_NAME = orcl为服务器的数据库名称

 

测试配置

测试是否可以登录数据库

#sqlplus orcl/orcl@orclalias

如果显示连接到..,并进入sql,则说明配置成功。

 

测试配置。

查看连通状态,可使用命令:

#tnsping orclalias

 

 

常见错误

Tns无法解析错误

 答:检查host,port,servername是否配对。

 

其他错误

  答:服务端没有启用监听器其端口,或者监听器配置错误。


连通ORACLE

windows服务端配置

 

Windows安装数据库后,需要配置和启动监听器。

配置监听器

配置全局数据库和监听端口1521(端口可选),打开开始菜单,在oracle菜单中选择net configuration assistant或在命令提示窗口下输入命令netca来配置监听器,可以通过执行命令

#netca

图表 1 netca

图表 2 开始菜单

图表 3 管理监听程序配置

 

按照向导提示完成配置,netca需要配置JDK环境;

也可以通过新增或修改%oracle_home%/network/admin/listener.ora完成同样配置。

 

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = F:\app\oracle\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:F:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = RD-LIUYY.ssc.net.cn)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

 

ADR_BASE_LISTENER = F:\app\oracle

 

l         LISTENER部分包含协议地址列表,每个实例一个入口

l         SID_LIST_LISTENER部分标识全局数据库名称、标识监听程序正在服务的每个实例的Oracle软件主目录以及实例或SID

l         SID_LIST描述用于静态数据库注册、保持和以前的版本兼容性以及供Oracle Enterprise Manager使用。

l         HOST 为监听主机,可以为Ip或机器名称hostname

l         PORT为监听端口,默认为1521

 

 

测试配置

 

使用监听器命令lsnrctl来启用、关闭和查看监听

Ø        D:/> lsnrctl stop 关闭监听

Ø        D:/> lsnrctl start 启用监听

Ø        D:/> lsnrctl status 查看状态

如果成功则为The command completed successfully。如果不成功,则说明listener.ora文件配置有误。

 

或在开始菜单cmd中,输入命令services.msc,找到oracleTNSListener,来启用、关闭和查看监听

或在F:\app\oracle\product\11.2.0\dbhome_1\BIN点击LSNRCTL.EXE,通过程序启用监听器

 

测试是否可以登录数据库

#sqlplus

>orcl

>orcl

如果要测试sqlplus 用户/密码@服务名方式登录,请参考WINDOWS客户端配置

 

常见错误

配置不正确导致错误,重新配置监听器:

ORA-12514:listener does not currently know of service requested in connect

ORA-27101: shared memory realm does not exist

ORA-12541 TNS no listener

 

 

如果曾经安装过oracle服务端或客户端,报错。

请检查环境变量是否配置正确,尝试配置或修改环境变量TNS_ADMINORACLE_HOME, PATH 中的oracle路径为当前的oracle路径,具体请参照官方oracle环境变量配置。

并在注册表中,通过查找原数据库目录,并替换为当前数据库路径。

 

如果仍然不行,请删除TNS_ADMINORACLE_HOME环境变量,重新配置全局数据库Database Configuration Assistant,并重新指定ORACLE_HOME等值。


连通ORACLE

windows客户端配置

配置TNS本地网络服务名称

配置TNS本地网络服务名称和端口1521(端口可选),数据库端默认安装netcanetca是一个GUIOracle net service工具,需要JDK环境;输入命令

#netca

图表 4 本地网络服务名

按照向导提示完成配置本地网络服务名称。

如果无netca,也可以通过新增或修改%oracle_home%/network/admin/tnsnames.ora完成同样配置。

 

ORACLR_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

    (CONNECT_DATA =

      (SID = CLRExtProc)

      (PRESENTATION = RO)

    )

  )

 

ORCL =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.50.12)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

 

配置Instant client 客户端组件

Instant clientOracle提供的一个简易客户端组件接口,它的特点是精简、解压后无需安装,它没有图形化界面,也不提供交互式命令访问,需要另行下载Instant client sqlplus并放入该目录中,或者安装PL/SQL客户端,配置访问其组件,有时还需要配置环境变量。

进入目录instantclient-basic-nt-11.2.0.2.0后,创建目录network/admin

network/admin/中新增文件tnsnames.ora

根据需要配置本地网络服务名称如下:

 

 

ORCL =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.50.12)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = orcl)

    )

  )

..

 

为了使用方便,可配置系统环境变量,打开环境变量窗口,

新建系统环境变量

oracle_home(可选)

根据具体安装路径,设置其值为

D:/instantclient-basic-nt-11.2.0.2.0/instantclient_11_2

 

修改path环境变量(可选)

根据具体安装路径,新增一个值并加;

D:/instantclient-basic-nt-11.2.0.2.0/instantclient_11_2;

 

配置PL/SQL

打开PL/SQL,点击取消,进入不登陆状态,在工具栏上点击Tools->Preference,点击左边列表connection,找到oracle_home,如果配置了环境变量oracle_home,则可以留空,否则配置oracle_homeD:/instantclient-basic-nt-11.2.0.2.0/instantclient_11_2,找到OCI library,配置为D:\instantclient-basic-nt-11.2.0.2.0\instantclient_11_2\oci.dll,点击ok,重启PL/SQL,在登录窗口中选择配置的database名称,输入用户名和密码及角色后即可成功连接。

 

 

windows环境变量中定义了“NLS_DATE_FORMAT =YYYY/MM/DD HH24:MI:SS”后,查询语句就可以直接写为:

select * from tab1 where operdate='2011/08/26'

 

 

 

测试配置

如果安装splplus

在命令行模式下输入格式为sqlplus 用户/密码@服务名,进行测试

D:> sqlplus orcl/orcl@ORCL

 

如果安装pl/sql,可直接打开pl/sql登录。

 

常见错误

Sqlplus 不是命令。

答:请将下载的instantclient-sqlplus-nt-11.2.0.2.0.zip解压后放入instantclient-basic-nt-11.2.0.2.0.zip解压后的目录,并设置PATH路径为instantclient-basic-nt-11.2.0.2.0.zip解压后的目录。

 

Tns无法解析错误

答:检查host,port,servername是否配对。

 

其他错误

答:服务端没有启用监听器其端口,或者监听器配置错误。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值