PL/SQL Developer远程连接数据库 - Go语言中文社区

PL/SQL Developer远程连接数据库


http://zhumeng8337797.blog.163.com/blog/static/10076891420111115104023136/


第一次用PL/SQL Developer这个非官方的软件,遇到了种种困难,幸好通过万能的Google已经全部解决,记录下来备察.
前提是保证你的远程oracle服务器一切正常.
 
微软客户端设置
使用oracle免费发放的instant client来代替oracle client,免去了安装的麻烦,下载instantclient-basiclite-nt-11.2.0.2.0.zip解压到你想要放到的任何目录,如:D:oracleinstantclient_11_2,创建一个名叫tnsnames.ora的文件,放到该目录下,可以先创建成txt文档,保存完下面的内容再把扩展名.txt去掉:
myDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.23)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
注:
myDB为连接数据库别名
HOST = 192.168.7.23为你连接的数据库ip
PORT = 1521 为你数据的端口
SERVICE_NAME = testdb 为你数据库实例名
 
右击我的电脑选属性”->“高级”->“环境变量”->”系统变量”  注:用户变量也可以,依需求而定
新增下面两个变量
TNS_ADMIN    D:oracleinstantclient_11_2
 

NLS_LANG    SIMPLIFIED CHINESE_CHINA.ZHS16GBK
 
 
软件上的设置(版本为8.0)
在PLSQL Developer选择Tools > Preferences > connection,在右侧的 "Oracle Home" and "OCI Library"中填入以下内容:
D:oracleinstantclient_11_2
D:oracleinstantclient_11_2oci.dll
完成以上的设置应该就能正常登录数据库了,如果还有别的问题,只能再次Google.



如何为一个instance配置多个监听,并且实现Client Load Balancing和Client Load Balancing。
打开NETCA,配置两个监听器。
LISENTER,默认监听器,一路next,就配置完毕, 监听端口1521。
配置LISENTER2,注意监听端口改为1522,其它和LISENTER一致。
这个时候,LISENTER已经可以使用了。

但是LISENTER2还是不行,因为Oracle只会为第一个默认的监听注册服务
在$ORACLE_HOME/NETWORK/ADMIN,编辑lisenter.ora文件,如下:
红色字体为需要增加的内容
SID_LIST_LISTENER2 =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = WWJ)
    (ORACLE_HOME = d:oracleproduct10.2.0db_1)
    (GLOBAL_DBNAME = WWJ) 
  )
)


LISTENER2 =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = valen)(PORT = 1522))
  )
)

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = d:oracleproduct10.2.0db_1)
    (PROGRAM = extproc)
  )
)
LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = valen)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
  )
)
需要解释的是,SID_LIST_<lisenter name> 这里的<lisenter name>要和LISTENER名称一致。
SID_DESC则注册要提供服务的数据库实例名。这样LISTENER2 才能够提供服务。
否则会报TNS-错误。
测试过程,配置local tns name如下:
1522 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)
1521 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)

local =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)
1522和1521分别对应两个监听器,local稍后再解释:
测试:
SQL> conn@1521
已连接。
SQL> conn@1522
已连接。
OK,再看local,
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
这里的意思是,该命名对应了两个监听端口,如果一个Crash,会立刻切换到另外一个。
并且如果多个连接,会随机的分配监听。
测试
SQL> conn @local
已连接。
STOP LISENTER,再次连接,这个时候,连接比第一次慢了1秒钟左右
SQL> conn @local
已连接。
成功,这时连接上了LISTENER2
关于Oracle网络服务的资料,在OCP教材的第四章Oracle Net Services有很清晰的说明。


Oracle 版本:11g
运行环境: window XP
远程连接 需要两台电脑,一个是远程服务器端 ;一个是本机客户端。并且要保证在两台电脑上同时安装了Oracle 11g

先假设,你的电脑作为本机客户端,你同事的电脑作为远程服务器端。
具体配置如下:
1 设置远程服务器端的Oracle,即你同事电脑上的Oracle,需要设置 2 个地方:
 (1)设置"Database Configuration Assistant",在进行第6步:连接模式 时选择:“共享服务器模式” 。
