数据库
首页 > 数据库> > (Oracle踩坑指南)项目建立连接的各种坑 ORA-12541: TNS: 无监听程序等等

(Oracle踩坑指南)项目建立连接的各种坑 ORA-12541: TNS: 无监听程序等等

作者:互联网

在oracle项目建立连接中的各种坑

吐槽甲骨文一波

真的是如同甲骨文公司内部员工吐槽的一样, 祖传代码 改一个bug花两天时间定位,再花两天时间调试,安装是坑,连接也是各种坑,对新入门的人来说真的是巨特喵的不友好,完全是浪费时间,网上的各种问题解决也全是复制粘贴,头疼死了,如果你也遇到了和我一样的问题,来吐槽吧!!!

安装过程中遇到的问题

问题一:下载

新人嘛,刚接触oracle,想着支持一波正版,去甲骨文注册了一个账号,由于业务需要,需要下载11g版本的oracle数据库,结果新注册账号半个小时内下载不了,好吧那我就等,半个小时以后到了下载界面,然后死活下不了,发现是忘记勾选这个了:
在这里插入图片描述
你说按正常程序猿的思维来讲,大部分人不都是直接拉下去找到自己需要的版本么,这玩意不是应该放在点击下载以后跳出来的界面里面吗???放在开头字体还这么小闹哪样==
…好吧,然后点击文件下载,
在这里插入图片描述
握草这下载速度跟隔壁的育碧土豆服务器有的一拼啊,人家土豆服务器好歹还升级了好吧=
=,然后我在找了各种提速方法都不生效以后失去了耐心转投了盗版,,,,那速度,啧啧
哦对了,这几个位置一定要记一下,安装过程会提醒你的,最好新建个记事本记住,我的是放在C盘的
在这里插入图片描述

问题二:PLSQL工具

盗版的安装起来挺快的,,,蹭蹭蹭就安装好了,那么问题来了,竟然没有net manager,这难不倒我,找了个类似于Navicat的工具PLSQL Developer版(废话当然也是盗版了嘿嘿嘿),汉化好以后登录是这个样子的,,,
在这里插入图片描述
然后我又蒙逼了,明明安装oracle的时候只有个默认实例叫ORCL,输了个管理员密码就没了啊,这个用户名是什么鬼啊喂!!!然后百度,,,也是各种牛鬼蛇神搞复制粘贴的没一个人解决问题,试了N多遍以后找到了默认管理员账号system,密码的话就是安装oracle时候输入的管理员密码了,我真是个小机灵鬼
在这里插入图片描述

问题三:plsql的使用

说实话我之前用的是SQLservice和Navicat,这个plsql我是晕得很,界面摸索了半天以后搞懂了一些,接下来讲这个的踩坑了,小伙伴们如果遇到跟我一样的问题要注意了
在这里插入图片描述
这个软件很陌生,而且plsql不能创建数据库,如果你的项目跟我一样是用VisualStudio字符串连接的你就要注意了,接下来的步骤一定不能少哦:
1. 新建一个表空间
create tablespace stbss
datafile ‘C:\app\80573\oradata\orcl\stbss_temp01.dbf’
size 100m
autoextend on next 32m maxsize 2048m
分割---------------------------------------
stbss 是表空间名称
D:xxxxx.dbf 是你表空间数据的存放地址和文件名称,具体看你程序安装的时候放在哪,后面的_temp01可以不要,不用学我
size 100m 开始是100M的大小
autoextend on next 32m 不够的话会自动增长32M
maxsize 2048m 最多增加到 2048m,这个根据情况来定,考虑数据多的话可以这个就不要了,改成unlimited
2. 新建用户
说明:identified by后为用户登录密码;
default tablespace为默认表空间;
profile设为系统默认;
ACCOUNT UNLOCK解锁用户;
stbss对应我上一步创建的表空间;
create user TEST
identified by “123”
default tablespace stbss
profile DEFAULT
ACCOUNT UNLOCK;
3. 授予用户TEST访问权限,这个就相当于SQLservice下的你自己数据库的管理员账户了
说明:分别给用户授dba权限和表空间授无限增长权限
grant dba to TEST;
grant unlimited tablespace to TEST;
4. 导入dmp格式的oracle数据库备份文件
接下来这个很重要,你要切换用户,这样导入的数据才会到你新建的表空间下面去,可以点击这里切换用户
在这里插入图片描述
你也可以关闭plsql再打开,输入刚刚创建的用户名和对应的密码
导入dmp数据,选择工具-》导入表-》
在这里插入图片描述
在你切换用户之前,需要先打开工具-》首选项-》连接-》配置一下这两个,oracle主目录和库,需要到系统环境变量里面添加一个
在这里插入图片描述
在这里插入图片描述
如下图所示的环境变量,变量名oracle_home,值的话就是之前叫你们保存的软件位置,完事以后在上图的操作界面下拉更新值,然后重启plsql
在这里插入图片描述
接下来就是导入dmp数据了,用户那两个都不用管,点击下图所示的按钮,切记一定要用新建的那一个用户来登录操作,点选择要导入的备份文件,然后就等着CMD命令行DuangDuang的跳完这里就搞定啦=_=
在这里插入图片描述

