本机oracle供局域网的其他电脑访问(转)

本文介绍如何通过Oracle自带的Net Configuration Assistant和Net Manager工具配置本地网络服务名,实现跨机访问Oracle数据库。文中详细说明了使用这两种工具的具体步骤,并提供了手动编辑tnsnames.ora文件的方法。
最近发现很多人问到怎么才能访问别人机子上的oracle,这里来给大家做个示范。

借助工具的话,oracle就自己带了两个在开始菜单中找到oracle的快捷方式找到
配置和移值助手(Configuration and Migration Tools)下面:net configuration assistant 和net manager

一.net configuration assistant
1.选择本地NET服务名配置
2.添加
3.在服务名中输入你要访问的机子的oracle的服务名称(就是数据库名啦)如为abc
4.之前的协议用默认的就行了,这里的主机名就填你要访问的主机的IP或主机名称(这个只对于局域网)(如用192.168.0.100)
5.然后就会让你测试连接,第一次一般是失败的,因为它是用sys用户在测试,MS不支持用sys用户测的,
你只要换个用户测就行了,
6.这时会让你输入网络服务名,你随便输入一个名字就行了,因为这个名字是你用来连接到其它机子的服务名,(如用KEYMEN)
然后一路NEXT,完成

这时你会发现在这个文件会发生变化x:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora

你会发现多了如下的内容:
KEYMEN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = abc)
)
)
然后你就可以连到这台机子上去了(如:conn sys/sysadmin@keymen as sysdba)不过前提是人家的机子服务是启动的哦

二.用net manager就更简单啦

点击orcle net 配置下的 本地
本地下面先择服务命名,然后选择点+号添加服务
这里会先让你输入网络服务名,如上面的keymen,接着是主机名如上机的192.168.0.100
再接着是服务名如同上面的abc
一路下一步就OK了,不过注意,完成后一定要点文件,保存网络配置
这样就OK了

是不是很简单啊,大家可以试试看哦

