官方材料
官方主页:https://www.oracle.com/index.html
客户端
客户端一:Oracle旗下的sql developer,需要安装java
客户端二:PL/SQL Developer,需要先安装oracle精简版客户端,并且都是64位/都是32位(也要结合自身电脑或者服务器操作系统支持情况),安装完成,配置tnsnames.ora
网络配置文件说明
为了使得外部进程,如CAMS后台程序能够访问 Oracle 数据库,必须配置 Oracle 网络服务器环境。配置 Oracle 网络服务器环境是通过配置listener.ora sqlnet.ora 和 tnsnames.ora 共三个文件来进行。
listener.ora即监听配置文件
监听配置文件 listener.ora 的存放路径为
$ORACLE_HOME/network/admin
说明
1、listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER
1)运行在CAMS应用中,监听文件定义的监听器就使用这个缺省名字,并且使用缺省的协议 tcp/ip和缺省的端口号 1521 。待配置好监听文件以及随后说明的 sqlnet.ora 和tnsnames.ora 文件之后,就可以用以下命令将监听文件中定义的监听器启动起来:
A、启动监听器的命令为: lsnrctl start
B、停止监听器的命令为: lsnrctl stop
C、监测监听器当前状态的命令为:lsnrctl status
2)以上结果说明监听器正在运行,否则说明监听器已经停止了,CAMS系统的后台程序的正常运行不仅依赖于数据库实例的运行,还依赖于这个数据库监听器的运行,假如监听器没有启动,即使数据库已经启动 CAMS 后台程序仍然不能正常工作。
2、如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一个IPC 协议地址的监听,是为了外部进程调用用的,在数据库安装时自动设定,不需要改动。
3、在监听文件后部还有一个 SID_LIST_LISTENER 段,该段用于定义监听器的服务,即为哪些数据库实例提供监听服务。
sqlnet.ora文件
是控制客户端访问数据库服务器的配置文件,存放路径为:$ORACLE_HOME/network/admin
文件内容一般如下:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
说明
1、默认无sqlnet.ora时(可操作系统访问【oracle 用户系 dba组才行】)
2、SQLNET.AUTHENTICATION_SERVICES: 指定启动一个或多个认证服务,有三种配置:
1)NONE:作用是不允许通过OS系统用户登录数据库,需要提供用户名及密码;
2)ALL:作用是允许所有的登录方式;
3)NTS:作用是允许本地操作系统用户认证;
3、NAMES.DIRECTORY_PATH:指定CLIENT NAME解析方法的次序;常用的值有tnsnames、hostname、onames、ezconnect;不常用的值有ldap、cds、nis,默认值是(tnsnames,onames,hostname)。
4、若想限制某ip对数据库的访问,可作如下配置:
tcp.validnode_checking=yes
tcp.invited_nodes=(ip地址)
tcp.excluded_nodes=(ip地址)
第一行的含义:启用IP限制功能;
第二行的含义:允许访问数据库的IP地址列表,多个IP地址使用逗号分开;
第三行的含义:禁止访问数据库的IP地址列表,多个IP地址使用逗号分开
修改后重启监听即可生效。
tnsnames.ora文件
是 Oracle客户端的网络服务名配置文件,用于存放该客户端配置的可连接实例的参数,存放路径为:$ORACLE_HOME/network/admin
说明
ADDRESS项包含三个子参数:
PROTOCOL :默认协议TCP
HOST :ip地址
PORT:端口,默认1521
注意:要确保在监听文件中也有对应的一个 ADDRESS 项也包含同样的三个子参数
Service_name与sid区别
SID即INSTANCE_NAME是用来唯一标示实例的。SERVICE_NAME是oracle8i新引进的,8i之前,一个数据库只能由一个实例对应,但是随着高性能的需求,并行技术的使用,一个数据库可以由多个实例对应了,比较典型的应用如RAC。为了充分利用所有实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念。该参数直接对应数据库,而不是某个实例。
通过jdbc连接oracle方式:
格式一:jdbc:oracle:thin:@host:port/<service_name>
格式二:jdbc:oracle:thin:@host:port:SID
格式三:jdbc:oracle:thin:@TNSName