04_如何配置Oracle客户端1453.pptx

上传人:jix****n11 文档编号:91026465 上传时间:2023-05-21 格式:PPTX 页数:52 大小:1.16MB
返回 下载 相关 举报
04_如何配置Oracle客户端1453.pptx_第1页
第1页 / 共52页
04_如何配置Oracle客户端1453.pptx_第2页
第2页 / 共52页
点击查看更多>>
资源描述

《04_如何配置Oracle客户端1453.pptx》由会员分享,可在线阅读,更多相关《04_如何配置Oracle客户端1453.pptx(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、配置配置Oracle客户端客户端配置配置Oracle客户端客户端课程目标课程目标使用户完成Oracle客户端的配置,从而使客户端能访问到数据库。要使一个客户端机器能连接oracle数据库,需要在客户端机器上安装oracle的客户端软件,唯一的例外就是java连接数据库的时候,当用jdbc thin模式连接数据库,不用装oracle的客户端软件。假如你在机器上安装了oracle数据库,就不需要再单独在该机器上安装oracle客户端了,因为在安装oracle数据库的时候会自动安装oracle客户端。配置配置Oracle客户端客户端配置配置Oracle客户端客户端 用过sql server数据库,然

2、后又用oracle的新手可能会有这样的疑问:为什么我用sql server的时候不用装sql server的客户端呢?原因很简单,sql server也是microsoft的,它在操作系统中集成了sql server客户端。如果microsoft与oracle有协议,将oracle客户端也集成到操作系统中,那我们也就不用在客户端机器上装oracle客户端软机就可访问Oracle数据库了,不过,这好像是不可能实现的事情。配置配置Oracle客户端客户端也有的人会问:为什么在sql server中没有侦听端口一说,而在oracle中要配置侦听端口?其实sql server中也有侦听端口,只不过mi

3、crosoft将侦听端口固定为1433,不允许你随便改动,这样给你一个错觉:sql server中没有侦听端口,咳,microsoft把太多的东西都封装到黑盒子里,方便使用的同时也带来相应的副作用。而oracle中的侦听端口直接在配置文件中,允许随便改动,只不过无论怎样改动,客户端的配置文件中的侦听端口要与oracle服务器端设置的侦听端口一致。配置配置Oracle客户端客户端 好,言归正传,我们如何做才能使客户端机器连接到oracle数据库呢?1.安装相关软件2.进行适当的配置配置配置Oracle客户端客户端客户端 服务器端 在客户端机器上安装ORACLE的Oracle Net通讯软件,它包

4、含在oracle的客户端软件中。安装oracle数据库1.在适当的位置安装适当的软件:在适当的位置安装适当的软件:配置配置Oracle客户端客户端2.进行适当的配置 客户端服务器端1正确配置了sqlnet.ora文件:NAMES.DIRECTORY_PATH=(TNSNAMES,.)NAMES.DEFAULT_DOMAIN=DB_DOMAIN 一般情况下我们不用NAMES.DEFAULT_DOMAIN参数。如果想不用该参数用#注释掉或将该参数删除即可,对于NAMES.DIRECTORY_PATH参数采用缺省值即可,对于NAMES.DEFAULT_DOMAIN参数有时需要注释掉,在下面有详细解释

5、。2.正确配置了tnsname.ora文件 1.保证listener已经启动2.保证数据库已经启动。如果listener没有启动,用:lsnrctl start listener namelsnrctl status listener name如果数据库没有启动,用:Oracle 9i:sqlplus“/as sysdba”sqlplus startupOracle 8i:svrmgrlsvrmgrlconnect internalsvrmgrlstartup 与网络配置相关的文件用图形工具配置客户端Net Configuration Assistant 在Oracle8i中,这个工具称为Ne

6、t8 Configuration Assistant。利用该工具我们可以对 Oracle客户端进行配置,使Oracle客户端连接到Oracle数据库,同时我们也可以对Oracle服务器端的Listener进行配置,使之适合我们的特殊需要。这个图形化的工具实际上最后将我们输入的信息保存到Oracle的配置文件中,利用这个特点,我们也可以避开这个图形工具,而是直接修改Oracle的配置文件,从而比较快速的配置客户端。用图形工具配置客户端1.启动图形工具启动图形工具用图形工具配置客户端2。选择选择”本地本地Net服务名配置服务名配置”用图形工具配置客户端3。选择选择”添加添加”,可以根据需要选,可以

7、根据需要选择其它功能择其它功能用图形工具配置客户端4。选择选择”Oracle8i或更或更高版本数据库或高版本数据库或服务服务”,如果连,如果连接接Oracle8i以下以下的数据库,则选的数据库,则选择下一个。择下一个。用图形工具配置客户端5。在服务名栏在服务名栏中输入数据库的中输入数据库的服务名,一般情服务名,一般情况下服务名等于况下服务名等于数据库名,该栏数据库名,该栏不能随便填写,不能随便填写,一定要与数据库一定要与数据库的服务名一致,的服务名一致,否则连接数据库否则连接数据库时会引起错误。时会引起错误。用图形工具配置客户端6。协议一般选协议一般选择择TCP,视具体,视具体情况决定情况决定

8、用图形工具配置客户端7。输入输入listener所在机器的计算所在机器的计算机名或机名或IP地址,地址,一般情况下,一般情况下,listener与数据与数据库在同一台机器库在同一台机器上,所以此处一上,所以此处一般也为数据库所般也为数据库所在机器的机器名在机器的机器名或或IP地址。地址。注意机器有两个注意机器有两个网卡的情况。网卡的情况。用图形工具配置客户端8。对当前对数对当前对数据库的配置进行据库的配置进行测试测试用图形工具配置客户端9。默认情况下,默认情况下,图形工具会用图形工具会用system/manager连接数据库,如果连接数据库,如果数据库的密码不是数据库的密码不是manager则

9、会给则会给出如图所示的错误,出如图所示的错误,此时单击此时单击”更改登更改登录录”按钮,弹出一按钮,弹出一个对话框,数据正个对话框,数据正确的密码,或用另确的密码,或用另一个用户进行测试一个用户进行测试用图形工具配置客户端用图形工具配置客户端10。配置正确配置正确用图形工具配置客户端11。给当前的配给当前的配置起个名字,可置起个名字,可以是你喜欢的任以是你喜欢的任意的名字,在用意的名字,在用程序或程序或sql*plus连接数据库时要连接数据库时要用到该名字用到该名字用图形工具配置客户端用图形工具配置客户端用图形工具配置客户端12。用新配用新配置的网络服置的网络服务名登录务名登录sql*plus

10、,对数据库进对数据库进行操作。行操作。手工配置手工配置Oracle客户端客户端如何正确配置如何正确配置tnsname.ora文件:文件:可以在客户端机器上使用oracle Net Configuration Assistant或oracle Net Manager图形配置工具对客户端进行配置,该配置工具实际上修改tnsnames.ora文件。所以我们可以直接修改tnsnames.ora文件,下面以直接修改tnsnames.ora文件为例:该文件的缺省位置为:networkadmintnsnames.ora (for windows)/network/admin/tnsnames.ora (fo

11、r unix)手工配置手工配置Oracle客户端客户端此处,假设服务器名为testserver,服务名为,使用的侦听端口为1521,则tnsnams.ora文件中的一个test网络服务名(数据库别名)为:test=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=)手工配置手工配置Oracle客户端客户端红色的内容为需要根据实际情况修改的内容,现解释如下:PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。H