不用工具手动的话,你只要改动上面那个文件就可以了啦,
<think>首先,用户的问题是:“oracle怎么设置可以让局域网内的其他电脑连接”,翻译成英文是“How to set up Oracle to allow other computers in the LAN to connect”。我需要用中文回答。 关键要求: - 回答完问题后,必须提出3-5个 §§相关问题§§。 - §§相关问题§§ 必须输出在回答的末尾。 - 第一行必须完整且输出 "§§相关问题§§"!禁止换行分散。 - 示例格式显示,在代码示例后,直接输出 "§§相关问题§§",然后列出1. ··· 2. ··· 等。 所以,我的回答结构应该是: 1. 提对问题的回答:解释如何设置Oracle数据库以允许局域网内的其他电脑连接。 2. 在回答结束时,输出 "§§相关问题§§"。 3. 然后,列出3-5个相关问题,每个以数字开头,如 "1. ···"。 确保所有内容符合规则,否则回答无效。 现在,针对问题内容:如何设置Oracle以允许局域网内其他电脑连接。 Oracle数据库设置局域网访问的基本步骤: 1. 确保Oracle监听器配置正确。 2. 配置防火墙允许端口访问(默认1521)。 3. 设置Oracle网络配置,如tnsnames.ora和listener.ora。 4. 确保数据库用户有远程访问权限。 5. 测试连接。 我需要用中文写出清晰的步骤。 然后,提出相关问题:这些问题应该基于用户的问题和我的回答。例如: - 如何配置Oracle监听器? - 如何修改防火墙设置? - 如何测试Oracle远程连接? - 常见连接问题如何解决? - Oracle网络配置文件的路径是什么? 确保有3-5个问题。 最后,输出格式: - 回答部分。 - 然后,直接 "§§相关问题§§"。 - 接着,列表如: 1. 问题1 2. 问题2 3. 问题3 禁止换行分散,意思是不要在 "§§相关问题§§" 后换行或分散输出。 在示例中,是: §§相关问题§§ 1. ··· 2. ··· 3. ··· 所以,我应该同样做。 完整回答: - 先回答问题。 - 然后输出 "§§相关问题§§"。 - 然后列出问题。 现在,起草回答内容。 **回答部分:** 要设置Oracle数据库以允许局域网内的其他电脑连接,请按照以下步骤操作: 1. **配置监听器**: - 编辑`listener.ora`文件(通常位于`$ORACLE_HOME/network/admin`目录)。 - 确保监听器配置正确,监听正确的IP地址和端口(默认1521)。例如: ``` LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) ) ) ``` 设置`HOST`为`0.0.0.0`以监听所有接口。 2. **配置防火墙**: - 在服务器上,打开防火墙允许TCP端口1521(或自定义端口)。 - 在Windows防火墙或Linux iptables/firewalld中添加规则。 3. **配置网络服务名**: - 在客户端电脑上,编辑`tnsnames.ora`文件,添加服务名条目,指向服务器的IP地址和端口。 ``` ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) ) ``` 4. **设置数据库权限**: - 确保数据库用户有权限从远程连接。例如,使用SQL*Plus: ```sql GRANT CREATE SESSION TO username; ``` 5. **重启监听器**: - 重启Oracle监听器使配置生效: ``` lsnrctl stop lsnrctl start ``` 6. **测试连接**: - 从客户端电脑使用SQL*Plus或工具连接: ``` sqlplus username/password@ORCL ``` 确保服务器和客户端在同一局域网,IP地址正确。 **相关问题部分:** 然后,输出: §§相关问题§§ 1. 如何修改Oracle监听器的默认端口? 2. 如果连接失败,常见的排查步骤有哪些? 3. 如何在Windows系统中配置Oracle防火墙规则? 4. Oracle的tnsnames.ora文件应该放在哪里? 5. 如何授予用户远程访问Oracle数据库的权限? 确保有3-5个问题;这里我列出了5个。 最后,整个响应应该用中文。</think>要设置Oracle数据库以允许局域网内的其他电脑连接,请按照以下步骤操作: 1. **配置监听器(Listener)**: - 编辑监听器配置文件 `listener.ora`(默认路径:`$ORACLE_HOME/network/admin/listener.ora`)。 - 确保监听器监听所有IP地址(使用 `0.0.0.0`)和正确端口(默认1521)。示例配置: ``` LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521)) ) ) ``` - 保存文件后,重启监听器:`lsnrctl stop` 然后 `lsnrctl start`。 2. **配置防火墙规则**: - 在Oracle服务器上,开放TCP端口1521(或自定义端口)。 - **Windows**:通过“控制面板”>“Windows Defender 防火墙”>“高级设置”,添加入站规则允许端口1521。 - **Linux**:使用 `firewall-cmd` 或 `iptables` 添加规则,例如: ``` sudo firewall-cmd --permanent --add-port=1521/tcp sudo firewall-cmd --reload ``` 3. **设置网络服务名**: - 在客户端电脑上,编辑 `tnsnames.ora` 文件(路径类似 `$ORACLE_HOME/network/admin/tnsnames.ora`),添加服务名条目指向服务器IP。示例: ``` ORCL_LAN = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP地址)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = 你的数据库服务名) ) ) ``` - 将 `服务器IP地址` 替换为实际局域网IP(如 `192.168.1.100`),`服务名` 替换为数据库实例名(如 `ORCL`)。 4. **授予数据库访问权限**: - 使用SQL*Plus或SQL Developer连接到数据库服务器,执行SQL命令授予用户远程登录权限: ```sql GRANT CREATE SESSION TO 用户名; ``` - 确保用户密码有效,且数据库处于开放状态。 5. **测试连接**: - 从局域网内的客户端电脑,使用工具如SQL*Plus测试连接: ``` sqlplus 用户名/密码@ORCL_LAN ``` - 如果连接失败,检查IP地址、端口、防火墙和服务名是否正确。 **注意事项**: - 确保所有电脑在同一局域网子网(如 `192.168.1.x`)。 - Oracle服务器和客户端需安装相同版本的Oracle客户端软件。 - 使用 `tnsping ORCL_LAN` 在客户端测试网络连通性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值