(完整)Listener.ora、sqlnet.ora、tnsnames.ora三个配置文件区别

合集下载

sqlnet.ora参数

sqlnet.ora参数

sqlnet.ora参数sqlnet.ora文件是Oracle数据库中的一个配置文件,它用于配置SQLNet(或者称为Net8)参数,这些参数控制了Oracle客户端和服务器之间的网络通信。

在sqlnet.ora文件中,可以配置各种参数来优化网络通信的性能、安全性和可靠性。

一些常见的sqlnet.ora参数包括:1. SQLNET.AUTHENTICATION_SERVICES,这个参数指定了客户端和服务器之间的身份验证服务。

可以设置为多个值,包括NONE(不进行身份验证)、NTS(使用Windows本地身份验证服务)和KERBEROS5(使用Kerberos身份验证)等。

2. SQLNET.ENCRYPTION_TYPES_CLIENT和SQLNET.ENCRYPTION_TYPES_SERVER,这两个参数分别指定了客户端和服务器之间用于加密通信的加密算法。

可以配置为多种加密算法,比如AES256、3DES168等。

3. SQLNET.CRYPTO_CHECKSUM_CLIENT和SQLNET.CRYPTO_CHECKSUM_SERVER,这两个参数用于指定客户端和服务器之间用于数据完整性检查的校验和算法。

常见的取值包括SHA1、MD5等。

4. SQLNET.EXPIRE_TIME,这个参数指定了在服务器端检测客户端连接是否处于活动状态的时间间隔。

当客户端在指定的时间内没有发送任何数据包时,服务器会关闭连接。

5. SQLNET.INBOUND_CONNECT_TIMEOUT和SQLNET.OUTBOUND_CONNECT_TIMEOUT,这两个参数分别指定了服务器端和客户端连接的超时时间,用于限制连接建立的最大时间。

6. SQLNET.ALLOWED_LOGON_VERSION_SERVER,这个参数用于指定服务器允许的客户端密码验证协议的版本。

可以配置为11、12等值。

除了上述参数外,sqlnet.ora文件还可以配置一些其他参数,比如连接重试次数、连接超时时间、日志记录级别等。

协议适配器错误的问题

协议适配器错误的问题

协议适配器错误的问题今天遭遇ORA-12560: : 协议适配器错误的问题,经过⼀番努⼒问题已经解决,与⼤家共享。

造成ORA-12560: : 协议适配器错误的问题的原因有三个:1.监听服务没有起起来。

windows平台个⼀如下操作:开始---程序---管理⼯具---服务,打开服务⾯板,启动home92listener服务。

2.database instance没有起起来。

windows平台如下操作:开始---程序---管理⼯具---服务,打开服务⾯板,启动serviceXXXX,XXXX就是你的database .3.注册表问题。

regedit,然后进⼊HKEY_LOCAL_MACHINE\SOFTWARE\\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database .或者右⼏,属性--⾼级--环境变量---系统变量--,变量名=oracle_,变量值=XXXX,XXXX就是你的database SID.或者进⼊sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.经过以上步骤,就可以解决问题。

22222222222222222222我们知道oracle客户端连接时涉及⽤到的⼏个配置⽂件有:sqlnet.ora、tnsnames.ora、listener.ora。

其中sqlnet.ora和tnsnames.ora是在客户端的配置⽂件,listener.ora则是在服务器端的监听配置⽂件。

想要顺利的连接上服务器端,⾸先要确保两者之间的⽹络通畅。

其⼆在服务器上配置好监听程序。

其三是客户端配置好相应的tnsnames.ora。

在配置服务器端监听程序时要注意⼏点: 1、在服务器上的/etc/hosts⽂件中需要有127.0.0.1 localhost 这⼀条.默认情况下是有的。

若没有则在启动监听器是会报TNS-12537:TNS:connection closed的错误.同时最好添加上你的服务器IP 主机名。

配置listener.ora和tnsnames.ora

配置listener.ora和tnsnames.ora

服务器上包含多个库时,listener.ora和tnsnames.ora的配置收藏1.配置内容:1).listener.oraSID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)(PROGRAM = extproc))(SID_DESC =(SID_NAME = orcl)(ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)(global_dbname = orcl))(SID_DESC =(SID_NAME = PRACTICE)(ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)(global_dbname = PRACTICE))(SID_DESC =(SID_NAME = RCA T)(ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)(global_dbname = RCA T)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = doone.pan)(PORT = 1521)) )))2).tnsnames.oraorcl =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = doone)(PORT = 1521))(CONNECT_DA TA =(SERVER = DEDICA TED)(SERVICE_NAME = orcl)))rcat =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = doone)(PORT = 1521))(CONNECT_DA TA =(SERVER = DEDICA TED)(SERVICE_NAME = rcat)))PRACTICE =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = doone)(PORT = 1521))(CONNECT_DA TA =(SERVER = DEDICA TED)(SERVICE_NAME = PRACTICE)))EXTPROC_CONNECTION_DA TA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(CONNECT_DA TA =(SID = PLSExtProc)(PRESENTA TION = RO)))2.说明1).连接时可以用conn user/pwd@orcl,conn user/pwd@ract,conn user/pwd@practice2).多库时,不配置上面两文件,可能出现的问题.a.conn user/pwd 如果直接用这样连接,默认连到最后建的那库上b.ORA-01041: internal error. hostdef extension doesn't exist.出现这原因,一般是tns没配置对应库说明.导致库关闭后,重启出现问题c.ORA-12170: TNS:Connect timeout occurred出现这错误,一般是listener.ora没配置对应库说明d.ORA-12514: TNS:listener does not currently know of service requested in connect descriptor出现这错误,一般是listener.ora没配置对应库说明。