12、OST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname命令得到机器名,或通过ipconfig(for WINDOWS)or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用机器名或IP地址,在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名,否则需要在hosts文件中加入数据库侦听所在的机器的机器名的解析。PORT:数据库侦听正在侦听的端口,可以察看服务器端的listen

13、er.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status listener name命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus show parameter service_name命令察看。手工配置手工配置Oracle客户端客户端如何利用配置的网络服务名连接到数据库:如何利用配置的网络服务名连接到数据库:用sqlplus程序通过test网络服务名进行测试,如sqlplus system/managertest。如果不能连接到数据库,则在tnsname.ora文件中

14、的test网络服务名(net service)后面加上sqlnet.ora文件中NAMES.DEFAULT_DOMAIN参数的值,此处我的参数值为,将其加到网络服务名后面,修改后的tnsname.ora中关于该网络服务名的内容为:=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=)手工配置手工配置Oracle客户端客户端用sqlplus程序通过网络服务名测试,如sqlplus system/。关于为什们在网络服务名后面加NAMES.

15、DEFAULT_DOMAIN参数值,就需要了解sql*plus连接数据库的原理,我在后面解决12154常见故障中给出了详细的说明。在此处我想说的是,什么情况下会引起oracle自动设置NAMES.DEFAULT_DOMAIN参数?出现这种情况的典型环境为:1.windows的客户端的我得电脑属性计算机名更改其它此计算机的主DNS后缀中设置了primary dns suffix,因为在这种情况下安装Oracle客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数。2.机器启动时加入windows的域中。此情况实际为第一种情况。手工配置手工配置Oracle客