问题四:接下来到修改VisualStudio里面的web.config的连接字符串啦

我的有四个,你们有几条改几条,地址可以写localhost,也可以写127.0.0.1,默认端口都是1521,不管你IIS服务器里面配置的是多少,你这里都是1521不要动,改了你就炸了,后面/的是你的那个表空间所放在的数据库实例名,一般都是ORCL,然后后面跟上用户名和密码这个不用我教了吧~~~~
![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20190711171101643.png)

PS:如果你们IIS配置也有问题的话说出来,有空我就更新一下,,,挖个坑=_=

接下来到什么了,,,ORA-XXXXX各种代号的问题

下面的问题不一定是按照我遇到的时间来写的,我是想起什么来写什么啊哈~

ORA-12518: TNS: 监听程序无法分发客户机连接

原理我就不讲了,网上一大堆,懒得复制粘贴,我只讲操作
打开plsql-》左上角的 文件-》新建-》SQL窗口
然后把下面这些复制粘贴进去执行

alter system set processes=1000 scope = spfile;
alter system set sessions=1105 scope = spfile; //记住有S!!!是sessions
alter system set sga_max_size=1000M scope = spfile;
alter system set sga_target=1000M scope = spfile;

然后就OK了

ORA-12170 TNS 连接超时

  1. win+R打开CMD,输入ipconfig找到你的IPV4地址
  2. 输入 ping IP,也就是你刚刚找到的IP地址,看看能不能ping通
  3. 输入tnsping IP,这个是看你的oracle监听配置正确了没有,如果正确应该是如下图所示,出现OK(0毫秒)是没问题的,如果有问题的话你就需要配置监听文件和tns文件了,这个待会再讲
    在这里插入图片描述
  4. 输入netstat -na,查看1521端口有没有开启,如果状态是ESTABLISHED不用担心是开启的
  5. 如果你的1521端口是关闭的,那就去Windows安全中心(也就是防火墙)开启
    https://jingyan.baidu.com/article/624e745902cebc34e9ba5a58.html
    参考例子,把示例的4000换成1521就行了

ORA-12541: TNS: 无监听程序

这个的话需要修改下面这两个文件
在这里插入图片描述
因为我的没有net manager,就只能手动配置了,以记事本的方式打开
在这里插入图片描述
在这里插入图片描述
上面两个图里面的HOST非常非常重要,一定要改成一模一样的,可以是localhost,也可以是127.0.0.1。也可以是你当前电脑的名字,在计算机属性里面找到,如果你漏了哪一个没改,就会报错,烦得很,最好是改成上面你ntsping IP时候的哪一个,就像下图里面被我涂抹的IP地址一样,无论如何两个文件里面的HOST的值一定要改成一模一样的,强烈推荐用计算机名,因为我的是改成这个才生效的,,,
在这里插入图片描述

暂时写到这,想起来日后再更~

第一次写博客~.

// 本文第一次更新、编辑
var data = '2019年7月11日17:49:29';

标签:plsql,TNS,问题,oracle,12541,Oracle,连接,ORA
来源: https://blog.csdn.net/INVINCIBLE_LY/article/details/95484395