1.在虚拟机上安装Oracle数据库时,客户端连接提示:ORA-12541:TNS:无监听程序,该怎么解决呢?
经常有网友朋友问这个问题。 在window的系统下,已经把1521的端口开放出去了,但是从另外一台机器连接服务器的时候 ,还是连不上。
只有把整个防火墙都关闭,才能使其他机器上连接到oracle的服务器。究竟是什么原因了?
这个原因,还是归结为window系统的一个问题,对于oracle来说,对客户端的连接请求都是通过listener来进行监听和处理的。listener的端口默认是1521.所以有很多的网友在此通常都知道要开放这个端口,不过listener在监听到客户的连接以后,会建立一个临时的端口并把端口号报之给客户端,接下来就由这个端口来和服务器端交互了。这个端口是由listener分配的,所以没有办法确定,也就被防火墙拦住了。 在window下,由于linux下已经使用了共享socket解决临时sock的问题,所以linux开放了1521就可以了,window没有,所以有这样的问题。
不过还好,window的socket2 提供了share socket的技术,我们只需要通过很简单的步骤,就是让window系统下的oracle使用上share socket,从而解决我们的问题。
设置方法如下。我的机器是10.2.0.4
1. 打开注册表
2. 找到[HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb10g_home1]这个目录
在其下加入一个字符串值
键:USE_SHARED_SOCKET
值: TRUE
3. 重启监听服务
现在再用客户端试试,应该就可以连上了。
2.虚拟机安装Oracle错误ORA-12514的解决方案
在虚拟机上安装Oracle数据库时,提示:ORA-12514错误,该怎么解决呢?本文我们就介绍了这一错误的解决方案,现在就让我们来一起了解一下这一过程。
解决方案:
[oracle@oracle_taowei_redhat~]$ lsnrctl status 查看监听器是否启动。
如果没有启动监听,则运行命令:lsnrctl start启动监听(lsnrctl stop关闭监听)。
启动监听后可以用sqlplus登录数据库,查看数据库信息:如sqlplus emcd/emcd@192.168.1.120:1521/orcl。这种方式存在安全隐患,密码以明文出现,容易被别人窃取;所以建议:sqlplus emcd@oracle_taowei 回车,按提示输入密码,这样就保证了密码不被别人看见。
以数据库管理员登录:sqlplus sys/oracle as sysdba 登录后可以执行关闭或启动数据库命令:
SQL> shutdown immediate (关闭数据库)
SQL> startup (启动数据库)
当数据库处于关闭状态时,要启动数据库:首先启动监听器 lsnrctl start;然后sqlplus sys/oracle as sysdba,回车后会显示Connected to an idle instance,并出现提示符SQL>,此时输入命令startup启动数据库,输入 shutdown immediate,则可关闭数据库。
转载: