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

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

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

一、 安装 oracle client,(本教程已经下载并解压)
数据库-玩转数据-PL/SQL环境配置_第1张图片
二、 选 择 管 理 员 安 装 ,如图:
数据库-玩转数据-PL/SQL环境配置_第2张图片
三、剩下的就是一路下一步就 OK,安装完成后在 doc 窗口执行,sqlplus 如 果 出 现 如 下 输 入 用户名 , 就 表 示 安 装 成 功
数据库-玩转数据-PL/SQL环境配置_第3张图片
四、安装 plsql(本教程 Oracle 为 11gr2,所以 plsql 也安装了版本 11,其余版本相同),并安装语言包 ,安装说明省略。

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

打 开 此 文 件 加 入 如 下 内 容 :
数据库-玩转数据-PL/SQL环境配置_第7张图片

八、 本地需要配置的已经完成,接下来检查服务器上的相关文件,首先查看 Oracle 服 务 器 安 装 目 录 下 的 tnsnames.ora 文 件 和 listener.ora 文 件 ,如下 :
数据库-玩转数据-PL/SQL环境配置_第8张图片
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

详解各个属性:

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

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

第三:SID_LIST描述用于静态数据库注册、保持和以前的版本兼容性以及供Oracle Enterprise Manager使用,因为我本地有三个数据库,如图:
数据库-玩转数据-PL/SQL环境配置_第9张图片
所以需要配置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)
  )    

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

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

数据库-玩转数据-PL/SQL环境配置_第10张图片

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

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

数据库-玩转数据-PL/SQL环境配置_第14张图片

一、解压后在目录下创建 network 目录,在 network 目录下创建 admin 目录,然后创建 tnsnames.ora 文件,并加入内容(上面有示例),然后配置 plsql,配置方法和方法一相同 接下来需要配置环境变量,安装版的环境变量已经配置好了,但是此免安装版的需要配 置下环境变量, 将这个目录添加到环境变量 path 中 ,如图:
数据库-玩转数据-PL/SQL环境配置_第15张图片
二、将 tnsname.ora 所在位置加入环境变量中,如下:
数据库-玩转数据-PL/SQL环境配置_第16张图片
三、如果出现乱码则可以在在环境变量中添加如下内容:
数据库-玩转数据-PL/SQL环境配置_第17张图片
四、 本地 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

你可能感兴趣的:(数据库-玩转数据-Oracle,数据库,sql,oracle)