前言
公司有现成的oracle服务器环境,回来准备做OCI接口对收包处理的分析实验。
开始在本机搭一个服务器,本机去连,但是抓包不好弄。上了npcap,感觉有点副作用。和实际环境也不同。
就想在虚拟机里搭一个oracle,从真机去连接。在虚拟机里装oracle本身是很快的,在本地用也没问题,sqlplus可以连上。
没想到,遇到了远程连接不上的问题。
去查资料,大家都做过了。
我也跟着做,但是总是配不通远程连接oracle,费了很长时间,磨磨唧唧的弄了快2天才弄好,真意外。
估计以后还会去搭这个实验环境,记录一下。
实验报告下载点
(文字+实验截图版本)
oracle_11g_r2_for_win_install_and_config.docx
实验
实验环境
Oracle服务器所在计算机:vmware14 + win7x64
Oracle客户端所在计算机 : win10x64
安装材料
http://www.jb51.cc/article/p-hdukpwzf-brn.html
oracle 11g r2
oracle数据库sql执行工具
安装服务器
关闭防火墙
当前是实验环境,先关闭服务器端的防火墙,以后有需要再配置。
后来发现,没关防火墙,也是浪费了好多时间去找客户端不能连上oracle服务器的原因。
Oracle服务器的安装
因为是头一次装oracle,参数能不动的就不动,防止惹上不必要的麻烦。
不选接收安全更新
创建和配置数据库
桌面版数据库
UTF8字符集,口令都是system
将响应文件留起来备用。
开始安装了
在虚拟机中装,时间有点长,等安装程序装完。
允许java程序访问网络。
只使用sys和system用户做实验。
安装完,可以看到管理系统的url.
配置oracle服务器能被远端访问
oracle服务端自带的工具:网络配置助手,数据库配置助手,主要是用这2个UI工具和oracle命令行进行设置。
配置监听程序
使用网络配置助手
监听程序配置,重新配置,LISTENER,TCP,端口,只配置这一个监听程序。
修改监听程序的配置文件
C:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
先拷贝到桌面,修改完,再覆盖回去。
# listener.ora Network Configuration File: C:\app\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 = C:\app\admin\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\admin\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = C:\app\admin\product\11.2.0\dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.180.129)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\admin
将修改后的listener.ora,替换回去。
重新启动监听服务程序(用管理员权限启动cmd)
lsnrctl stop
lsnrctl start
配置网络服务名称
网络配置助手,本地网络服务名配置,重新配置,ORCL,orcl,tcp,192.168.180.129,1521,
进行测试。
因为选的是重新配置,用户名的口令是空的,需要再设置一下。
这里的用户名和口令,一定要手工输入,才能点击确定。不能直接点击确定!
网络服务名为orcl,只配置这一个网络服务名。
启动所有的oracle服务
将oracle服务都尽量改成自动启动,如果没启动的服务,在属性中有启动按钮。
设置数据库为共享模式
先检查防火墙有没有关,需要关掉防火墙。
如果防火墙是刚关的,重新启动一下监听程序。
lsnrctl stop
lsnrctl start
将oracle的几个服务也重新启动一下。
测试一下本地连接是否正常
tnsping 192.168.180.129,这里如果正常的话,下面共享设置不成功,客户端也能连的上。
修改tnsnames.ora
如果tnsnames.ora开始设置的不正确,设置共享模式就不会成功。
看到监听的IP是本地IP,而不是绝对IP,改过来。
修改后
# tnsnames.ora Network Configuration File: C:\app\admin\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.180.129)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.180.129)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
将tnsnames.ora替换回去,重新启动监听程序。
lsnrctl stop
lsnrctl start
lsnrctl status
开始设置共享模式
在设置之前,最好再将网络服务名称和监听再重新设置一次。防止设置共享模式不成功。
数据库助手,配置数据库选件,ORCL,system,共享服务器模式1。
这里有可能不成功,好像也不知道要再设置啥了。不过从实验看,不影响客户端连接数据库,进行增删改查。(这里设置共享模式,就是为了让数据库效率高些)。
不成功的设置如下,但是监听配置文件并没错。
后来,用网络助手又设置了一次网络服务名称和监听设置,再去设置共享模式,就成功了。
验证客户端连接服务器 现在可以用其他计算机上装好的客户端工具连接一下刚搭好的oracle服务器,看看是否能访问。我这是可以的,oracle服务器配置完成。
原文链接:https://www.f2er.com/oracle/206685.html