Oracle 11g 客户端安装及plsql配置
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下载下列几个压宿文件
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下面
最后的文件结构应该如下:
2,配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在% ORACLE_HOME%\network\admin下)放在上面的目录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_MACHINE\SOFTWARE\ORACLE。如果本机没有安装ORACLE,在H_L_M\SOFTWARE\下是没有"ORACLE"这一项的,需要手动创建,然后再在ORACLE项下创建键NLS_LANG,键值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
5,下载并安装PL.SQL.Developer配置应用
配置tools->preferences->connection
找到等号左侧参数填写等号右侧对应的内容
Oracle Home=D:\oracleclient11g
OCI library=D:\oracleclient11g\oci.dll
6,再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
到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下载下列几个压宿文件
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下面
最后的文件结构应该如下:
2,配置tnsnames.ora,如果本机上没有安装oracle,可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在% ORACLE_HOME%\network\admin下)放在上面的目录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_MACHINE\SOFTWARE\ORACLE。如果本机没有安装ORACLE,在H_L_M\SOFTWARE\下是没有"ORACLE"这一项的,需要手动创建,然后再在ORACLE项下创建键NLS_LANG,键值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
5,下载并安装PL.SQL.Developer配置应用
配置tools->preferences->connection
找到等号左侧参数填写等号右侧对应的内容
Oracle Home=D:\oracleclient11g
OCI library=D:\oracleclient11g\oci.dll
6,再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。
///-------------------------------------------------------------------------------------------------
4) 设置环境变量(修改PATH和TNS_ADMIN环境变量)
对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 "D:\Oracle\app\YM\product\instantclient_11_2;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\Oracle\app\YM\product\instantclient_11_2;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
最后点击"确定"退出.
--------------------------------------------------------------------------------------------------------
plsql 连接 oracle 11g(64位)(window7)
----------------
1、用plsql连不上oracle 11g(64位),先去下载一个oracle 11g(32位客户端)
http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip(需要登录)
2、安装客户端后,需要在plsql设置首选项中设置url,
tool-preferences-oracle-connection中
Oracle Home = “F:\oracleClient\admin\product\11.2.0”
OCI library = "F:\oracleClient\admin\product\11.2.0\client_1\oci.dl"
3、将oracle服务器端的文件夹"F:\oracle\admin\product\11.2.0\dbhome_1\NETWORK",copy到"F:\oracleClient\admin\product\11.2.0\client_1"下。
4、启动PL/SQL可以看到database下拉框的值啦。
5、接下来要修改"listener.ora",修改后必须重启TSNlistener服务。
修改过程中遇到种种麻烦:{
没修改、或修改错了,登录会报 ORA-12514 或者 ORA-28547
修改错了,TSNlistener服务重启失败,登录会报ORA-12541
}
报ORA-28547:是因为listener.ora中要去掉这句"(PROGRAM = extproc)"
网上说{
ORA-28547:连接服务器失败,可能是Oracle Net管理错误
将listener.ora中的(PROGRAM = extproc)这句注释掉就可以了。去网上找过,extproc是一个扩展的程序调用接口协议, 连接和调用外部的操作系统程序或进程用时会用到。
}
重启TSNlistener服务的命令为:lsnrctl stop 和 lsnrctl start
服务器与客户端都有listener.ora,都改吧,不过似乎只要改服务器的就可以了。
-------第二个SID_DESC就加的,终于plsql可以登录了。
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = CLRExtProc)
- (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
- (PROGRAM = extproc)
- (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
- )
- (SID_DESC =
- (SID_NAME = orcl)
- (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
- (PROGRAM = extproc)
- (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
- )
- )
-------该文件其他地方我都没动过,其他文件如"tnsnames.ora"也没改动。
- # listener.ora Network Configuration File: F:\oracle\admin\product\11.2.0\dbhome_1\network\admin\listener.ora
- # Generated by Oracle configuration tools.
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = CLRExtProc)
- (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
- (PROGRAM = extproc)
- (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
- )
- (SID_DESC =
- (SID_NAME = orcl)
- (ORACLE_HOME = F:\oracle\admin\product\11.2.0\dbhome_1)
- (ENVS = "EXTPROC_DLLS=ONLY:F:\oracle\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
- )
- )
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
- )
- )
- ADR_BASE_LISTENER = F:\oracle\admin