原创作品,转载请在文章显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10030375.html

首先,回顾上篇 CenOs7安装oracle图文详细过程(02) ,安装好oracle后再服务器端使用sqlplus访问数据库成功,后来客户机访问并没有测试,接下来就接着,继续学习客户机端连接数据库,过程中同样遇到很多问题,因为是边学边弄,所以可谓是一步一个坎!

一、在客户端安装oracle客户端,我这里服务器在虚拟机上,操作系统是linux,服务器是11g,客户端在Windowsserver2008R2上,版本9i

1、首先在客户机上安装plsql(过程简单,省略)

2、在客户机上安装oracle9i(过程简单,省略),并配置好监听程序

3、启动plsql,连接服务器出现ora-12541 TNS:无监听程序,此处解决方法:

在数据库服务器查看监听服务状态 [oracle@xhq ~]$ lsnrctl status:  显示监听服务,如下

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=adrep)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services     --------------------------------------------------------------------->没有监听服务
The command completed successfully

然后在服务器主机上使用命令 netmgr调出配置监听界面,重新配置监听,其中

Global Database Name :数据库名

oracle home directory:安装目录,自动加载,可选择

SID:实例名

接着查看实例名:然后填在相应的位置

为了一行显示,设置行宽

然后退出配置程序,查看监听状态,可以看到监听服务正常

此时使用plsql连接,还是报ora-12541 TNS:无监听程序异常,查阅资料,是防火墙没关,tnsping 实例名(客户端监听配置的名字),同样显示超时然后关闭防火墙:

得知centos从7开始默认用的是firewalld,这个是基于iptables的,虽然有iptables的核心,但是iptables的服务是没安装的。所以只要停止firewalld服务即可: 
# sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service

然后使用plsql连接,显示无监听程序ORA-12541:TNS:无监听程序,此时重启监听

然后使用plsql登录,正常登录

使用tnsping 服务名,正常,不再超时

到此,客户端连接数据库问题已经全部解决!

附加1:

上面关闭防火墙由于使用的不是iptables,如果要改用iptables的话,需要安装iptables服务: 
sudo yum install iptables-services 
sudo systemctl enable iptables && sudo systemctl enable ip6tables 
sudo systemctl start iptables && sudo systemctl start ip6tables

接下来在思考如何不关闭防火墙来连接服务器,还望各位路过的大神指点!

附加2:

在用户之间切换时候注意加 “-”,如su - oracle,如果直接使用su oracle ,导致使用使用lsnrctl status 命令无法执行,具体原因还不知道,但是切换用户时候加"-"问题解决,所以此次也列出来了。

到此,问题全部解决!

linux centOs中安装好数据库,客户端用plsql连接oracle的更多相关文章

  1. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

  2. 在Linux(CentOS)中安装.netcore SDK

    官方链接 :https://dotnet.microsoft.com/download/linux-package-manager/centos/sdk-current 可以直接根据官方链接,选择Li ...

  3. centos中安装mysql数据库

    1.查看是否已有mysql数据库: #rpm -qa |grep mysql 命令返回空,说明没有安装成功. 2.安装mysql yum install mysql* 安装完成后,却发现只安装了JDB ...

  4. Linux CentOS 中安装 MySql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com ...

  5. Linux(CentOS)中安装MongoDB

    1. 下载对应操作系统和机器的版本 网址: https://www.mongodb.com/download-center?jmp=docs 我的系统为CentOS-6.6 ,64位,所以选择红帽子版 ...

  6. linux centos中安装flash player

    本机为centos 7.0 64 1.用火狐浏览器随便打开一个视频网站,找到一个视频点进去,网站会提示未安装flash player.点击进去到adobe官网.2.下载flash player插件,可 ...

  7. 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法

    1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...

  8. PLSQL连接Oracle数据库问题及详解

    一.Oracle数据库安装步骤参考:https://jingyan.baidu.com/article/363872eccfb9266e4aa16f5d.html 二.Oracle客户端安装:http ...

  9. Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)

    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,Linux CentOS 7 安装PostgreSQL 9.5.17 安装过程 特此记录. 安装环境: 数据库:Postgre ...

随机推荐

  1. spring利用注解方式实现Java读取properties属性值

    1. 建立properties文件:我在resource下面建立一个config文件夹,config文件夹里面有mytest.properties文件,文件内容如下: sam.username=sam ...

  2. 基于scrapy-redis两种形式的分布式爬虫

    redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以.原因有二. 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls ...

  3. windows文件名太长无法删除的解决办法

    安装nodejs 的模块hexo后,由于香重新安装,在删除的时候却提示文件名太长无法删除,dos命令.回收站各种都无法搞定,后来找到解决办法: 1.进入这些文件的所在目录的上层目录,右键这些文件的所在 ...

  4. Linux和Windows数据同步

    正在做一个小项目,关于Linux和Windows数据同步,新知识很兴奋,比赛很有信心,加油吧少年 项目进行中:今晚实验室包宿开整.

  5. Linux之virtualbox中的ubuntu虚拟机linux系统共享文件夹

    windows通过virtualbox软件与linux系统机型文件共享 1.第一步 在设置中找到共享文件夹选项,选择添加共享文件夹 2.第二步 选择需要与linux进行共享的文件夹,并选择固定分配 3 ...

  6. 51.RocketMQ 顺序消费

    大部分的员工早上的心情可能不会很好,因为这时想到还有很多事情要做,压力会大点,一般到下午4点左右,状态会是一天中最好的,因为这时大部分的工作做得差不多了,又快要下班了,当然也不是绝对.要注意记录各下属 ...

  7. SSAS有几种模式?

    SQL2012中两种,SQL2016好像有三种,下面的第三种好像是2016才有.

  8. python 全栈开发:数据类型整体分析

    数据类型初始 数据类型:    int :用于计算. 例子:1.2.3.4........................... 常用方法操作: bit_length()   ps:求一个数字转换成二 ...

  9. 必须声明表变量 "@P0"

    mybatis提示错误 ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须声明表变量 "@P0". ; u ...

  10. Django中的Cookie--实现登录

    Django中的Cookie--实现登录 Django Cookie  Cookie Cookie 是什么 保存在浏览器端的键值对,让服务器提取有用的信息. 为什么要有 Cookie 因为HTTP请求 ...