oracle监听配置文件详解

oracle监听配置文件详解

1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(divSENTATION = http://admin)
)
)
EXTPROC_CONNECTION_DATA.LOCALDOMAIN =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(SID_NAME = oid)
)
)
& 说明
1 listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER
这个监听器缺省以tcp/ip为协议地址且端口号为1521运行 在CAMS应用中
监听文件定义的监听器就使用这个缺省名字 并且使用缺省的协议 tcp/ip
即监听配置文件 在本小节说明 另两个文件分别在随后的两个小节说明
监听配置文件 listener.ora 的存放路径为 $ORACLE_HOME/network/admin
以下是一个示例
LISTENER = #监听器名称
器的服务 即为哪些数据库实例提供监听服务 以 cams 实例为例 其对应的
服务信息为
(SID_DESC =
(GLOBAL_DBNAME = cams) #数据库名
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = cams) #数据库实例名
(PORT = 2481))

sqlnet.ora配置详解

sqlnet.ora配置详解

一、sqlnet.orasqlnet.ora用在oracle client端,用于配置连接服务端oracle的相关参数。

1).NAMES.DEFAULT_DOMAIN:域名domain定义,在你用sqlplus访问数据库的时候,会在tns别名后面加上".domain"示例:.NAMES.DEFAULT_DOMAIN=.com在客户端执行命令:sqlplus username/password@local_dev的时候,会出现如下错误信息:"ORA-12154: TNS: 无法处理服务名"或者"ORA-12154: TNS:could not resolve service name"这样的错误信息。

因为sqlplus username/password@orcl的时候,将tns别名“orcl”转换成了“”,所以在tnsnames.ora中找不到,就报错了。

修改tnsnames.ora中的定义如下: =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.147)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))再执行sqlplus username/password@orcl连接成功。

2)NAMES.DIRECTORY_PATH:定义了在客户端连接数据库时,采用什么样的匹配方式。

示例:NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)那么在客户端执行sqlplus username/password@local_dev连接数据库的时,首先采用tnsnames.ora的别名配置连接数据库;如果连接上;再采用ONAMES进行解析,最后采用主机名进行解析。

linux上的sqlnet.ora限制IP访问

linux上的sqlnet.ora限制IP访问

配置sqlnet.ora限制IP访问Oracle与防火墙类似的功能,Oracle 提供限制与允许特定的IP或主机名通过Oracle Net来访问数据库。

这个功能由sqlnet.ora配置文件来实现。

该文件通常$ORACLE_HOME/network/admin/ 目录下,与tnsnames.ora以及listener.ora位于同一路径。

用法也比较简单。

通过监听器的限制,实现轻量级访问限制,比在数据库内部通过触发器进行限制效率要高。

1. 实现通过在sqlnet.ora文件中增加下列记录来实现tcp.validnode_checking = yestcp.invited_nodes = (hostname1, hostname2,ip1,ip2)tcp.excluded_nodes = (10.103.11.17,hostname1,hostname2)当使用invited_nodes时,则所有没有包含在invited_nodes值中的IP或主机将无法通过Oracel Net连接到数据库。

而如果使用excluded_nodes时,除了excluded_nodes值中列出的IP和主机不可访问之外,其余的节点都可以访问数据库。

通常情况下,更倾向于使用excluded_nodes参数。

