两个办法
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、桐梓网站维护、网站推广。
(1)给他一个外网ip
(2)让一台既能连接外网也能连接数据库的电脑做转接,然后远程操作。
不过以上两个办法风险都很大,自己把握。
Oracle客户端连接服务端,监听端口是固定的1521。
但是,监听连接后,会随机分配一个端口,并告知客户端连接此端口,获取数据。
这就造成 路由器的端口映射无法设置,使用防火墙的,也会有这个问题。
但是部署在Unix系统上的Oracle,不存在此问题,原因不再深究。
解决如下:在注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME x(x目录编号)上新建一个字符串值:USE_SHARED_SOCKET=TRUE。
如果安装了多个目录,则每个类似的目录都要设置。并重启 数据库。
这样设置就是告知Oracle,不要随机分配连接端口,而是总是使用与监听相同的1521端口。
一、将数据库操作模式改为共享服务器模式
注:在Oracle数据库服务器本机操作。
1、 点击开始,从程序菜单选择“Database Configuration Assistant”,如下图所示。
2、 进入“欢迎使用”界面后,点击“下一步”,如下图所示。
3、 进入“步骤1(共4步):操作”界面后,选择“在数据库中配置数据库选项”,点击“下一步”,如下图所示。
4、 进入“步骤2(共4步):数据库”界面后,选择可用数据库(本机Oracle数据库服务名),点击“下一步”,如下图所示。
5、 进入“步骤3(共4步):数据库特性”界面后,点击“下一步”,如下图所示。
6、 进入“步骤4(共4步):数据库连接选项”界面后,选择“共享服务器模式”,点击“编辑共享连接参数…”,如下图所示。
7、
进入“共享服务器模式”界面后,协议选择为TCP;调度程序数设置为5;每个调度程序的最大连接数设置为100;最大调度程序数设置为5;最大服务器进程数设置为600,点击“确定”,如下图所示。
8、 返回到“步骤4(共4步):数据库连接选项”界面后,点击“完成”,如下图所示。
9、 系统弹出“重新启动数据库”提示,点击“是”,如下图所示。
10、进入“概要”界面后,点击“确定”,数据库配置正在进行…如下图所示。
11、系统弹出“数据库配置已成功完成。是否要执行其他操作?”提示,点击“否”,如下图所示。
12、数据库操作模式改为共享服务器模式已完成!
需要把DB 的Port 开放的,或者通过VPN也是可以的。
通过vpn吧,因为公司的数据库的ip是内部网的,除非你把数据库ip变成公网ip,
但vpn就可以实现你从家里到公司,我就是这样来操作的。
1。路由器或防火墙做设置,把DB 的Port 开放。
2。通过vpn
1、服务器端Sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,ONAMES,HOSTNAME)
TRACE_LEVEL_CLIENT = 16
2、服务器端regedit
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1
新建字符串名为USE_SHARED_SOCKET,值为TRUE
这一步要重启电脑,不重启电脑也可以,把explorer.exe进程结束,然后再新建一个explorer.exe
设置mts_dispatchers参数
SQL alter system set mts_dispatchers='(PROTOCOL=TCP)(disptchers=1)';
这一步要重启电脑
3、服务器端Listener.ora
sfc =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = joy_sfc_db)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\Oracle\)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = sfc)
(ORACLE_HOME = E:\oracle\)
(SID_NAME = sfc)
)
)
###############################################################################
1、客户端Sqlnet.ora
添加NAMES.DIRECTORY_PATH= (HOSTNAME)
2、客户端Tnsname.ora
sfc =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 58.251.163.164)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sfc)
)
)