У меня есть машина Suse11.2 со следующими службами: база данных Oracle XE Jboss + Tomcat6.0
Мне нужно было изменить httpport dbms_xdb по умолчанию Oracle на 9080, чтобы я мог использовать порт tomcat @ 8080. Поскольку я разрабатываю это приложение, я провел много тестов с использованием localhost: 8080 и доступа к БД через localhost: 1521 и работал нормально. Но когда мне нужно получить доступ к этому ip, он не отвечает: например, 192.168.1.4:8080 и: 1521 он показывает мне в браузере и когда я пытался подключить оракул, он не может подключиться к серверу .... Но я не могу понять, ПОЧЕМУ он подключается к порту 9080 (Oracle dbms http)
Что я сделал:
ответ: «Выключение брандмауэра ... готово»
================================================== ====== begin Chain INPUT (policy ACCEPT) target prot opt source destination
Цепочка FORWARD (policy ACCEPT) target prot opt source destination
Цепочка ВЫХОДА (политика ПРИНЯТЬ) target prot opt source destination ======================================= ================= конец
но он продолжает блокировать другие порты, кроме 9080 и icmp ... кто-нибудь имеет представление о том, что происходит?
Заранее спасибо, Андре.
netstat -lnt | grep 8080
tcp 0 0 127.0.0.1:8080 0.0.0.0:* СЛУШАТЬ
netstat -lnt | grep 1521
tcp 0 0 127.0.0.1:1521 0.0.0.0:* СЛУШАТЬ
netstat -lnt | grep 9080
tcp 0 0 0.0.0.0:9080 0.0.0.0:* СЛУШАТЬ
Что ж, возможно, я не понял: но oracle (1521) и (jboss + tomcat) 8080 работают, но работают только через localhost.
Это ваш ответ: порты 1521 и 9080 прослушивают только IP-адрес 127.0.0.1 (localhost). Брандмауэр не задействован.
Вам необходимо изменить конфигурацию этих служб, чтобы прослушивать все IP-адреса сервера. Я не знаю, как это сделать для Oracle.
Убедитесь, что ядро базы данных запущено:
Это скажет вам, запущен ли слушатель:
$ netstat -tnl | grep 1521
Если вы не видите здесь результатов, запустите прослушиватель (убедитесь, что у вас правильно настроена среда):
$ lsnrctl start
$ lsnrctl status
Это скажет вам, запущен ли монитор процесса:
$ pgrep -fl pmon
Если pmon запущен, для регистрации движка db потребуется некоторое время. Если эта команда не дала результатов, запустите ее (снова проверьте свою среду):
$ sqlplus /nolog
sqlplus> conn / as sysdba
sqlplus> startup
Если база данных работает и у вас есть другие проблемы (SQLNet), вы всегда можете использовать internal. Как пользователь, который запускает процесс, как правило, oracle, вы можете выполнять практически те же строки:
$ sqlplus /nolog
sqlplus> conn / as sysdba
sqlplus> # your statements / alter system / alter database
Если все в порядке, подключитесь к своему IP-адресу через порт 1521 через Telnet:
$ telnet <ip> 1521
Также убедитесь, что iptables позволяет подключаться:
# iptables -nL
Если вы видите какие-либо подозрительные правила, удалите все (у вас больше не будет правил брандмауэра):
# iptables -F
Вы пытались убедиться, что эти порты действительно прослушивают?
netstat -lnt | grep 1521
netstat -lnt | grep 8080