2. 注意使用excluded_nodes与invited_nodes的一些特性不支持通配符的使用(如hostname不能写为svhs0*,IP地址不能写为10.103.11.*)excluded_nodes与invited_nodes为互斥方式,要么使用前者,要么使用后者如果tcp.invited_nodes与tcp.excluded_nodes都存在,则tcp.invited_nodes优先要将本地地址,或者Cluster群集其他节点的地址都加入到允许列表,否则监听器可能无法启动修改之后,一定要重起监听或reload才能生效,而不需要重新启动数据库仅提供对TCP/IP协议的支持3. 实战-->使用tnsping demo92,连接正常C:\>tnsping demo92TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on25-JUN-2011 18:55:39Copyright (c) 1997, 2010, Oracle. All rights reserved.Used parameter files:d:\app\Robinson\Oracle_client\product\11.2.0\client_1\network\admin\sqlne t.oraUsed TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.103.11.209)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = demo92)))OK (0 msec)-->查看配置文件[oracle@test admin]$ more sqlnet.ora# SQLNET.ORA Network Configuration File:/oracle/92/network/admin/sqlnet.ora# Generated by Oracle configuration tools.NAMES.DIRECTORY_PATH= (ONAMES, TNSNAMES, HOSTNAME)#Added by Robinsontcp.validnode_checking = yestcp.excluded_nodes = (10.103.11.17)-->重新reload[oracle@test admin]$ lsnrctl reload listener_demo92LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 10:03:11Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))) The command completed successfully-->再次tnsping时,收到TNS-12547错误C:\>tnsping demo92TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 25-JUN-2011 19:01:21Copyright (c) 1997, 2010, Oracle. All rights reserved.Used parameter files:d:\app\Robinson\Oracle_client\product\11.2.0\client_1\network\admin\sqlne t.oraUsed TNSNAMES adapter to resolve the aliasAttempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.103.11.209)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = demo92)))TNS-12547: TNS:lost contact-->下面的演示中如果excluded_nodes与invited_nodes都存在,则invited_nodes 优先,不再演示[oracle@test admin]$ more sqlnet.ora# SQLNET.ORA Network Configuration File:/oracle/92/network/admin/sqlnet.ora# Generated by Oracle configuration tools.NAMES.DIRECTORY_PATH= (ONAMES, TNSNAMES, HOSTNAME)#Added by Robinsontcp.validnode_checking = yestcp.excluded_nodes = (10.103.11.17)tcp.invited_nodes = (10.103.11.17)4.使用触发器限制单用户或IP段-->限制单用户从单IP登录,下面限制scott用户从客户端的登录CREATE OR REPLACE TRIGGER disableloginAFTER logon ON scott.schema -->注意使用方式为username.schemaDECLAREipaddr VARCHAR2(30);BEGINSELECT sys_context('userenv', 'ip_address')INTO ipaddrFROM dual;IF ipaddr = '10.103.11.17' THENraise_application_error('-20001','You can not login,Please contact administrator');END IF;END disablelogin;/-->限制IP段登录CREATE OR REPLACE TRIGGER chk_ip_rangeAFTER logon ON scott.schemaDECLAREipaddr VARCHAR2(30);BEGINSELECT sys_context('userenv', 'ip_address')INTO ipaddrFROM dual;IF ipaddr LIKE ('10.103.11.%') THENraise_application_error('-20001','You can not login,Please contact administrator');END IF;END chk_ip_range;/5.更多参考/reference/net_services.html/forums/thread.jspa?messageID=45664496.快捷参考有关性能优化请参考Oracle硬解析与软解析共享池的调整与优化(Sharedpool Tuning)Buffercache 的调整与优化(一)Oracle表缓存(cachingtable)的使用有关ORACLE体系结构请参考Oracle表空间与数据文件Oracle密码文件Oracle参数文件Oracle联机重做日志文件(ONLINE LOG FILE)Oracle控制文件(CONTROLFILE)Oracle归档日志Oracle回滚(ROLLBACK)和撤销(UNDO)Oracle数据库实例启动关闭过程Oracle10g SGA 的自动化管理Oracle实例和Oracle数据库(Oracle体系结构)有关闪回特性请参考Oracle闪回特性(FLASHBACK DATABASE)Oracle闪回特性(FLASHBACK DROP & RECYCLEBIN)Oracle闪回特性(Flashback Query、FlashbackTable)Oracle闪回特性(Flashback Version、Flashback Transaction)有关基于用户管理的备份和备份恢复的概念请参考Oracle冷备份Oracle热备份Oracle备份恢复概念Oracle实例恢复Oracle基于用户管理恢复的处理(详细描述了介质恢复及其处理) SYSTEM表空间管理及备份恢复SYSAUX表空间管理及恢复有关RMAN的备份恢复与管理请参考RMAN 概述及其体系结构RMAN 配置、监控与管理RMAN 备份详解RMAN 还原与恢复RMANcatalog 的创建和使用基于catalog 创建RMAN存储脚本基于catalog 的RMAN 备份与恢复使用RMAN迁移文件系统数据库到ASMRMAN 备份路径困惑(使用plus archivelog时)有关ORACLE故障请参考ORA-32004的错误处理ORA-01658错误CRS-0215错误处理ORA-00119,ORA-00132 错误处理又一例SPFILE设置错误导致数据库无法启动对参数FAST_START_MTTR_TARGET= 0 的误解及设定SPFILE错误导致数据库无法启动(ORA-01565)有关ASM请参考创建ASM实例及ASM数据库ASM 磁盘、目录的管理使用ASMCMD 工具管理ASM目录及文件有关SQL/PLSQL请参考SQLPlus常用命令替代变量与SQL*Plus环境设置使用Uniread实现SQLplus翻页功能SQL 基础-->SELECT 查询SQL 基础--> NEW_VALUE的使用SQL 基础--> 集合运算(UNION与UNION ALL)SQL 基础--> 常用函数SQL 基础--> 视图(CREATEVIEW)SQL 基础--> 创建和管理表SQL 基础--> 多表查询SQL 基础--> 过滤和排序SQL 基础--> 子查询SQL 基础--> 分组与分组函数SQL 基础--> 层次化查询(STARTBY ... CONNECT BY PRIOR) SQL 基础--> ROLLUP与CUBE运算符实现数据汇总PL/SQL--> 游标PL/SQL--> 异常处理(Exception)PL/SQL--> 语言基础PL/SQL--> 流程控制PL/SQL--> PL/SQL记录PL/SQL--> 包的创建与管理PL/SQL--> 隐式游标(SQL%FOUND)PL/SQL--> 包重载、初始化PL/SQL--> DBMS_DDL包的使用PL/SQL--> DML 触发器PL/SQL--> INSTEAD OF 触发器PL/SQL--> 存储过程PL/SQL--> 函数PL/SQL--> 动态SQLPL/SQL--> 动态SQL的常见错误有关ORACLE其它特性Oracle常用目录结构(10g)使用OEM,SQL*Plus,iSQL*Plus 管理Oracle实例日志记录模式(LOGGING、FORCE LOGGING 、NOLOGGING) 表段、索引段上的LOGGING与NOLOGGINGOralceOMF 功能详解Oracle用户、对象权限、系统权限Oracle角色、配置文件Oracle分区表Oracle外部表使用外部表管理Oracle 告警日志(ALAERT_$SID.LOG)簇表及簇表管理(Index clustered tables)数据泵EXPDP 导出工具的使用数据泵IMPDP 导入工具的使用导入导出Oracle 分区表数据SQL*Loader使用方法启用用户进程跟踪配置非默认端口的动态服务注册配置ORACLE 客户端连接到数据库systemsys,sysoper sysdba 的区别ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAMEOracle补丁全集(Oracle 9i 10g 11g Path)Oracle10.2.0.1 升级到10.2.0.4Oracle彻底kill session院子网络的配置。