并且下面的 “共享服务器” 选择 3 以上。然后点击“确定”或“是” 。

 (2)服务器端还要设置 net manager:监听程序 | LISTENER | 添加地址,主机填 客户端 电脑的ip,端口是:1521;

 (3)设置完成之后,停止服务,然后启动服务。


2 设置本机客户端,即你电脑上的Oracle

 (1)设置 "Net Configuration Assistant"  
"Net Configuration Assistant" 工具 -> "本地NET服务名配置" -> "添加" -> 选择ORACLE数据库或服务-> 输入服务名(远程服务器端的Oracle的全局数据库名) -> TCP -> 主机名中输入服务端IP地址,端口输入服务端监听程序所监听的端口 -> 是,进行测试 -> 首次测试可能会失败,因为默认的用户名口令不一定和服务端的匹配,点击 更改登录 输入服务端的用户名和口令,确定后如出现"测试成功",说明连接成功

 (2)设置完成之后,停止服务,然后启动服务。

 (3)按 winkey + R ,弹出“运行”对话框 , 运行cmd ,进入dos界面,输入 sqlplus /nolog  回车。

 (4)输入 conn scott/234@//192.168.1.106:1521/orcdb

或者: conn scott/234@192.168.1.106:1521/orcdb

就可以连接到服务器端的Oracle了。
 ( 注: scott/234 是服务器端的Oracle的用户 ,192.168.1.106 是服务器端的ip ,orcdb 是服务器端的Oracle的全局数据库名 )。
 -------------- 至此配置完成! -------------


服务端:
1、增加一个listener:终端运行:$ORACLE_HOME/bin/netca (必须在图形界面环境下),按照提示增加一个listener。

2、增加listener支持的服务:终端运行:$ORACLE_HOME/bin/netmgr (图形界面下),在:Oracle Net Configuration -> Local -> Listeners -> xxxx (你刚才增加的那个listener),从中选择“Database services”,增加你要服务的database。其中,注意Global Database Name就是你的对外的服务名字。然后保存并退出。

3、重启你的listener:终端运行:
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/lsnrctl start

最后提示:
Service "XXXX" has 1 instance(s).
The command completed successfully.


好了,到现在服务端的listener配置按成了。

客户端:
1、配置一个“Local Service Name Configuration”:终端运行:$ORACLE_HOME/bin/netca ,选择:Local Service Name Configuration,按照提示操作。其中,Service Name写和服务器端配置的时候添的那个“Global Database Name”;Host name写服务器IP(如果是在局域网内,也可些服务器名字);最后给这个本地服务起一个名字(例如叫:LSN)。然后保存并退出。

2、通过sqlplus连接到服务器上的数据库:
格式:sqlplus 用户名/密码@本地服务的名字
例子:sqlplus user/password@LSN



1,项目使用的是oracle11g数据库,安装个客户端访问服务器. 

    到oracle官方下载: 
    http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/htdocs/winsoft.html  (中文)
    http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下载下列几个压宿文件 

http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html


   oracleDBinstantclient-basic-win32-11.1.0.7.0.zip     这是最核心的包 
   instantclient-jdbc-win32-11.1.0.7.0.zip     包含JDBC Driver的包 
   instantclient-sqlplus-win32-11.1.0.7.0.zip   最简单的SQLPLUS包 



    我把文件解压到了d盘,d:oracleclient11g下面 

    最后的文件结构应该如下:
Oracle客户端安装 - bxl766 - bxl766的博客
 

    2,配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%   ORACLE_HOME%networkadmin下)放在上面的目录d:oracleclient11g下。 
oracledata = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.112)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = orcl) 
    ) 
  ) 

    

    3,添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:d:oracleclient11g),这是为了能够 找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动 在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。 

    4,设置ORACLE的语言,添加注册表项:“NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,位于 HKEY_LOCAL_MACHINESOFTWAREORACLE。如果本机没有安装ORACLE,在H_L_MSOFTWARE下是没 有"ORACLE"这一项的,需要手动创建,然后再在ORACLE项下创建键NLS_LANG,键值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 

    5,下载并安装PL.SQL.Developer配置应用 
    配置tools->preferences->connection 