16、户端客户端如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。如果上面的招数还不奏效的话,只好用一下乾坤大挪移了。将客户端的网络服务名部分=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=)拷贝到服务器的tnsnames.ora文件中。然后再服务器端用sqlplus system/连接到数据库。如果能连接成功,说明你的客户端与服务器端的网络有问题。如果连接不成功,用前面的部分检查网络服务名部分部分是否正确,如果确信网络服务名部分正确

17、而且所有的客户端都连不上数据库则可能为系统TCP/IP或Oracle系统有问题,建议重新安装数据库。常见故障解决办法TNS-12154(ORA-12154):TNS:could not resolve service name该错误表示用于连接的网络服务名在tnsnames.ora文件中不存在,如上面的tnsnames.ora中的网络服务名只有test,假如用户在连接时用sqlplus system/managertest1则就会给出TNS-12154错误。要注意的是,有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型环境为wind

18、ows的客户端的我得电脑属性计算机名更改其它此计算机的主DNS后缀中设置了primary dns suffix,因为在这种情况下安装客户端时,会在sqlnet.ora文件中自动设置NAMES.DEFAULT_DOMAIN参数,或许当把计算机加入域中安装oracle客户端时也会出现这种情况。这种情况下典型的oracle配置文件如下(在客户端的机器上):常见故障解决办法sqlnet.ora文件:文件:NAMES.DIRECTORY_PATH=(TNSNAMES,.)NAMES.DEFAULT_DOMAIN=tnsnames.ora文件文件:test=(DESCRIPTION=(ADDRESS_LI

19、ST=(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=)常见故障解决办法sql*plus运行基本机理:在用户输入sqlplus system/managertest后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假如该参数存在,则将该参数中的值取出,加到网络服务名的后面,即此例中你的输入由sqlplus system/managertest自动变为sqlplus system/,然后再到tnsnames.ora文件中找网络服务名,

20、这当然找不到了,因为该文件中只有test网络服务名,所以报错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉或删除即可,如#NAMES.DEFAULT_DOMAIN=。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找test网络服务名,然后取出其中的host,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。另外原则上tnsnames.ora中的配置不区分大小写,但是我的确遇到区分大小写的情况,所以最好将使用的网络服务与tnsnames

21、.ora中配置的完全一样。常见故障解决办法我在设置oracle的客户端时一般手工修改tnsnames.ora文件,但是还有许多人喜欢用图形工具配置,该图形工具最终还是修改tnsnames.ora文件,但是它有时会引起其它的问题:在用oracle的图形配置软件net assistant或Net Configuration Assistant配置网络服务名时,假如已经设置了primary dns suffix,但是在图形配置软件中写的网络服务名的名字中没有primary dns suffix,如只是写了test,则图形配置软件会自动在后面加上primary dns suffix,使之变为,并存在t

22、nsnames.ora中,而不管你的sqlnet.ora文件中是否有NAMES.DEFAULT_DOMAIN参数。此时,用图形工具进行测试连接是通过的,但是假如此时sqlnet.ora文件中没有NAMES.DEFAULT_DOMAIN参数,则你在使用网络服务名时应该使用在tnsnames.ora中的,而不是你在图形配置软件中键入的test。解决的办法为:可以在sqlnet.ora文件中设置NAMES.DEFAULT_DOMAIN=,这时你可以用test或连接数据库在sqlnet.ora文件中不设置NAMES.DEFAULT_DOMAIN参数,在tnsnames.ora文件中将中的去掉,这时你可

23、以用test连接数据库。常见故障解决办法ORA-12514:TNS:listener could not resolve SERVICE_NAME given in connect Descriptor.该错误表示能在tnsnames.ora中找到网络服务名,但是在tnsnames.ora中指定的SERVICE_NAME与服务器端的SERVICE_NAME不一致。解决的办法是修改tnsnames.ora中的SERVICE_NAME。ORA-12541:TNS:no listener可能原因有如下几项:1服务器的listener没有启动。2客户端的网络服务名(数据库别名)设置有误,使用了与服务器

24、端侦听端口不一致的端口连接数据库。3客户端的网络服务名(数据库别名)设置有误,使用了与服务器端侦听ip不一致的ip,连接数据库。解决办法:解决办法:1在服务器端,在dos窗口下doslsnrctl stat-查看listener是否启动doslsnrctl start-启动listener2改oracle的客户端配置文件tnsnames.ora,使两端的端口一致3改oracle的客户端配置文件tnsnames.ora,使两端的端口一致。这种情况发生的比较常见的案例是服务器上有两个ip,侦听知识监听其中的一个ip,但是在客户端你用另一个ip连接数据库。易混淆术语介绍Db_name:对一个数据库(

25、Oracle database)的唯一标识,该数据库为第一章讲到的Oracle database。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用.连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩

26、展了Db_name。Db_name参数只能由字母、数字、_、#、$组成,而且最多8个字符。Db_domain:定义一个数据库所在的域,该域的命名同互联网的域没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于互联网的域。易混淆术语介绍Global_name:对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name.Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Glob

27、al_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO 命令进行修改,然后修改相应参数。Service_name:该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name.Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更

28、灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。易混淆术语介绍Net service name:网络服务名,又可以称为数据库别名(database alias),主机连接字符串。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。将配置的数据库加入到将配置的数据库加入到OEM管理树中管理树中用图形工具或手工修改配置文件建立的网络服务名不会自动加入到OEM的管理树中,我们需要将新建的网络服务名加入到OEM的管理树中,以便用OEM对数据库进行管理使用使用Oracle企业管理器企业管理器(OEM)1。启动启动O

29、EM。使用使用Oracle企业管理器企业管理器(OEM)2。使用使用”独立启动独立启动”方式启动方式启动OEM。使用使用Oracle企业管理器企业管理器(OEM)3。在在”导航器导航器”中选择中选择”将数据库添加到树将数据库添加到树”。使用使用Oracle企业管理器企业管理器(OEM)3。选中选中“从本地的从本地的tnsnames.ora文件中添加已文件中添加已选数据库选数据库”,只选中刚刚新建,只选中刚刚新建的的test网络服务名,此处为网络服务名,此处为(因为当前机因为当前机器在域中,图形工具自动将语器在域中,图形工具自动将语句加在你创建的网络服务名的句加在你创建的网络服务名的后面后面)。

30、使用使用Oracle企业管理器企业管理器(OEM)3。右键单击数据库,从弹出菜单中选择”连接(C).”使用使用Oracle企业管理器企业管理器(OEM)3。数据用户名。密码即可连接到数据库对数据库进行管理。Oracle的专用服务器与多线索服务器Oracle的服务进程处理连接到数据库的用户进程的请求,处理用户的请求后,将结果传给用户进程。服务进程分为两种:专用服务进程 共享服务进程Dedicated Server ArchitectureNetSGAUser ApplicationUser ApplicationClientWorkStationServerProcessServerProces

31、sDatabaseServerListenerDedicated Server Architecture每个用户进程对应一个服务进程用户进程与服务进程的比例为1:1即使用户没有请求,服务进程仍然存在,此时处于空闲时间,不能为其它用户进程服务优点:对用户进程的请求响应比较快缺点:浪费资源Shared Server ArchitectureNetSGARequestQueuesResponseQueuesServerProcessesDatabaseServerDispatcher Processes45678ClientWorkStationUserApplication39Listener12

32、Shared Server Architecture一个服务进程对应多个用户进程当一个用户进程没有请求时,服务进程仍然存在,此时处于空闲时间,但是可以处理其它用户进程的请求优点:节省资源,能处理大量的用户连接缺点:对用户进程的请求响应稍微慢一些关键点 一个数据库可以配置为专用服务器,也可以配置为共享服务器(多线索服务器),也可以配置为专用服务器与共享服务器共存与一个数据库中。如何确定一个连接是如何确定一个连接是DEDICAED还是还是SHARED。SELECT sid,serial#,server FROM V$SESSION;如何配置成为如何配置成为SHARED:只要在参数文件中正确的配置了MTS_DISPATCHERS参数,该服务器就运行在SHARED模式下:MTS_DISPATCHERS=“(PROTOCOL=TCP)(DISPATCHERS=3)(SERVICE=)”如何配置成为如何配置成为DEDICATED:在参数文件中没有配置MTS_DISPATCHERS参数,该服务器就运行在DEDICATED模式下。在配置了共享模式的情况下,可以在客户端的配置中使用(server=dedicated)选项,使一个用户的连接为专用连接。(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=xyj)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