oracle_listener_详解

oracle_listener_详解

Oracle监听-提纲o ORACLE工作机制o ORACLE监听参数o ORACLE监听功能o ORACLE监听配置o ORACLE网络构架o ORACLE精简版构造o ORACLE常见问题ORACLE工作机制o从一个用户请求开始讲,ORACLE的完整的工作机制是怎样的,首先一个用户进程发出一个连接请求,如果使用的是主机命名或者是本地服务命中的主机名使用的是机器名(非IP地址),那么这个请求都会通过DNS服务器或HOST文件的服务名解析然后传送到ORACLE监听进程,监听进程接收到用户请求后会采取两种方式来处理这个用户请求o下面我们分专用服务器和共享服务器分别采用这两种方式时的情况来讲专用服务器模式o一种方式是监听进程接收到用户进程请求后,产生一个新的专用服务器进程,并且将对用户进程的所有控制信息传给此服务器进程,也就是说新建的服务器进程继承了监听进程的信息,然后服务器进程给用户进程发一个RESEND包,通知用户进程可以开始给它发信息了,用户进程给这个新建的服务器进程发一个CONNECT包,服务器进程再以ACCEPT包回应用户进程,致此,用户进程正式与服务器进程确定连接。

我们把这种连接叫做HAND-OFF连接,也叫转换连接专用服务器模式o另一种方式是监听进程接收到用户进程的请求后产生一个新的专用服务器进程,这个服务器进程选用一个TCP/IP端口来控制与用户进程的交互,然后将此信息回传给监听进程,监听进程再将此信息传给用户进程,用户进程使用这个端口给服务器进程发送一个CONNECT包,服务器进程再给用户进程发送一个ACCEPT包,致此,用户进程可以正式向服务器进程发送信息了。

这种方式我们叫做重定向连接。

专用服务器模式o另HAND-OFF连接需要系统平台具有进程继承的能力,为了使WINDOWS NT/2000支持HAND-OFF必须在HKEY_LOCAL_MACHINE>SOFTWARE>ORACLE >HOMEX中设置USE_SHARED_SOCKET 。

Oracle 12c连接PDB时listener和tnsnames.ora配置

Oracle 12c连接PDB时listener和tnsnames.ora配置

Oracle 12c连接PDB时,listener和tnsnames.ora配置1、配置监听首先要明确,所有的PDB都使用1个监听,配置多个实际上启动时也只有第1个有意义。

LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c_A)(PORT = 1521)) )接下来使用SID_LIST_LISTENER来进行静态注册服务。

SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = ora12c) #该服务是我配置的cdb信息(SID_NAME = ora12c))(SID_DESC =(GLOBAL_DBNAME = pdborcl)#该服务是我配置的pdb信息(SID_NAME = ora12c)))ADR_BASE_LISTENER = /opt/oracle2、tnsnames.ora配置观察发现,在tnsnames中配置pdb跟CDB,即原来11g的配置完全一样。

