1. Oracle即时客户端
1.1 下载
下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接进入会出现以下页面。
32位或64位都要下载该版本,因为我们是为了安装PL/SQLDeveloper,而其只支持32位的Oracle Instant Client。
1.2
把下载下来的instantclient-basic-nt-11.2.0.4.0.zip文件解压缩C:\Program Files\instantclient_11_2(可以选择自己的目录)
2. 配置环境
该步骤是为连接远程数据库做准备。
2.1 环境变量修改
方法:我的电脑->属性->高级系统设置->高级->环境变量
效果如下图:
2.2 增加TNS_ADMIN系统变量
作用:定位TNSNAMES.ORA文件的地址,该文件是Oracle数据库的配置文件,类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应
TNS_ADMIN=C:\instantclient_11_2
2.3 增加NLS_LANG系统变量
作用:设置客户端处理的数据的编码格式
2.4 添加路径到PATH中
2.5 新建tnsnames.ora文件
(1) 文件内容可以复制数据库服务器中$oracle/product/11.2.0/db_1/network/admin下的tnsnames.ora文件,也可以对照着写,需保证完全一致。
如果需要手写,重点要确认的部分:ORCL部分是数据库别名(又称连接名),Host为IP地址, SERVICE_NAME为数据库服务器的实例名。参考上图。
(2) 可复制样例文本:
MyDB=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST= IP)(PORT= 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = yourSID)
)
)
(3) 把tnsnames.ora文件放到TNS_ADMIN目录(如C:\instantclient_11_2)中。
3. 卸载方法
在系统变量中:
删除 ORACLE_HOME,TNS_ADMIN, NLS_LANG 三个变量,修改path变量,去掉C:\instantclient_11_2目录
删除C:\instantclient_11_2目录
4. PL/SQL Developer
4.1 下载安装
这类资源较多且杂,请读者自行下载。
安装过程也比较简单,只需要选择一个目录,没有要求,不再赘述。
4.2 配置首选项
打开PLSQL Developer, 点击选择 "cancel" ,没有登录打开了PLSQL Developer主界面
在菜单栏选择 "Tools" ==>"Preferences", 弹出如下界面,在ORACLE HOME 中填上:D:\instantclient_11_2在OCI地址填上:D:\instantclient_11_2\oci.dll,参数请按照实际情况填写,其他选择参考截图
4.3 启动
退出后,重新启动,启动效果应如下图所示:
如果配置有错,会在这个页面反应出来。用户名及密码请联系数据库管理员。
连接成功的情况下,数据库应该为可选。
账户启动成功:
4.4 操作样例
4.4.1 建表
(1) 点击工具栏中的第一个图标,选择“表”。
(2) 右边会弹出一个窗口,我们以可视化方式来创建一个Table。
如下图所示,在“一般”选项卡中,输入“名称”即表名。
(3)在“列”选项卡中输入我们所有列名和类型等。
(4)在“键”选项卡中创建表的主键,这个是必须有的。
(5) 在“索引”选项卡中创建表的索引,索引类型众多,我们根据自己需要来创建。
(6) 最后点击窗口中的“应用”按钮即可。
(7)我们可以点击右下角的“查看SQL”,查看到创建表时的SQL语句。
(8)如果我们已经有了创建表的SQL语句,我们可以把它COPY到SQL窗口中。
(9)点击左上角的齿轮按钮或者按F8键执行SQL语句,这样即可创建。
4.4.2 其他
其他功能待添加。
5. 部分异常情况处理
5.1 OCI.dll
解决方案:未在首选项中配置正确oci.dll的位置,重新配置即可
5.2 ORA-01045
解决方案:用户权限不足,需要数据库管理员使用alter命令增加权限
5.3 ORA-12514
登陆界面错误,出现ORA-12514 的提示,TNS 监听程序当前无法识别连接描述符中请求服务。
解决方案:
可能一:sqlplus不能正确解析主机名,可能hosts或DNS的问题。在windows下用记事本打开hosts,添加一行,例如 10.0.0.156 hostname
可能二:用户密码使用了特殊字符,无法解析,如@,尝试在服务器端使用sqlplus修改用户密码。
5.4 ORA-12170
登陆界面错误,出现ORA-12170的提示,连接超时。
解决方案:
可能一:网络不通,使用ping命令检查。
可能二:服务器端listener.ora或tnsnames.ora配置错误,参考《Oracle11g r2安装配置》
附:数据库客户端的监听配置
如果需要使用客户端远程连接,在默认配置下无法成功连接,则需要确认三个配置文件的正确性。三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora,都是放在$Oracle_home\network\admin目录下。
sqlnet.ora
sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。
样例:
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without thenative
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS) //设置可以远程访问数据库
NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME) //客户端就会首先在tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的ip地址
listener.ora
//监听器的名字, 一台数据库可以有不止一个监听器 ,再向下面是监听器监听的协议,ip,端口等,这里使用的tcp1521端口,并且使用的是主机名
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) #注意HOST配置为主机名
)
//下面定义LISTENER 进程为哪个实例提供服务 这里是ORCL ,并且它对应的ORACLE_HOME 和GLOBAL_DBNAME 其中GLOBAL_DBNAME 不是必需的除非 使用HOSTNAME 做数据库连接
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = localhost.localdomain) #注意GLOBAL_DBNAME为主机名
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/db_1)
(SID_NAME = ORCL) #实例名,和tnsnames里的对应
)
)
tnsnames.ora
ORCL= //实例名
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST=localhost.localdomain)(PORT = 1521)) //host为主机名
)
(CONNECT_DATA =
(SERVICE_NAME = orcl.localdomain)
)
)
// SERVICE_NAME可以使用sqlplus> show parameter service_name; 命令查看
配置完成,在服务器端开启监听服务,lsnrctl start,在客户端输入用户名,密码,选择连接方式,成功登陆,完成连接。
本文详述了Oracle即时客户端的下载与配置,包括环境变量设置、tnsnames.ora文件创建,以及PL/SQL Developer的下载、安装和配置。此外,还提供了针对常见错误如OCI.dll、ORA-01045、ORA-12514和ORA-12170的解决办法,确保顺利连接数据库。
293

被折叠的 条评论
为什么被折叠?