Oracle客户端安装 - bxl766 - bxl766的博客
 
    找到等号左侧参数填写等号右侧对应的内容 
    Oracle Home=D:oracleclient11g
    OCI library=D:oracleclient11goci.dll 

    6,再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。


http://v.youku.com/v_playlist/f5172664o1p12.html


http://www.youku.com/playlist_show/id_4359957.html



http://www.youku.com/playlist_show/id_4368229.html


-----------------------------------------------------------------------------
服务器: rhel5.4 (安装了oracle 11g)

客户端: window 7  安装  PLSQL Developer
               oracle 客户端软件: instantclient-basic-nt-11.2.0.3.0.zip

客户端配置:
1. 解压到D盘:D:instantclient_11_2 (解压路径)
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 tnsnames.ora文件内容如下:
ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

ORCL = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.218)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = DATA) 
    ) 
  )

说明
ORCL =  这边必须顶格写 
2 安装:PLSQL Developer9 (版本)
按步骤(略)
配置:
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 

3.客户端登录:
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 双击登录

PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 数据库选择中 出现  多个 字符串不是 pl sql 正确读取  tnsnames.ora   (ORCL是我们自己定义的)
PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 连接远程数据库 ORCL

PL/SQL Developer远程连接Oracle数据库(可以使用) - zhuzhu - 五事九思 (大连Linux主机维护)
 测试sql方式。

-------------------------------------------------------------------------------------------------------------------------------------------------------------
备忘
 Oracle笔记(一)RHEL5.7十步安装Oracle11g R2

Linux上安装oracle,因其过程之繁琐,报错率之高,成为了许多工程师的梦魇。前段时间因工作需要,分别在HP的PC服务器和小型机上装了几次oracle,其间的过程是生不如死啊,简直都快弄出人命了~如果自己没有一套完整的安装流程,光靠临时去百度的话,我想任何人都会有这样的问题:不断报错,不断卡壳,没完没了……最后还很有可能导致不得不重装系统。这些使得我不得不对自己的教训进行了总结,现总结出一份史上最详细的安装教程,供自己备忘,同时也分享给大家。 
    本教程适用环境为32位的RHEL5系统和oracle11g R2。 
1、在安装oracle之前,用命令检查必需的RPM软件包有没有安装 
命令如下: 
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
如果RPM包安装完全的话会如图所示 
image  
如果未安装完全会显示XXX is not installed,这个时候可以通过挂在RHEL5.4的光盘或镜像,在Server文件夹里寻找相应的RPM包安装。 
2、建立oracle系统用户和安装目录 
创建一个主组oracle和一个副组dba 
groupadd oinstall 
groupadd dba
 
创建oracle安装文件夹 
mkdir -p /oracle 
添加一个oracle用户, 根目录是 /oracle, 主的组是oinstall 副的组是dba 
useradd -g oinstall -G dba -d /oracle oracle 
拷贝包含环境变量的文件到安装目录下,这个之后会用到 
cp /etc/skel/.bash_profile /oracle 
cp /etc/skel/.bashrc /oracle 
cp /etc/skel/.bash_logout /oracle
 
为oracle用户设置密码 123456 
passwd oracle 
设置安装目录用户权限 
chown -R oracle:oinstall /oracle 
检查 nobody 是否存在 
id nobody 
缺省存在的,会显示nobody的uid、gid和groups,默认都是99。如果不存在可以输入以下命令 
/usr/sbin/useradd -g nobody 
3、修改内核参数 
vi /etc/sysctl.conf 
在sysctl.conf这个文件中加入以下内容,我加在文件的末尾 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
kernel.shmall = 2097152 
kernel.shmmax = 536870912 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
net.ipv4.ip_local_port_range = 9000 65500 
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048586 
image  
4、设置oracle用户的shell limit 
vi /etc/security/limits.conf 
在limits.conf中加入以下内容,同样放在末尾,如图所示 
oracle           soft    nproc   2047 
oracle           hard    nproc  16384 
oracle           soft    nofile   1024 
oracle           hard    nofile  65536 
image  
增加下面的内容到文件 /etc/pam.d/login 中,使shell limit生效 
vi /etc/pam.d/login 
session    required     pam_limits.so 
image  
5、设置oracle 用户环境变量 
首先切换到oracle用户下 
su – oracle 
vi .bash_profile
 