这里SERVICE_NAME = pdborcl使用得是PDB的名字,可以在v$pdbs中查看。

ORA12C =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c_A)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = ora12c)))pdborcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = ora12c_A)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = pdborcl)))3、为了保险,检查下sqlnet.oraNAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)这一句是为了保证优先使用TNSNAMES解析。

监听器文件listener.ora的设置和tnsnames.ora设置

监听器文件listener.ora的设置和tnsnames.ora设置

监听器文件listener.ora的设置和tnsnames.ora设置分类:oracle学习2011-09-19 23:33 1276人阅读评论(0) 收藏举报oracle数据库networkservice网络list监听器文件listener.ora的设置:监听器配置文件位置D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora内容:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = gaohaiyang)(PORT = 1521)))))需要注意是HOST的配置,一般情况下HOST=hostname,如果oracle所在主机连入网络(局域网或者因特网),还可以配置为主机IP地址,例如192.168.3.152但是在联网的时候不能设置为127.0.0.1或者localhost,否则连接时会出现如下错误:C:\Documents and Settings\Administrator>sqlplus pwgh_sz/pwgh_sz@orclSQL*Plus: Release 10.1.0.2.0 - Production on 星期一9月19 23:16:56 2011 Copyright (c) 1982, 2004, Oracle. All rights reserved.ERROR:ORA-12541: TNS:no listenerEnter user-name:如果oracle所在主机没有连入网络,则可以设置为127.0.0.1tnsnames.ora设置:tnsnames.ora文件的位置D:\oracle\product\10.1.0\Db_1\network\admin\tnsnames.ora内容:ORCL_SZ =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))需要注意到有网络服务名,在上面的例子中就是ORCL_SZ,使用sqlplus连接数据库时指定此名字,如:sqlplus pwgh_sz/pwgh_sz@ORCL_SZHost一般设置为oracle服务器的地址,如:192.168.0.100,但是如果要连接的数据库在本机上,则还可以设置为hostname。

tnsnames.ora 写法

tnsnames.ora 写法

tnsnames.ora 是Oracle数据库中的一个配置文件,它用于定义数据库服务的位置区域和名称,客户端连接数据库时会使用 tnsnames.ora 文件中定义的信息来定位数据库服务。

正确的编写和维护tnsnames.ora 文件对于数据库连接的正常运行至关重要,因此需要遵循一定的规范和写法。

1. 文件位置和命名tnsnames.ora 文件通常位于 $ORACLE_HOME/network/admin 目录下,其中 $ORACLE_HOME 为Oracle软件的安装目录。

文件名必须严格为 tnsnames.ora,大小写敏感。

2. 文件格式tnsnames.ora 文件采用文本格式进行编辑,可以使用任何文本编辑器进行修改。

每个数据库服务的定义应该按照以下格式进行编写:```<服务名> =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = <主机名>)(PORT = <端口号>))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = <服务名>)))```在上述示例中,<服务名> 为该数据库服务的名称,<主机名> 为数据库服务器的主机位置区域,<端口号> 为数据库监听的端口号,<服务名> 为数据库的服务名或者SID。

3. 服务名在 tnsnames.ora 文件中定义的服务名应该具有一定的可识别性和描述性,以方便数据库管理员和开发人员识别和使用。

通常建议使用数据库实例的名称或者与业务相关的名称作为服务名。

4. 主机名和端口号在定义数据库服务时,必须准确填写数据库服务器的主机名和监听端口号。

这些信息由数据库管理员在部署数据库时进行配置,需要与实际的数据库服务器配置保持一致。

5. 服务名与实例名在 tnsnames.ora 文件中,需要明确区分服务名和数据库实例名。

oracle数据库tns配置方法详解

oracle数据库tns配置方法详解

oracle数据库tns配置⽅法详解TNS简要介绍与应⽤Oracle中TNS的完整定义:transparence Network Substrate透明⽹络底层,监听服务是它重要的⼀部分,不是全部,不要把TNS当作只是监听器。

TNS是Oracle Net的⼀部分,专门⽤来管理和配置Oracle数据库和客户端连接的⼀个⼯具,在⼤多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不⽤配置TNS也可以连接Oracle数据库,⽐如通过JDBC。

如果通过TNS连接Oracle,那么客户端必须安装Oracle client程序。

Oracle当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客户端⾃动列举出在局域⽹内所有的在线服务器,只需在客户端选择需要的服务器,然后使⽤帐号与密码登录即可。

⽽Oracle不能⾃动列举出⽹内的服务器,需要通过读取TNS配置⽂件才能列出经过配置的服务器名。

配置⽂件名⼀般为:tnsnames.ora,默认路径:%ORACLE_HOME%\network\admin\tnsnames.ora上图中的CGDB和STDCG就是对应的TNS,HOST是指向数据库服务器的IP,当然局域⽹内⽤计算机名称也是可以的。

通过客户端Net Manager创建⼀个连接到数据库服务器的连接服务时,实际上就是在tnsnames.ora⽂件中增加了⼀个TNS的内容。

