Oracle 12c连接PDB时listener和tnsnames.ora配置
- 格式:docx
- 大小:33.53 KB
- 文档页数:4
Oracle的tnsnames.ora配置(PLSQLDeveloper)1. ⾸先打开tnsnames.ora的存放⽬录,⼀般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了。
2. 2使⽤editplus或者记事本或其他⼯具打开tnsnames.ora,进⾏编辑配置⼀下⽂件CONN_shenyi2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))3. 3上边的SERVICE_NAME 和HOST、PORT 改为⾃⼰的即可4. 4打开plsql,登陆5. 5登陆完成即可使⽤强⼤的plsql developer/article/b0b63dbfcd34834a4930704a.html222222222222222222222222222222222222222今天是重要的⼀天。
将XML数据导⼊ORACLE遇到很多问题,学了好多,其中很长时间花在⽹络配置上,刚开始学,具体原因不知道,先把搜集到的好⽂章存下来,以后慢慢研究。
监听配置⽂件为了使得外部进程如 CAMS后台程序能够访问 Oracle 数据库必须配置 Oracle ⽹络服务器环境配置 Oracle ⽹络服务器环境是通过配置listener.ora sqlnet.ora 和 tnsnames.ora 共三个⽂件来进⾏的 listener.ora即监听配置⽂件在本⼩节说明另两个⽂件分别在随后的两个⼩节说明监听配置⽂件 listener.ora 的存放路径为 $ORACLE_HOME/network/admin以下是⼀个⽰例LISTENER = #监听器名称(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))))(DESCRIPTION =(PROTOCOL_STACK =(divSENTATION = GIOP)(SESSION = RAW))(ADDRESS =(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 2481))))SID_LIST_LISTENER = #命名规则 SID_LIST_+上⾯定义的监听器名称(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc1)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = cams)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(SID_NAME = cams))(SID_DESC =(GLOBAL_DBNAME = oid)(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(SID_NAME = oid)))& 说明1 listener.ora ⽂件中定义⼀个监听器其缺省的名称为 LISTENER这个监听器缺省以tcp/ip为协议地址且端⼝号为1521运⾏在CAMS应⽤中监听⽂件定义的监听器就使⽤这个缺省名字并且使⽤缺省的协议 tcp/ip和缺省的端⼝号 1521 待配置好监听⽂件以及随后说明的 sqlnet.ora 和tnsnames.ora ⽂件之后就可以⽤以下命令将监听⽂件中定义的监听器启动起来$ lsnrctl start停⽌监听器的命令为$ lsnrctl stop监测监听器当前状态的命令为$ lsnrctl status当 lsnrctl status 命令有如下输出结果STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 8.1.7.4.0 - Production Start Date 17-JAN-2004 19:00:08Uptime 31 days 15 hr. 27 min. 59 sec就说明监听器正在运⾏否则说明监听器已经停⽌了 CAMS 系统的后台程序的正常运⾏不仅依赖于数据库实例的运⾏还依赖于这个数据库监听器的运⾏假如监听器没有启动即使数据库已经启动 CAMS 后台程序仍然不能正常⼯作2 如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所⽰的⼀个IPC 协议地址的监听是为了外部进程调⽤⽤的在数据库安装时⾃动设定不需要改动3 在监听⽂件后部还有⼀个 SID_LIST_LISTENER 段该段⽤于定义监听器的服务即为哪些数据库实例提供监听服务以 cams 实例为例其对应的服务信息为(SID_DESC =(GLOBAL_DBNAME = cams) #数据库名(ORACLE_HOME = /u01/app/oracle/product/8.1.7)(SID_NAME = cams) #数据库实例名)1.2.5 sqlnet.ora ⽂件sqlnet.ora ⽂件的存放路径为 $ORACLE_HOME/network/admin 以下是⼀个⽰例NAMES.DEFAULT_DOMAIN = localdomainNAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)& 说明NAMES.DEFAULT_DOMAIN 指定⽹络域名 NAMES.DIRECTORY_PATH指定当解析客户端连接标识符时命名⽅法 naming metthods 采⽤的优先顺序从左⾄右递减在 CAMS 应⽤中这两个参数采⽤上述所⽰的系统缺省值1.2.6 tnsnames.ora ⽂件tnsnames.ora ⽂件的存放路径为 $ORACLE_HOME/network/admin 以下是⼀个⽰例OID.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = oid)))CAMS.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cams)))INST1_HTTP.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVER = SHARED)(SERVICE_NAME = MODOSE)(divSENTATION = http://admin)))EXTPROC_CONNECTION_DATA.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)))(CONNECT_DATA =(SID = PLSExtProc1)(divSENTATION = RO)))& 说明tnsnames.ora ⽂件中定义⼀个或多个⽹络服务 net service cams 实例对应的⽹络服务为CAMS.LOCALDOMAIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cams)))注意这⾥ ADDRESS项包含三个⼦参数PROTOCOL :默认协议TCPHOST :ip地址PORT:端⼝,默认1521CAMS.LOCALDOMAIN为数据名要确保在监听⽂件中也有对应的⼀个 ADDRESS 项也包含同样的三个⼦参数并且⼦参数的值对应都相等另外这⾥ SERVICE_NAME 的值必需确保与监听⽂件中某 SID_DESC项下的 SID_NAME参数的值相等3333333333333333333333333333oracle⽹络配置三个配置⽂件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME/network/admin⽬录下。
oracle数据库连接方法
Oracle数据库的连接方法有多种,以下列举两种常见的方式:
方法一:
1. 找到tnsnames.ora文件,打开后可以看到类似红色框中的配置。
2. 复制一份配置,放到tnsnames.ora文件底部,然后对其进行修改。
可以根据自己的情况设置四个位置:自定义数据库名、根据远程数据库地址修改地址、根据远程数据库端口号修改端口号、根据远程数据服务名修改服务名。
3. 修改完成后保存,再次打开PLSQL,只要填写正确的用户名密码,并选择刚刚自定义的数据库名,点击确定就可以连接数据库了。
方法二:
1. 从开始菜单中找到Oracle的Net Manager工具,单击打开。
2. 在Net Manager中,找到服务命名,可以看到刚刚配置的数据库名(服务命名),里面的配置和刚刚在tnsnames.ora文件修改的是一样的。
3. 在Navicat中改完重启后,再次打开Navicat,按照上图操作进入Oracle
新建连接界面。
OracleJDBC连接服务名、SID和tnsnames.ora配置的多种⽅式⼀、通过plsql链接数据库,配置的时候分别使⽤SERVICE_NAME和SID,都可以链接成功
⼆、jdbc配置,以下三中⽅式都可以成功连接数据库
格式⼀: 使⽤ServiceName⽅式:
jdbc:oracle:thin:@//<host>:<port>/<service_name>
例 jdbc:oracle:thin:@//xxx.xxx.xxx.xxx:1526/CDEV
@后⾯有//, 这是与使⽤SID的主要区别。
(11g在@后不加//也OK)
这种格式是Oracle 推荐的格式.
因为对于集群来说,每个节点的SID是不⼀样的,⽽SERVICE NAME可以包含所有节点。
格式⼆: 使⽤SID⽅式:
jdbc:oracle:thin:@<host>:<port>:<SID>
例 jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1526:CDEV2
格式三:使⽤TNSName⽅式:
jdbc:oracle:thin:@<TNSName>
例 jdbc:oracle:thin:@CDEV
注意,ORACLE从10.2.0.1后⽀持TNSNames
⽐较:1和2中当@后边有双斜杠,端⼝号后边有单斜杠时,⽤服务名和实例名都可以链接成功,3中@后边没有双斜杠,端⼝号后边是冒号⽽不是斜杠的时候只能⽤实例名,当时笔者配置错误的时候是 jdbc:oracle:thin:@//<host>:1521:netgrid ,端⼝号后直接⽤了冒号。
Oracle中Basic与TNS的区别及与Oracle三种连接⽅式的关系Oracle JDBC连接⼀共有三种⽅式,分别是:SERVICE_NAME、SID和TNSName。
1.SERVICE_NAME⽅式:jdbc:oracle:thin:@//<host>:<port>/<SERVICE_NAME>2.SID连接⽅式:jdbc:oracle:thin:@<host>:<port>:<SID>或:jdbc:oracle:thin:@<host>:<port>/<SID>3.TNSName连接⽅式:jdbc:oracle:thin:@<TNSName>打开oracle路径下的D:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsames.ora⽂件红线框内的db25就是TNSName,是属于客户端的参数,其余内容都是服务端的参数。
SERVICE_NAME和SID的⽐较:SID是对内的,是实例级别的⼀个名字,⽤来内部之间称呼⽤。
SERVICE_NAME是对外的,是数据库级别的⼀个名字,⽤来告诉外⾯的⼈,我数据库叫"SERVICE_NAME"。
访问数据库的过程:要想访问数据库,必须把数据库⽂件加载进实例中。
SID即INSTANCE_NAME是⽤来唯⼀标⽰实例的。
SERVICE_NAME是oracle8i新引进的,8i之前,⼀个数据库只能由⼀个实例对应,但是随着⾼性能的需求,并⾏技术的使⽤,⼀个数据库可以由多个实例对应了,⽐较典型的应⽤如RAC。
为了充分利⽤所有实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念,该参数直接对应数据库,⽽不是某个实例。
⾃此Oracle JDBC连接多使⽤SERVICE_NAME⽅式连接,逐渐替代SID⽅式连接。
Oracle 客户端连接服务器常见问题之今天安装软件一直在测试链接不能通过,出现ORA-12154: TNS: could not resolve service name,后来才发现是tnsnames.ora中有误。
查找网上的资料,记录下来。
要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。
下面列出几种常见的连接问题:1、ORA-12541: TNS:没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。
启动监听器:$ lsnrctl start或C:\lsnrctl start2、ORA-12500: TNS:监听程序无法启动专用服务器进程对于Windows而言,没有启动Oracle实例服务。
启动实例服务:C:\oradim –startup -sid myoracle3、ORA-12535: TNS:操作超时出现这个问题的原因很多,但主要跟网络有关。
解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。
4、ORA-12154: TNS:无法处理服务名检查输入的服务名与配置的服务名是否一致。
另外注意生成的本地服务名文件(Windows下如D:\oracle\ora92\network\admin\tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。
5、ORA-12514: TNS:监听进程不能解析在连接描述符中给出的 SERVICE_NAME打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。
该服务名必须与服务器端监听器配置的全局数据库名一致。
6、Windows下启动监听服务提示找不到路径用命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。
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(该名称也可以由任意合法字符命名)。
选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。
oracle12c创建可插拔数据库(PDB)与⽤户详解前⾔由于oracle 12c使⽤了CDB-PDB架构,类似于docker,在container-db内可以加载多个pluggable-db,因此安装后需要额外配置才能使⽤。
⼀、修改listener.ora , tnsnames.ora###listener.ora###LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = orcl)))#sid list列举cdb和所有pdb的数据库名,所有sid与oracle环境变量保持⼀致#SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl) #cdb db_name(SID_NAME = orcl))(SID_DESC =(GLOBAL_DBNAME = pdborcl) #pdb db_name(SID_NAME = orcl)))###listener.ora#####tnsnames.ora####cdborcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = orcl) #cdb的db_name))#pdbpdborcl =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = pdborcl) #pdb的db_name))##tnsnames.ora###在客户端连接时使⽤“service_name+domain_name”连接。
一.能干什么:
在公司中,通常都需要自行配置和连接公司服务器上的Oracle数据库(在所以将该配置方法整理出来。
二.步骤:
1.去掉服务端安全限制
有两种方式: 1.关闭服务端防火墙。
2.在服务端防火墙中,将数据库端口(默认为1521)添加2.配置服务器连接
有两种方式: 1.直接修改tnsnames.ora
2.使用Net Manager进行配置
任选一种方式即可。
3.在客户端开发工具中添加该数据库的连接。
(1)PL/SQL Developer
(2)eclipse的db-viewer插件
注:如果只使用db-viewer,不用做第2步。
器上的Oracle数据库(在局域网中或互联网中)。
,将数据库端口(默认为1521)添加到例外端口中。
参见"直接修改tnsnames.ora"标签页
参见"使用Net Manager进行配置"标签页
参见"PL/SQL Developer"标签页
参见"配置eclipse的db-viewer插件"标签页用做第2步。
解决oracle数据库“监听程序当前无法识别连接描述符中请求的服务”今晚搞了几个小时的oracle配置,现在终于连上了,同时也发现好多人每次重装系统后都得重装oracle,现将我如何处理这一类问题的方法分享如下,嘿嘿,百试不爽的我的oracle安装路径在F盘的app文件夹下,首先找到F:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN下的listener.ora和tnsnames.ora这两个文件,用记事本打开就可以用下面的这些代码替换listener.ora中原有的代码注:路径要是自己的安装路径# listener.ora Network Configuration File: F:\app\Administrator\product\11.1.0\db_1\network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = F:\app\Administrator\product\11.1.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = F:\app\Administrator\product\11.1.0\db_1)(SID_NAME = orcl)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))))# tnsnames.ora Network Configuration File: F:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools.ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICA TED)(SERVICE_NAME = orcl)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))用下面的这些代码替换tnsnames.ora 中原有的代码# tnsnames.ora Network Configuration File: F:\app\Administrator\product\11.1.0\db_1\NETWORK\ADMIN\tnsnames.ora# Generated by Oracle configuration tools.ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICA TED)(SERVICE_NAME = orcl)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))替换完成之后重启oracle数据库服务就可以了。
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设置分类: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。
oracle中 tns配置流程英文回答:TNS (Transparent Network Substrate) configuration in Oracle involves setting up the network connectivity between the client and the Oracle database server. It allows the client to connect to the database by specifying a TNS alias instead of the actual network address of the server.The TNS configuration process typically involves the following steps:1. Install Oracle Client: Before configuring TNS, you need to ensure that the Oracle client software is installed on the client machine. This software provides the necessary tools and utilities to establish the connection.2. Locate the TNSNAMES.ORA file: The TNSNAMES.ORA file is a configuration file that contains the network service names and their corresponding network addresses. It istypically located in the ORACLE_HOME/network/admin directory.3. Edit the TNSNAMES.ORA file: Open the TNSNAMES.ORA file in a text editor and add a new entry or modify an existing entry to define the TNS alias for the database you want to connect to. The entry should include the following information:TNS alias: A unique name that identifies the database.Network address: The hostname or IP address of the database server.Port number: The port on which the database is listening.Service name: The name of the database service.4. Test the TNS configuration: After making the necessary changes to the TNSNAMES.ORA file, you can testthe TNS configuration by using the tnsping utility. Open a command prompt and run the following command: tnsping <TNS alias>. If the TNS configuration is correct, you should see a successful response indicating that the database is reachable.5. Connect to the database: Once the TNS configuration is validated, you can use the TNS alias to connect to the database from your application or command line. Simply specify the TNS alias as the connection identifier in the connection string.中文回答:在Oracle中,TNS(Transparent Network Substrate)配置涉及设置客户端与Oracle数据库服务器之间的网络连接。
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导入库是否要新建一个数据库。
从另外地方得到的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。
listener.orasqlnet.oratnsnames.ora配置⽂件详解⽹络配置三个配置⽂件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME/network/admin⽬录下。
英⽂说明:The sqlnet.ora is an optional file expressing more parameters about the connection (eg: the trace level for debugging, the types of authentication you would like to support and so on). It may be found on the client or the server.The tnsnames.ora is used to find a Net8 listener and connect to it and pass to it the details of the database instance youwould like to connect to. It will be found on the client side. Note that a SERVER can be a client of another database so it is typical to find it on the SERVER as well.The listener.ora is used to setup the configuration of the net8 listener. to specify the port it will listen on, give it the details of the databases it can connect to and so on. This file is on the SERVER only.1. sqlnet.ora-----通过这个⽂件来决定怎么样找⼀个连接中出现的连接字符串。
ORACLE中客户端与服务器端连接问题解决方案ORACLE中客户端连接服务器端常见问题(转)要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。
下面列出几种常见的连接问题:1、ORA-*****: TNS: 没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。
启动监听器:$ lsnrctl start或C:\lsnrctl start2、ORA-*****: TNS: 监听程序无法启动专用服务器进程对于Windows而言,没有启动Oracle实例服务。
启动实例服务:C:\oradim Cstartup -sid myoracle3、ORA-*****: TNS: 操作超时出现这个问题的原因很多,但主要跟网络有关。
解决这个问题,首先检查客户端与服务端的网络是络连通,则检查两端的防火墙是否阻挡了连接。
4、ORA-*****: TNS: 无法处理服务名检查输入的服务名与配置的服务名是否一致。
另外注意生成的本地服务名文件(Windows下如D:\oracle\ora92\network\admin\tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。
5、ORA-*****: TNS: 监听进程不能解析在连接描述符中给出的*****_NAME打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。
该服务名必须与服务器端监听器配置的全局数据库名一致。
6、Windows下启动监听服务提示找不到路径用命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。
打开注册表,进入HKEY_LOCAL_*****/SYSTEM/CurrentControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath 字符串项是否存在,如果没有,设定值为D:\oracle\ora92\BIN\*****,不同的安装路径设定值做相应的更改。
Oracle12c如何连接到CDB和PDBOracle12c如何连接到CDB和PDB1 连接到CDB和普通实例一样的连接。
指定ORACLE_SID 以后可以使用OS认证,也可以使用密码进行连接。
[oracle@Ora12c /]$ echo $ORACLE_SIDcndba[oracle@Ora12c /]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production onMon Apr 28 11:33:43 2014Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 12c Enterprise EditionRelease 12.1.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, AdvancedAnalytics and Real Application Testing optionsSQL> conn system/oracleConnected.SQL>--查看CDB中可用的service:SQL> COLUMN name FORMAT A30SQL> SELECT name,pdb2 FROM v$services3 ORDER BY name;NAME PDB------------------------------------------------------------SYS$BACKGROUND CDB$ROOTSYS$USERS CDB$ROOTcndba CDB$ROOTcndbaXDB CDB$ROOTpcndba2 PCNDBA2pdbcndba PDBCNDBA6 rows selected.--通过lsnrctl 也可以判断:"D000" established:0 refused:0 current:0 max:1022 state:readyDISPATCHER <machine: Ora12c, pid: 10085> (ADDRESS=(PROTOCOL=tcp)(HOST=Ora12c)(P ORT=14696))Service "pcndba2" has 1instance(s).Instance "cndba", status READY, has 1 handler(s) for thisservice...Handler(s):"DEDICATED" established:0 refused:0 state:readyLOCAL SERVERService "pdbcndba" has 1instance(s).Instance "cndba", status READY, has 1 handler(s) for thisservice...Handler(s):"DEDICATED" established:0 refused:0 state:readyLOCAL SERVERThe command completed successfully[oracle@Ora12c /]$通过这些service,就可以远程连接CDB。
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/oracle
2、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.ora
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
这一句是为了保证优先使用TNSNAMES解析。
配置完,在PDB启动的情况下(怎么启动这里不多讲了),就可以直接连接到PDB了。
(Oracle12c是没有scott用户的,我自己在PDB下面新建的)。