• 数据库-玩转数据-PL/SQL环境配置


    通过 plsql 连接远程 Oracle数据库的多种方法

    方法一:通过 plsql 工具和 oracle client(不是即时客户端 instantclient) 的方式来连接 Oracle

    一、 安装 oracle client,(本教程已经下载并解压)
    在这里插入图片描述
    二、 选 择 管 理 员 安 装 ,如图:
    在这里插入图片描述
    三、剩下的就是一路下一步就 OK,安装完成后在 doc 窗口执行,sqlplus 如 果 出 现 如 下 输 入 用户名 , 就 表 示 安 装 成 功
    在这里插入图片描述
    四、安装 plsql(本教程 Oracle 为 11gr2,所以 plsql 也安装了版本 11,其余版本相同),并安装语言包 ,安装说明省略。

    五、安装完成后现在开始配置连接,安装 Oracle client 后已经自动将安 装 目 录 添 加 到 环 境 变 量 中 , 如图:
    在这里插入图片描述
    六、下面配置 plsql ,点击软件先不登陆然后弹出全局界面然后找到工 具 – 首 选 项 – 如图:
    在这里插入图片描述
    七、 配置完 plsql 之后现在配置连接 Oracle 数据库的信息,进入 oracle dlient 安装目录找到 network 下的 admin 下的 tnsnames.ora 文件, 如图:
    在这里插入图片描述

    打 开 此 文 件 加 入 如 下 内 容 :
    在这里插入图片描述

    八、 本地需要配置的已经完成,接下来检查服务器上的相关文件,首先查看 Oracle 服 务 器 安 装 目 录 下 的 tnsnames.ora 文 件 和 listener.ora 文 件 ,如下 :
    在这里插入图片描述
    listener.ora文件主要是为了 配置listener.ora静态监听。

    # listener.ora Network Configuration File: D:\soft\oracle\base\product\11.2.0\dbhome_1\network\admin\listener.ora
    # Generated by Oracle configuration tools.
     
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = ORCL)
          (ORACLE_HOME = D:\soft_install_route\oracle_install\product\11.2.0\dbhome_1)      
        )
        (SID_DESC =
          (SID_NAME = HSUN)
          (ORACLE_HOME = D:\soft_install_route\oracle_install\product\11.2.0\dbhome_1)
                 
        )
      )
     
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )
    ADR_BASE_LISTENER = D:\soft_install_route\oracle_install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    详解各个属性:

    第一:LISTENER部分包含协议地址列表,每个实例一个入口,监听名称,可以配置多个监听,多个监听的端口号要区分开来

    第二:SID_LIST_LISTENER部分标识全局数据库名称、标识监听程序正在服务的每个实例的Oracle软件主目录以及实例或SID

    第三:SID_LIST描述用于静态数据库注册、保持和以前的版本兼容性以及供Oracle Enterprise Manager使用,因为我本地有三个数据库,如图:
    在这里插入图片描述
    所以需要配置SID_LIST是一个数组如:

    SID_LIST =
        (SID_DESC =
          (SID_NAME = ORCL)
          (ORACLE_HOME = D:\soft_install_route\oracle_install\product\11.2.0\dbhome_1)
           
        )
        (SID_DESC =
          (SID_NAME = HSUN)
          (ORACLE_HOME = D:\soft_install_route\oracle_install\product\11.2.0\dbhome_1)
      )    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    第四:SID_NAME :服务器端(本机)的SID

    如果配置文件中的 host 后面的值和本机名不一样那么启动监听会报错或者无 法连接,window 也是一样要和本机名一样,如果是 Linux 系统还要如果修改 了本机 名 字 还 要 保 证 /etc/hosts 下 有 添 加 记 录 , 如 图 , ( 本 机 IP 为 192.168.240.139)

    自媒体培训

    九、 此处修改完剩下的就是查看端口 1521 是否开启,window 可以在防火墙中开 放端口 ,linux 也 可 以 通 过 命 令 firewall-cmd –zone=public –add-port=1521/tcp –permanent 来开启,并重启防火墙, 然后可以查看 1521 端 口 信 息 , 使 用 命 令 netstat –n –a
    在这里插入图片描述
    十、 前面如果是 127.0.0.1 那只能本地连接,不可以远程连接端口,前面只有都是 0 的时候才可以使用远程连接,可以使用 telnet 来测试 1521 端口是否开启, window 也是一样上述都搞定之后打开 plsql
    在这里插入图片描述
    十一、 输 入 用户名密码进行连接 ,如图:
    在这里插入图片描述

    方法二:通过 plsql 和 oracle 即时客户端(instantclient)来连接 oracle 数据库 下 载 即 时 客 户 端 ( 基 本 版即可 )

    在这里插入图片描述

    一、解压后在目录下创建 network 目录,在 network 目录下创建 admin 目录,然后创建 tnsnames.ora 文件,并加入内容(上面有示例),然后配置 plsql,配置方法和方法一相同 接下来需要配置环境变量,安装版的环境变量已经配置好了,但是此免安装版的需要配 置下环境变量, 将这个目录添加到环境变量 path 中 ,如图:
    在这里插入图片描述
    二、将 tnsname.ora 所在位置加入环境变量中,如下:
    在这里插入图片描述
    三、如果出现乱码则可以在在环境变量中添加如下内容:
    在这里插入图片描述
    四、 本地 plsql 和环境变量以及 tnsname.ora 都配置完毕,接下来还是和方法一的步骤一样检 查 oracle 所在服务器的信息,包括端口是否开启,监听是否开启,oracle 实例是否启动 以及配置文件 listener.ora 以及 tnsname.ora 配置是否正确(host 和本机名要一样) 所有的检查没问题后可以使用 plsql 进行链接,方法和上面一样 注:查看监听是否启动要首先进入 oracle 用户下,su – oracle 然后执行命令 lsnrctl status 可以查看,如果为启动则执行命令 lsnrctl start 启动监听,然后执行 sqlplus /as sysdba 登录(已 dba 的权限登录) 然后执行 startup 来开启数据库实例,如果关闭数据库实例可 以执行 shutdown immediate(也要 dba 权限才可以其余不行),windows 方法一样,window 也可以去服务里开启监听 。

    三、连接报错 ORA-12154: TNS:could not resolve the connect identifier specified

    标识符。这说明缺少了一个环境变量,TNS_ADMIN 。
    解决方法:
    windows:
    右击 我的电脑 -> 属性 -> 高级 -> 环境变量->系统变量->新建
    变量名:ORACLE_HOME
    变量值:D:\app\Administrator\product\11.2.0\dbhome_1

    右击 我的电脑 -> 属性 -> 高级 -> 环境变量 -> Administrator 的用户变量 -> 新建 ,

    变量名为:TNS_ADMIN
    变量值为:%ORACLE_HOME%/NETWORK/ADMIN/

    其中 %ORACLE_HOME% 即 Orcale 的安装路径,
    其实,设置的该环境变量的值为 tnsnames.ora文件所在路径,特别是重装后或其它操作,忘了设置
    TNS_ADMIN 变量,PL/SQL 登陆就会报“无法解析指定的连接标识符”的错误 ,而设置TNS_ADMIN变量是为了能够找到 tnsnames.ora。如果本机上安装了ORACLE,并且设置了 ORACLE_HOME 环境变量,那么会自动在 %ORACLE_HOME%/NETWORK/ADMIN/位置查找 tnsnames.ora 文件。

    这里是Linux的配置

    vim ~/ .bash_profile
    # .bash_profile
    
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
            . ~/.bashrc
    fi
    
    # User specific environment and startup programs
    
    PATH=$PATH:$HOME/bin
    
    export PATH
    
    TMP=/tmp; export TMP
    TMPDIR=$TMP; export TMPDIR
    ORACLE_HOSTNAME=yidongapptestdb; export ORACLE_HOSTNAME
    ORACLE_UNQNAME=MIBD11G; export ORACLE_UNQNAME
    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
    ORACLE_SID=MIBD11G; export ORACLE_SID
    PATH=/usr/bin:$PATH; export PATH
    PATH=$ORACLE_HOME/bin:$PATH; export PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
    export TNS_ADMIN=/u01/app/oracle/product/11.2.0/db_1/network/admin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
  • 相关阅读:
    新视野——宏病毒组ssDNA Virome
    JS——函数相关知识汇总
    为什么使用Go语言做web开发?
    关于环境保护html网页设计完整版-4环保垃圾分类5页
    个人博客系统(附源码)
    顺丰01. 顺丰鄂州枢纽运转中心环线检测
    【Java】基础知识
    Office Word 中的宏
    直播课堂系统02-搭建项目环境
    【Unity3D赛车游戏优化篇】新【八】汽车实现镜头的流畅跟随,以及不同角度的切换
  • 原文地址:https://blog.csdn.net/s_unbo/article/details/127624379