TNS的详细配置⽂件TNS的配置⽂件包括服务器端和客户端两部分。

服务器端有listener.ora、sqlnet.ora和tnsnames.ora,如果通过OCM(Oracle Connection Manage)和域名服务管理客户端连接,服务器端可能还包括cman.ora等⽂件;客户端有tnsnames.ora,sqlnet.ora。

Oracle所有的TNS配置⽂件的默认路径:%ORACLE_HOME%\network\adminlistener.ora:监听器配置⽂件,成功启动后是驻留在服务器端的⼀个服务。

Oracle数据库中listener.ora sqlnet.ora tnsnames.ora的区别

Oracle数据库中listener.ora sqlnet.ora tnsnames.ora的区别

oracle导入库是否要新建一个数据库。

从另外地方得到的dmp导入到本地,本地已经有一个库了。

详细步骤及说明。

Oracle数据库的逻辑备份EXP/IMP命令,得到DMP备份文档。

逻辑备份EXP有四种方式:1、系统方式2、表空间方式3、用户方式4、表方式。

但对IMP导入是比较灵活的。

即可以完全导入,也可以部分倒入。

导入可按以下几种方式进行:1、对于系统备份方式的完全导入,最好要新建数据库或把现有的数据库清理干净,创建导入文档所必需的表空间、用户等内容;2、对于表空间备份方式的完全导入,则要创建与备份文档所必须的表空间和用户就可以了;3、对于用户和表方式备份的导入,则可随意导入到某个用户,无需创建人和结构;4、对于备份文档的部分导入,根据所要导入的内容灵活处理就可以了。

更详细的内容参看Oracle数据库的逻辑备份EXP/IMP参考书吧。

不需要新建数据库,新建一个用户就可以了。

imp user/pass file=d:\bible_db.dmp log=d:\dible_db.log fromuser=user1 touser=user1. 获取帮助imp help=y2. 导入一个完整数据库imp system/manager file=bible_db log=dible_db full=y ignore=y3. 导入一个或一组指定用户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seaparkimp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)4. 将一个用户所属的数据导入另一个用户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copyimp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)5. 导入一个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)6. 从多个文件导入imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G full=y7. 使用参数文件imp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Import the sample tables used for the Oracle8i Database Administrator's#Bible.fromuser=seapark touser=seapark_copy file=seapark log=seapark_import。

Oracle数据库TNS常见错误解决方法--JavaEye技术网站

Oracle数据库TNS常见错误解决方法--JavaEye技术网站

Oracle数据库TNS常见错误解决方法--JavaEye技术网站Oracle数据库TNS常见错误解决方法1、ORA-12541:TNS:没有监听器原因:没有启动监听器或者监听器损坏。

若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路OK。

在添加之前可能需要把所有的监听器先删!)2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误原因:ORACLE的数据库服务没有启动。

使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。

如果仍没有解决,请继续向下看。

3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:1)ORADIM -DELETE -SID oradb 删除数据库服务项2)ORADIM -NEW -SID oradb 新增数据库服务项注:这个过程中如果出错,就重启计算机!4、ORA-12154:TNS:能解析服务名原因:ORACLE的网络服务名没有正确配置。

请使用“Net8Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。

如果仍没有解决,请继续向下看。

5、ORA-1034 :TNS:ORACLE不可用原因:ORACLE的数据库服务正确启动,但是数据库没有打开!使用命令:1)svrmgrl 启动服务管理器2)connect internal 以internal身份登陆3)startup 打开数据库6、ORA-12560:TNS:协议适配器错误(顽固性的)原因:未知。

解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe 及ORADIM.exe进程,书写自己的ora_startup.bat,执行之!PS:1、ora_startup.bat:net start OracleOraHome81TNSListenernet start ORACLESERVICEORADBsvrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。

Oracle的sqlnet.ora文件配置

Oracle的sqlnet.ora文件配置

Oracle的sqlnet.ora⽂件配置 DBA对这个⽂件⼀定不会陌⽣,⼤家了解最多的也⼀定是sqlnet.ora⽤来决定oracle怎么解析⼀个连接中出现的字符串,例如:sqlplus sys/oracle@orcl那么这个orcl怎么解析?如果你的sqlnet.ora这样配置的: SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)那么,客户端就会⾸先在tnsnames.ora⽂件中找orcl的记录.如果没有相应的记录则尝试把orcl当作⼀个主机名,通过⽹络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这⾥orcl并不是⼀个主机名 如果我是这个样⼦ NAMES.DIRECTORY_PATH= (TNSNAMES) 那么客户端就只会从tnsnames.ora查找orcl的记录今天,我们来详细的了解⼀下sqlnet.ora中参数的配置以及各⾃的意义。

