本地连接远程Oracle(oracle虚拟机)一般步骤以及碰到的问题

一般步骤:
1. 需要安装Oracle client的客户端
http://blog.csdn.net/lanchengxiaoxiao/article/details/39251947
(上述博文中包含了配置tnsnames.ora的操作)


2. 配置本机Oracle client的环境变量


变量名 ORACLE_HOME
变量值E:\Oracle\product\11.2.0\client_1


变量名 TNS_ADMIN
变量值 E:\Oracle\product\11.2.0\client_1\network\admin


变量名 NLS_LANG
变量值 SIMPLIFIED CHINESE_CHINA.ZHS16GBK


碰到的问题:
用Net Configuration Assistant测试连接,报错为TNS-12541: TNS: 无监听程序:
有可能是tnsnames.ora没有配置正确,
本地实例名 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 远程数据库IP地址)(PORT = 远程服务器端口号))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = 远程数据库服务名)
    )
  )
其中中文部分是需要修改的部分,除第一个“本地实例名”外,其他需要跟远程数据库管理员咨询,本地实例名就是方便自己识别数据库的一个名字,可以自定义。


我的设置:
ROAD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.110)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = road)
    )
  )
设置之后发现还是没用,就在linux服务器端(虚拟机图形模式)输入命令netmgr来查看配置服务器的listener locations和database service。发现配置中的的ip和HOST不一致。改完配置之后在本地cmd中输入 tnsping road,仍然报错为TNS-12541: TNS:no listener。之后发现是oracle虚拟机中监听程序没有启动,使用的命令为
lsnrctl start --启动

lsnrctl stop  --停止

lsnrctl status --查看状态 

(注:必须在oracle用户下执行)

启动成功之后显示"The command completed successfully"。用tnsping road测试也显示ping通了。之后Net Configuration Assistant测试连接,发现错误变成了ORA-27101 Shared memory realm does not exist,查阅之后发现是没有开启oracle服务,解决办法是直接开启oracle相关数据库服务或按照下面的步骤操作:

lsnrctl start
sqlplus '/as sysdba'
sql> startup
emctl start dbconsole
isqlplusctl start
http://blog.chinaunix.net/uid-21795529-id-1815088.html

按照上述博文做到sql> startup这步就发现测试连接成功了,后两步没做。


监听命令详解:
http://blog.csdn.net/haiross/article/details/13629959  

PL SQL设置:
个人下的是绿色版,tools-preferences配置为:
注意:登陆PL SQL前需要在远程服务器(虚拟机)上创建登陆的用户和表空间,然后用新建的用户登陆。
http://www.cnblogs.com/furenjian/articles/2889787.html






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值