原创作品,转载请在文章显眼位置注明出处: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. git log 与 git reflog 的 区别

    git log: commit 的版本日志 包含提交的版本 操作者 日期 (方便查看commit的版本,但是版本回退后,使用git log 看不到回退版本号之后的版本记录) commit ce0d69 ...

  2. CentOS7基础建站指南(笔记)

    由于前段时间腾讯云打折,所以买了一台小服务器,想着以后写几个小网站,博客什么的,但是一开始就遇到了难题,大概就是Linux服务器的配置问题,比如如何假设服务器,配置非root用户,配置服务器数据的非r ...

  3. Android跳转淘宝、京东APP商品详情页

    import Android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; imp ...

  4. VS2015编译器按F6不能够重新生成

    工具-->选项-->环境-->键盘-->应用以下其他键盘映射方案,下拉选择 Visual C# 2005

  5. Carte作为Windows服务

    有一些用例将Carte作为Windows服务运行: 当使用命令窗口运行Carte实例时,任何人都会错误地关闭实例并且Carte将关闭. Carte.bat命令窗口与调用批处理文件的用户会话相关联,需要 ...

  6. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  7. FJOI2019 游记[大概是考完会解封?]

    Day -1 不知不觉就快省选了啊...从NOIP的爆炸到现在也已经过了两个月了啊... 因为高一没有封闭[划] 所以这些内容是翘了课[划]在机房写的 嘛...感觉自己还有好多东西不会啊……这两天一直 ...

  8. dubbo服务暴露过程

    所谓服务暴露最终做的事情:绑定网络端口,开启serversokect服务以接收外部请求 服务暴露时序图 本地暴露 远程暴露 整体总结 dubbo服务提供者暴露服务的主过程:首先 ServiceConf ...

  9. 剑指offer——面试题26:判断二叉树B是否为二叉树A的子结构

    #include"iostream" #include"stdio.h" #include"math.h" using namespace ...

  10. c# 抽象类 抽象方法

    抽象类与非抽象类的主要区别: ·抽象类不能直接被实例化 ·抽象类中可以包含抽象成员,但非抽象类中不可以 ·抽象类不能被密封 声明抽象方法时需注意:·抽象方法必须声明在抽象类中 ·声明抽象方法时,不能使 ...