win764位使用plsql developer遇到的问题

来源:互联网 发布:程序员要考什么证 编辑:程序博客网 时间:2024/06/01 07:44

都知道的是plsql是不支持直接管理64位的orcacle,要使用instantclient。
1、首先要知道的是自己安装的数据的版本,最简单的办法就是sqlplus /nolog,它的下面有一个sqlplus:版本号,这个版本号与orcacle的版本号的是相同的(反正我的是相同的),也可以用一些网上的常规方法去查。
2、找到版本号就到orcacle官网上下载对应的instantclient版本,这个文件夹可以放在任何地方(我是放在oracle的product目录下的,这样也方便找)。
3、接下来dbhome_1下的NETWORK复制到下载instantclient的目录下。
4、安装plsql软件
5、设置变TNS_ADMIN变量,其值是..\instantclient\NETWORK\ADMIN,这里是我的路径D:\app\hai\product\instantclient_11_2\NETWORK\ADMIN。
要说明的是这个变量设置很重要的,TNS_ADMIN变量的作用是告诉系统listener.ora、sqlnet.ora、tnsnames.ora的存放路径是在当前存放值的目录下,就不会读取原有的NETWORK中的文件了。如果要新创建一个服务,要在设置值得目录下找到tnsnames.ora文件并修改,使用net manager新创建的服务也会在该文件中生成对应的配置,这时修改原有的dbhome_1\NETWORK下的tnsnames.ora是没有用的。
6、在plsql中oracle_home填上instantclient的文件路径,在oci库中填上instantclient的文件路径\oci.dll。
这是我的:
oracle_home:D:\app\hai\product\instantclient_11_2
oci库:D:\app\hai\product\instantclient_11_2\oci.dll
7、尝试连接出现ora-12514错误,在网上才找一下在listener.ora中添加一段代码,至于为什么要这样写,还不知道!先解决问题先!
这是我的listener.ora:

# listener.ora Network Configuration File: D:\app\hai\product\instantclient_11_2\NETWORK\ADMIN\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER =  (SID_LIST =    (SID_DESC =      (SID_NAME = CLRExtProc)      (ORACLE_HOME = D:\app\hai\product\11.2.0\dbhome_1)      (PROGRAM = extproc)      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\hai\product\11.2.0\dbhome_1\bin\oraclr11.dll")    )    (SID_DESC =      (GLOBAL_DBNAME = orcl)      (ORACLE_HOME = D:\app\hai\product\instantclient_11_2)      (SID_NAME = orcl)    )  )LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))    )    (DESCRIPTION =      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))    )  )ADR_BASE_LISTENER = D:\app\hai

其中SID_LIST_LISTENER中的第二块SID_DESC就是要添加的代码了,其中我实验过GLOBAL_DBNAME可以跟SID_NAME不一样的。
GLOBAL_DBNAME
SID_NAME
SERVICE_NAME
这三个参数很容易搞混淆的,现在为止都没有分得很清楚。
当global_dbname和sid_name不一样时,我实验发现使用sqlplus username/password@ip:port/service_name是进不去的,sqlplus username/password@ip:port/global_name才可以(我这里service_name和sid_name是一样的,具体原因暂时还不知道)。
8、使用net manager创建服务,这里要注意的网络服务名可以自定义的,ip或主机名也是可以自定义,但是服务名最好是看一下,进入数据使用show parameter service_names看一下,填错了肯定出不来的!

9、使用net manager配置监听程序,这里要监听的肯定是我们设置的ip地址或主机名。
10、配置完成要重启listener,可以使用lsnrctl stop + lsnrctl start来重启,也可以在服务中去重启listener服务
最后就可以使用plsql来管理数据库了,我这里使用的是多用户单实例也就是一个用户中装一个数据库的模式。

0 0
原创粉丝点击