按官⽅⽂档的说法,sqlnet.ora有这么多作⽤:Specify the client domain to append to unqualified namesPrioritize naming methodsEnable logging and tracing featuresRoute connections through specific processerConfigure parameters for external namingConfigure Oracle Advanced SecurityUse protocol-specific parameters to restrict access to the database重要参数及解释:1.BEQUEATH_DETACH控制unix系统中signal handling 的开关,默认是no,即signal handling 打开。

Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置

Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置

Oracle数据库监听器(LISTENER)和本地服务名(Tnsname)配置分类:Oracle 基础知识2009-11-24 10:12 8315人阅读评论(7) 收藏举报一、监听器(LISTENER)监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。

既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。

二、本地服务名(Tnsname)Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。

本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。

Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。

三、Oracle网络连接配置方法配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle 服务端或客户端的配置)。

在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:$ netmgrWindows下启动Net Manager图形窗口如下图示:图(一)1、 Oracle监听器配置(LISTENER)如图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。

选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。

Oracle11监听程序问题解决

Oracle11监听程序问题解决

Oracle11监听程序问题
在windows环境下安装oracle11有时候会遇到监听程序相关错误大致分为以下几种类型:
1.无监听程序
2.监听程序当前无法识别连接描述符中请求的服务
3.无法启动监听程序
首先,新建一个本地网络服务名配置来测试这些可能存在的问题。

完成后,对其进行测试。

1.无监听程序ORA-12541
首先确定监听程序是否启动,如果未启动,尝试启动它。

启动后可能会遇到下面两个问题中的一个:
2.监听程序当前无法识别连接描述符中请求的服务ORA-12541
listener.ora和tnsnames.ora这两个文件的内容不一致造成的。

以前在oracle10的时候经常会遇到这个问题。

但是在11以后,手工改这个文件容易改错。

所以,我建议使用Net config Assistant工具来改。

注意:每次修改过这两个文件必须重启oaracle服务和监听服务,并且重启Net config Assistant进行重新测试。

3.无法启动监听程序
listener.ora文件的内容可能被手工修改错了,按照下面步骤来修复:
1)删除现有的所有监听程序。

2)删除listener.ora和tnsnames.ora这两个文件。

3)新建监听服务
4.用户名口令无效ORA-101017
看到这个基本就成功了。

修改一下登陆就行了。

oracle安装目录的各文件夹

oracle安装目录的各文件夹

C:\Oracle\Ora81\dbs\pupbld.sql --新建一个数据库之后需要执行的脚本
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
======================================
Oracle 8.1.6 for Win2000 系统文件解释
系统环境:
1、操作系统:Windows 2000
2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
3、安装路径:C:\ORACLE
令行方式下,正常关闭数据库后,用正常启动startup normal命令启动数据库会失败,因为正常启动
是在名为init+数据库SID名.ora的文件中寻找启动参数,而该文件的内容不是启动参数,而是指向实
际启动参数文件的路径,“IFILE='C:\oracle\admin\数据库SID名\pfile\init.ora'”。
解释:
Oracle 8i R2 (8.1.6) for NT 企业版默认安装完毕后会在所在盘符创建以下三个目录
admin: 记录Oracle实例的配置、运行日志等文件,每个实例一个目录
Ora81: Oracle系统文件
oradata:Oracle实例运行所需的所有具体文件(数据文件、日志文件、控制文件),每个实例一个目录

顺利建立oracle数据库连接之路径

顺利建立oracle数据库连接之路径

在oracle中建立数据库连接问题之全解在win764位的系统作为数据库服务器,安装oracle 11gR2版,在win10 64位安装oracle-oraclien12home1,经过一下午的捣腾,度娘了网上的各种精华,总算汇聚了基本上解决了oracle建立数据库连接问题之全解,给初学者借鉴。

1.三个必备的文件:tnsnames.ora、sqlnet.ora、listener.ora;2、文件中的HOST要保持高度一致:listener.ora文件中:(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.3.123)(PORT = 1521))tnsnames.ora文件:(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.3.123)(PORT = 1521))3、在listener.ora文件中添加如下服务名配置:(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)(SID_NAME = orcl))特别注意服务名的大小写。

4、每次修改配置文件后,请重启OracleOraDb11g_home1TNSListener、OracleServiceORCL:同时:这两个文件也是测试连接数据库成功的先决条件。

5、出现ORA-12514 监听程序无法识别连接描述符中请求的服务仔细检查在listener.ora文件中添加的那段配置,包括目录及服务名;6、出现ORA-27101 Shared memory realm does not existORA-01034 ORACLE not available错误的解决:以超级管理员运行cmd.exe,在DOS状态中输入:sqlplus /nolog 按回车键;再输入:conn /as sysdba 按回车键;如出现ORA-00119,ORA-00132错误,则:1)检查当前用户是否在Windows的ora_dba用户组中,如果没有则从Windows用户组中去添加。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Listener。

ora、sqlnet。

ora、tnsnames.ora三个配置文件区别分类:Oracle2014-10—30 10:57:36Listener.ora、sqlnet.ora、tnsnames。

ora三个配置文件区别listener。

ora、sqlnet.ora、tnsnames。

