您的位置:首页 > 数据库 > Oracle

oracle环境安装一些我的bugs

2016-05-11 16:29 253 查看
仅供参考!

1、oracle database 安装步骤都差不多。

2、pl/sql安装也是一样的,网上很多都能搜到。

3、重点是pl是32位的,它不支持64位的oracle base,报错make sure 32 bits ..... 。

我的解决办法是:

    ①首先打开pl,不用先登录,点击tools,选择preferences,看见Oracle Home 和 oci library两个变量,oracle home 就是我们安装oracle时产生的目录,每个人的目录可能不一样,我是照别人多出来了server目录。至于oci library目录就有点坎坷了,我是在官网上下载instantclient-basic-nt-12.1.0.2.0,解压后放在了plsql安装的目录下,让oci library指向了instantclient-basic-nt-12.1.0.2.0的oci.dll文件,我的是C:\Oracle11g\plSql\instantclient-basic-nt-12.1.0.2.0\instantclient_12_1\oci.dll。

       ②我还配置了环境变量:添加了环境变量(右键我的电脑,属性,高级系统设置,在高级选项卡里,最下面有个环境变量;在系统变量下,点击新建,就可以添加环境变量了)

变量名:TNS_ADMIN
变量值:F:\app\lenovo\product\11.2.0\dbhome_1\NETWORK\ADMIN
变量名:NLS_LANG
变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
第一个变量时指向TNS文件所在目录的,这个目录是你安装的64位版本Oracle的TNS文件所 在目录。TNS文件就是保存了连接信息的文件。
第二个变量是指定数据库使用的编码。如果不设置成以下值,那么连接上数据库后,你看到的所 有中文的内容将会是乱码,都是一堆问号。
③就是连接本地的数据库可以,远程的就会报监听程序描述符中为找到服务名,发现是C:\Oracle11g\app\oracle\product\11.2.0\server\network\ADMIN目录下tnsnames.ora配置错误,把 SERVICE_NAME 改成了SID 然后重启了监听程序 连接成功。

在oracle中SID必须等于instance_name(实例名) 这里可以简单的记作 SID就是实例名

1. SID是实例名,实例名指的是用于响应某个数据库操作的数据库管理系统的名称。实例名是由初始化参数文件的参数instance_name决定的。如果这个参数不被指定(即instance_name没有被指定为任何值),那么实例的名字由该用户的环境变量ORACLE_SID(注意这里是大写)决定。在windows平台下,则是注册表中oracle_sid值决定。

2. SERVICE_NAME指的是listener中的全局数据库名:这个名字是由listener.ora中GLOBAL_DBNAME参数决定的。这个名字代表的是客户端连接到数据库时,tnsnames.ora中SERVICE_NAME参数所对应的值。 
3. 连接字符串 配置tnsname.ora时,可以用SID,也可以用SERVICE_NAME. 注意这两个值不一定相同,具体要看数据库服务器中的配置。 问题就出在第三点这里,如果SID和服务名一样 当然连接也不会出错,但如果不一样,就是报ora-12514 这个具体还要看服务器的配置信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: