搭建的oracle监听又不行了

才发现netca里listener的hostname是bogon, ping bogon发现不是127.0.0.1,于是把bogon指定ip为127.0.0.1

  1).修改/etc/sysconfig/network里面的主机名字。
          [root@bogon ~]#  vi /etc/sysconfig/network

               NETWORKING=yes
             HOSTNAME=bogon                // 在这修改 hostname 为 bogon
     2).修改/etc/hosts里面的名字
          [root@bogon ~]#  vi /etc/hosts
             127.0.0.1               bogon
     3).不需要重启主机,最后在终端下执行:
        [root@bogon ~]# hostname  bogon      // bogon 为修改的hostname

    然后重启服务器,启动数据库,启动监听,不行,然后,再重启数据库,发现可以了,神奇的oracle。

附一个oracle监听原理图

客户端根据tnsname.ora找服务端的监听listener.ora,

附配置文件,服务器端

奇怪host有变成localhost了。

linux下安装oracle

参考了https://www.cnblogs.com/mmzs/p/9033112.html

我的虚拟机是centos,里面安装了oracle, 宿主本机电脑,通过hyper-v的内部网络(nat)连接虚拟机。

虚拟机配置:

tnsnames.ora

ORCL11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.3)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl11g.us.oracle.com)
)
)

listener.ora

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)

ADR_BASE_LISTENER = /data/oracle

服务端运行lsnrctl status,查看监听是否配置正确,可以反复使用lsnrctl stop,lsnrctl top来启动停止监听服务。知道出现


标识监听成功,如果不能够,可以用netca命令,重新配置监听。

tnsping tnsnames.ora中的服务名称,看网络是否正常

例如tnsping ORCL11G

标识网络没有问题。

客户端:本机电脑如何连接呢?

运行net manager,按照服务端的 tnsnames.ora ,来创建服务命名


记得把scott/tiger测试用户解锁,有利于测试是否连通。

客户端的tnsnames.ora

客户端连接截图

也可以通过这种方式来连接

linux下设置tomcat自启动

vi /etc/init.d/tomcat


#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcat
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JRE_HOME=/home/jdk/jdk/jre
export CATALINA_HOME=/home/tomcat/tomcat
export CATALINA_BASE=/home/tomcat/tomcat
start()
{
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat"
                $CATALINA_HOME/bin/startup.sh
            RETVAL=$?
            echo " OK"
            return $RETVAL
        fi
}
stop()
{
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat"
                $CATALINA_HOME/bin/shutdown.sh
            RETVAL=$?
            sleep 1
            ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
            echo " OK"
            # [ $RETVAL -eq 0 ] && rm -f /var/lock/...
            return $RETVAL
        fi
}

case "$1" in
 start)
        start
        ;;
 stop)
        stop
        ;;

 restart)
         echo $"Restaring Tomcat"
         $0 stop
         sleep 1
         $0 start
         ;;
 *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit $RETVAL

然后sudo chmod +x /etc/init.d/tomcat

chkconfig –add tomcat

chkconfig tomcat on

serice tomcat start

resttemplate.exchange远程调用

String url = "http://"+ dataPickerIpAndPort+"/myHouse/getMyHouse?userName="+userName+"&idCard="+idCard+"&buyer="+buyer+"&contractNum="+contractNum; 
try {
System.out.println("findCompanies's url:"+url);
body = restTemplate.exchange(
url
, HttpMethod.POST
, null
, new ParameterizedTypeReference<AnswerDTONew<MyHouseDTO>>() {
}).getBody();
if(body==null){
return new AnswerDTONew(true,"not found",new MyHouseDTO(), CommonState.ERROR);
}
}catch (Exception e){
return new AnswerDTONew(true,e.getMessage(),"", CommonState.ERROR);
}
@RequestMapping(value = "/myHouse/getMyHouse")
AnswerDTONew<MyHouseDTO> getMyHouse(@RequestParam(name = "idCard") String idCard,
@RequestParam(name = "buyer") String buyer,
@RequestParam(name = "contractNum") String contractNum);