ora ,都是放在$ORACLE_HOME\network\admin目录[oracle@testdb1 ~]$ cd /app/oracle/ora11g/network/admin[oracle@testdb1 admin]$ lltotal 16—rw-r—-r-—。

1 oracle oinstall 162 Oct 22 14:35 listener。

oradrwxr—xr—x. 2 oracle oinstall 4096 Jul 10 07:10 samples—rw—r-—r--。

1 oracle oinstall 381 Dec 17 2012 shrept.lst-rw-r——r—-。

1 oracle oinstall 367 Oct 22 14:33 tnsnames.ora[oracle@testdb1 admin]$三个文件的作用和使用##########################################sqlnet.ora--——-作用类似于linux或者其他unix的nsswitch。

conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串,例如我们客户端输入sqlplus sys/oracle@orcl假如我的sqlnet。

ora是下面这个样子SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES。

DIRECTORY_PATH= (TNSNAMES,HOSTNAME)那么,客户端就会首先在tnsnames.ora文件中找orcl的记录。

如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里orcl并不是一个主机名如果我是这个样子NAMES。

DIRECTORY_PATH= (TNSNAMES)那么客户端就只会从tnsnames.ora查找orcl的记录括号中还有其他选项,如LDAP等并不常用.#########################################Tnsnames.ora—-——--这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet。

ora 中类似NAMES。

DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。

例子中有两个,ORCL 对应的本机,SALES对应的另外一个IP地址,里边还定义了使用主用服务器还是共享服务器模式进行连接,一句一句说#你所要连接的时候输入得TNSNAME[oracle@testdb1 admin]$ cat tnsnames。

oratestdb1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.235)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb1) #show parameter service_name;))testdb2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192。

168。

9。

236)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb2) #show parameter service_name;))客户端完了我们来看服务器端listener。

ora—-———-listener监听器进程的配置文件关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。

所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。

Listener。

ora文件的例子[oracle@testdb1 admin]$ cat listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192。

168。

9。

235)(PORT = 1521)) )))#监听器的名字,一台数据库可以有不止一个监听器上面的例子是一个最简单的例子,但也是最普遍的。

一个listener进程为一个instance(SID)提供服务。

多实例监听:[oracle@testdb3 admin]:testdb1> cat listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192。

168.9.235)(PORT = 1521)) ))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = testdb1)(ORACLE_HOME = /app/oracle/ora11g)(SID_NAME = testdb1))(SID_DESC =(GLOBAL_DBNAME = testdb3)(ORACLE_HOME = /app/oracle/ora11g)(SID_NAME = testdb3)))[oracle@testdb3 admin]:testdb1> cat tnsnames.oratestdb1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.9.235)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb1)))testdb2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168。

9.236)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb2)))testdb3 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192。

168。

9。

235)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = testdb3)))监听器的操作命令$ORACLE_HOME/bin/lsnrctl start,其他诸如stop,status等.具体敲完一个lsnrctl后看帮助。

上面说到的三个文件都可以通过图形的配置工具来完成配置$ORACLE_HOME/netca 向导形式的$ORACLE_HOME/netmgr本人比较习惯netmgr,profile 配置的是sqlnet.ora也就是名称解析的方式service name 配置的是tnsnames。

ora文件listeners配置的是listener。

ora文件,即监听器进程具体的配置可以尝试一下然后来看一下配置文件。

这样一来总体结构就有了,是当你输入sqlplus sys/oracle@orcl的时候1. 查询sqlnet。

ora看看名称的解析方式,发现是TNSNAME2. 则查询tnsnames。

ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name3。

如果listener进程没有问题的话,建立与listener进程的连接.4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作.默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。

5。

这时候网络连接已经建立,listener进程的历史使命也就完成了。

几种连接用到的命令形式1。

sqlplus / as sysdba 这是典型的操作系统认证,不需要listener进程2.sqlplus sys/oracle 这种连接方式只能连接本机数据库,同样不需要listener进程3.sqlplus sys/oracle@orcl 这种方式需要listener进程处于可用状态。

最普遍的通过网络连接。

以上连接方式使用sys用户或者其他通过密码文件验证的用户都不需要数据库处于可用状态,操作系统认证也不需要数据库可用,普通用户因为是数据库认证,所以数据库必需处于open状态。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%1。

lsnrctl status查看服务器端listener进程的状态[root@test1 ~]# su - oracle[oracle@test1 ~]$ 。

prof_testdb[oracle@test1 ~]:testdb〉 lsnrctlLSNRCTL for Linux: Version 11.2.0。

4。

0 — Production on 30—OCT—2014 10:49:38Copyright (c) 1991, 2013, Oracle。

All rights reserved.Welcome to LSNRCTL, type "help" for information。

LSNRCTL> helpThe following operations are availableAn asterisk (*) denotes a modifier or extended command:start stop statusservices version reloadsave_config trace spawnchange_password quit exitset* show*LSNRCTL> versionConnecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192。

相关文档
最新文档