在隐藏的.bash_profile文件中,将原有的环境变量删除,加入以下环境变量,注意自己的根目录位置 
ORACLE_BASE=/oracle 
ORACLE_HOME=$ORACLE_BASE/oracle 
ORACLE_SID=DATA 
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin 
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
 
image  
6、将oracle安装包解压后上传到linux中,准备开始安装 
Oracle 11g Release 2 linux x86官方的安装包分两个文件,一个1.2G一个900+M,解压缩后会有一个database文件夹,把这个文件夹拷过去就可以了。具体过程不再描述。复制完成后,改变oracle用户访问安装包的权限 
chown -R oracle:oinstall /usr/oracle_install/database 
注销root用户,改用oracle用户登录,来的database文件夹下,开始安装 
./runinstaller 
image  
这里注意一下,如果是用root用户通过su切换到oracle用户的话,在“检查监视器”这一项可能无法通过,会显示以下警告

检查监视器: 监视器配置至少必须显示 256 种颜色 
&gt;&gt;&gt; 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <&lt;&lt;&lt;

未通过某些要求检查。必须先满足这些要求,

然后才能继续安装,那时将重新检查这些要求。

是否继续? (y/n) [n] y

因此注销或重启后用oracle用户登录最为保险。 
7、安装过程 
这时候不出意外的话会弹出oracle 11g的图形安装界面,现在根据图形界面的提示一步一步安装吧 
clip_image002[4]

这一步可填可不填,由于这里是实验,所以就不填了 
clip_image004[4] 
选择仅安装数据库软件,数据库实例可以放到安装完后再配置 
clip_image006[4] 
选择单实例数据库安装 
clip_image008[4] 
语言默认即可 
clip_image010[4] 
选择安装企业版,也可以根据个人需求来选择 
clip_image012[4] 
Oracle的安装目录,这里已经在环境变量中设置过了,默认即可 
clip_image016[4] 
这里会提示要创建一个清单目录,回到命令行下,输入以下命令,否则文件夹不存在会报错。 
创建完文件夹后再点击下一步 
mkdir /oraInventory 
chown -R oracle:oinstall oraInventory 
clip_image018[4] 
设置不同组的数据库权限 
clip_image020[4] 
安装程序会检查物理内存和空间大小,由于虚拟机分的内存很小,所以oracle检查会提示失败,不过我们可以忽略它,在右上角打勾即可(真实的服务器内存非常大,一般不会出现此问题) 
clip_image022[4] 
检查一遍之前的配置,点“完成”开始正式安装 
clip_image024[4] 
clip_image026[4] 
安装完毕, 提示执行两个脚本 
./oraInventory/orainstRoot.sh 
./oracle/oracle/root.sh
 
最后点finish,oracle安装完成! 
8、开启oracle监听服务 
首先在命令行上输入netca,会弹出一个对话框 
clip_image028[4] 
这里一直默认下一步就可以了,最后点“完成”结束 
9、创建oracle数据库 
回到命令行,输入dbca,会弹出以下会话框 
clip_image030[4] 
数据库名称和SID取DATA(注意要和环境变量中设置的SID一样) 
clip_image032[4] 
为不同用户设置统一口令,后期可以更改 
clip_image034[4] 
接着下一步,在第九步左右Character Sets 选择 Use Unicode(AL32UTF8)字符集 
clip_image036 
开始创建数据库,如无意外的话,进度条走完后数据库即创建完成。 
10、测试数据库 
注意必须使用oracle系统用户登录才能操作数据库,以及开启监听、控制台等功能。 
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat Dec 24 23:33:57 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba   //连接数据库 
Connected to an idle instance.   //oracle实例未开启 
SQL> startup   
ORACLE instance started.

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/itmarker/article/details/8607078
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

  • 发表于 2020-06-30 09:56:48
  • 阅读 ( 2103 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