oracle资料库
shell脚本命令
MySQL资料
Linux 安装mariadb
MySQL安装部署四种安装方式
Linux操作系统彻底删除MySQL——详细步骤
windows 下安装Mysql
MySQL常用命令
sqlite
Oracle
运行情况查询汇总
通过命令行导出AWR报告
alert日志存放位置
归档日志查看与清理
oracle数据库体系结构
SPFILE的搜索顺序
备份还原
RMAN备份
数据泵备份
EXP/IMP
数据库自动任务
oracle部署安装
Linux下安装oracle11G
windows下安装数据库
数据库维护篇
SGA/PGA修改
单独BUG参数修改
常用参数修改命令
数据库异常情况典型
用户密码管理
TNS详解及常见错误码
SQL语句
练习题
练习二
oracle 数据库去重复
多行字段拼接成一列 (listagg函数)
判断是否为数字
数据库空间管理
lob字段压缩
碎片整理
临时表空间
临时表空间管理
Oracle服务脱机迁移手册
windows 磁盘空间不足 转移数据文件
常用函数
发现患者是否有特殊字符
获取汉字首拼
通过关键词截取病历数据
转入转出文书记录获取数据
blob转varchar
触发器
阻断休眠
性别被置空
姓名无故更新
健康检测脚本
数据闪回
Redis
Redis可视化工具
Toad使用技巧
本文档使用 MrDoc 发布
-
+
首页
TNS详解及常见错误码
# 1. TNS相关介绍 **最简单有效方法:**使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置) ## 1.1 三个配置文件介绍 ### 1.1.1 sqlnet.ora(客户及服务器端) 通过这个文件来决定怎么样找一个连接中出现的连接字符串 > sqlplus jhemr/jiahemk@test (1)首先,sqlnet.ora 文件中找NAMES.DEFAULT_DOMAIN 参数。 - 有,该参数中的值取出,加到网络服务名的后面。例如sqlplus jhemr/jiahemk@test.server.com。然后再到tnsnames.ora 文件中找test.server.com 网络服务名。 - 无:直接到tnsnames.ora 文件中找 test 网络服务名. (2) 有记录:取出tnsnames.ora其中的host ,port ,tcp ,service_name ,利用这些信息将连接请求发送到正确的数据库服务器上。如果没有相应的记录则尝试把test当作一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip上GLOBAL_DBNAME=test这个实例。 ### 1.1.2 Tnsnames.ora(客户及服务器端) 提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES时,才会尝试使用这个文件。 ### 1.1.3 listener.ora(服务器端) --listener监听器进程的配置文件 接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。 ## 1.2 监听器的操作命令 ```sql --监听状态 status,stop,start $ORACLE_HOME/bin/lsnrctl --向导形式的 $ORACLE_HOME/netca $ORACLE_HOME/netmgr ``` ## 1.3 几种连接命令形式 | 列名 | 列名 | 列名 | | --- | --- | --- | | sqlplus / as sysdba | 典型的操作系统认证,不需要listener进程 | | | sqlplus sys/oracle | 只能连接本机数据库,不需要listener进程 | | | sqlplus sys/oracle@orcl | 这种方式需要listener进程处于可用状态。最普遍的通过网络连接。 | | 以上连接方式使用sys用户或者其他通过密码文件验证的用户都不需要数据库处于可用状态,操作系统认证也不需要数据库可用,普通用户因为是数据库认证,所以数据库必需处于open状态。 ## 1.4 网络连接流程示例 当你输入sqlplus sys/oracle@orcl的时候 - 1、查询sqlnet.ora看看名称的解析方式,发现是TNSNAME - 2、则查询tnsnames.ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name - 3、如果listener进程没有问题的话,建立与listener进程的连接。 - 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。 - 4、这时候网络连接已经建立,listener进程的历史使命也就完成了。 # 2. ORA-12504 报错情况 ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME 原因: tnsnames.ora 未找到对应的服务名称
孙端己
2024年9月20日 11:47
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码