- Este tópico contém 9 respostas, 2 vozes e foi atualizado pela última vez 5 anos, 9 meses atrás por José Laurindo Chiappa.
-
AutorPosts
-
6 de março de 2019 às 10:28 am #128685espeditoParticipante
Prezados e Prezadas,
peço a gentileza de sugerir algo mais que eu possa fazer para resolver o seguinte problema:
Instalei o Oracle Database 12c Enterprise no Oracle Linux 7.6 em uma máquina virtual do Virtualbox. Criei um banco de dados, durante a instalação, consigo acessá-lo localmente (na própria VM) através do SQLPLUS. Porém, o SQL Developer ou outro client de SQL (exemplo: DBeaver), não consegue acessá-lo a partir de outra máquina, mesmo tendo criado usuário e atribuido-lhe privilégios, pingando (ping) o nome do servidor e configurando a string de conexão.
Já verifiquei o listener, o usuário de conexão, parei o firewall, desabilitei o SELINUX e nada. Já cheguei até a instalar do zero uma outra VM e o database 12c e o resultado foi o mesmo.
Mesmo tendo um pouco de conhecimento (10 anos) com o Linux, com o SQL Server e pesquisando em vários sites, não consegui resolver ainda este problema.
Eis a mensagem de erro no SQL Developer: Status : Com FalhaFalha no teste: ORA-01017: invalid username/password; logon denied
Agradeço por qualquer ajuda.
Esses são os parâmetros de conexão no SQL Developer:
Nome da conexão: teste
Nome do usuário: super
senha: oracle
Tipo de Conexão: Básico
Atribuição: Padrão
Nome do Host: ora12c.teste
Porta: 1521
SID: dbtestEsse é o status do listener:
$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.2.0 – Production on 06-MAR-2019 10:00:51
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora12c.teste)(PORT=1521)))STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 – Production
Start Date 05-MAR-2019 22:18:51
Uptime 0 days 11 hr. 42 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/ora12c/listener/alert/log.xml
Listening Endpoints Summary…(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora12c.teste)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ora12c.teste)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/dbtest/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary…
Service “dbtest.orcl.teste” has 1 instance(s).
Instance “dbtest”, status READY, has 1 handler(s) for this service…
Service “dbtestXDB.orcl.teste” has 1 instance(s).
Instance “dbtest”, status READY, has 1 handler(s) for this service…
Service “pdbtest.orcl.teste” has 1 instance(s).
Instance “dbtest”, status READY, has 1 handler(s) for this service…
The command completed successfullyAbaixo, envio o passo a passo que segui para instalar o Oracle Database 12c:
como usuário super:
/etc/hosts
192.168.0.12 ora12c.teste ora12cgrupos
groupadd oinstall
groupadd dba
groupadd oper
useradd -G dba,oper -g oinstall oracle
passwd oraclediretórios
mkdir -p /u01/app/oracle/product/12.1/db_1
mkdir -p /u01/setup
chown -R oracle:oinstall /u01
chmod -R 775 /u01nano /etc/sysctl.conf
linhas para o oracle database
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500/sbin/sysctl -p
nano /etc/security/limits.conf
#<domain> <type> <item> <value>
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768os pacotes
yum install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat unixODBC unixODBC-devel -ydesabiliar o firewall
nano /etc/selinux/config
SELINUX=disabledvariáreis de ambiente do usuário oracle
su – oracle
nano .bash_profile
obs: abaixo de “export PATH”Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=ora12c.teste
export ORACLE_UNQNAME=dbtest
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1/db_1
export ORACLE_SID=dbtest
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibunzip files e mover pasta database descompactada para /u01/setup
logado como oracle, rodar ./runInstaller
6 de março de 2019 às 4:24 pm #128946José Laurindo ChiappaModeradorBlz ? Explica melhor, vc quer acessar a partir da sua máquina real, onde vc tem instalado o Virtualbox E tem as VMs criadas ??
Se sim, OK, teu Guest /Sistema Operacional vc nos disse que é Oracle Linux 7, legal, mas o *** MAIS IMPORTANTE *** dos pontos importantes vc NÃO NOS DIZ : QUAL é teu sistema operacional HOST, em QUAL máquina física vc instalou o Virtualbox ??? Isso é IMPORTANTÍSSIMO porque a comunicação entre o sistema operacional HOSt/real E as VMs/SOs GUEST é feita normalmente no Virtualbox com uma REDE VIRTUAL PRÓPRIA, a chamada HOST-ONLY NETWORK – se essa rede virtual não estiver ok, é ÓBVIO que NENHUMA comunicação de Rede vai ser possível entre VMs e host, veja um exemplo no meu host Windows (com IPs e endereços FAKEs, óbvio) :C:\Users\jlchi_000>ipconfig
Configuração de IP do Windows
Adaptador Ethernet Ethernet 2:
Sufixo DNS específico de conexão. . . . . . : mídia desconectada
Endereço IPv6 de link local . . . . . . . . : fe80::xxx:yyy:zzz:95f2%10
Endereço IPv4. . . . . . . . . . . . . . . : 192.168.100.10
Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.252
Gateway Padrão. . . . . . . . . . . . . . . :Adaptador de Rede sem Fio Wi-Fi:
Sufixo DNS específico de conexão. . . . . . :
Endereço IPv6 de link local . . . . . . . . : fe80::aaaa::bbbbb:cccc%4
Endereço IPv4. . . . . . . . . . . . . . . : 192.168.100.127
Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.0
Gateway Padrão. . . . . . . . . . . . . . . : 192.168.100.1Adaptador Ethernet VirtualBox Host-Only Network:
Sufixo DNS específico de conexão. . . . . . :
Endereço IPv6 de link local . . . . . . . . : fe80::ddddd:eeee::666%8
Endereço IPv4. . . . . . . . . . . . . . . : 192.168.56.1
Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.0
Gateway Padrão. . . . . . . . . . . . . . . :C:\Users\jlchi_000>
OKDOC ?? E evidentemente, ALÉM do adaptador virtual Host-Only estar de pé, a REDE VIRTUAL HOSTONLY ** tem ** que estar Ativa : no Windows vc vê isso em cebtral de rede e compartilhamento/alterar as configurações do adaptador, no applet vc vê o STATUS das redes, essa rede HOST-ONLY ** tem ** que estar ATiva…. SE teu HOST for Linux, normalmente é OUTRO o procedimento pra vc listar Redes ativas e Adaptadores, veja lá se for isso….
Vc disse que DENTRO DA VM Linux vc desativou Firewall, SELinux, e etc, certo ? Só pra constar, vc SABE que no Linux 7 a configuração do Firewall MUDOU, não é mais feito via IPTABLES, né ? Tá CERTINHO desabilitado tudo, sim sim ?? Isso estando OK, aí é que (NOVAMENTE!!) vem á baila à questão de QUAL é o sistema operacional host, na máquina real : SE FOR WINDOWS, é ABSOLUTAMENTE COMUM que além do Firewall Windows vc tenha TAMBÉM um antivirus E um antimalware, NEM PRECISO DIZER que *** TODOS ELES *** tem que Permissionar o acesso à rede HOST-ONLY do Virtualbox, E TEM que Permissionar os EXECUTÁVEIS e SERVIÇOS do Virtualbox : o meu antivírus é o Kasperksy (que inclusive já DESLIGA o Firewall do Windows e o substitui pelo próprio), veja em https://www.mediafire.com/view/mzpe4cm5exakx9h/permiss_KASPERSKY.bmp/file as minhas PERMISSÔES, okdoc ?? FAÇA O MESMO aí no antivírus, no antimalware, no Firewall e em coisas assim do SEU SISTEMA OPERACIONAL HOST, sim sim sim ???
Isso OK, aí vamos pra config da VM em si : além da rede virtual HOST-ONLY estar de pé, vc TEM que ter um Adaptador de rede na VM em questão conectando nela : nas minhas VMs eu gosto de deixar o Adapter 1 conectando na rede real (via BRIDGE, normalmente) e o adapter 2 aí sim conectando na ost-only : veja https://www.mediafire.com/view/c7i3chnw5bdu3of/VM_Linux7_Adapter1.bmp/file e https://www.mediafire.com/view/69baxp488u1lo6k/VM_Linux7_Adapter2.bmp/file para os printscreens mostrando EXATAMENTE ISSO….
Muito bem, agora sim vamos ver a questão de config NO LINUX DA VM : primeiro, veja que o Adaptador#2 (que é quem está conectado lá na minha rede HOST-ONLY) pegou o IP 192.168.56.101 , então é ESSE que vou ter que usar (os outros adapters não importam no caso) :
[oracle@vbgeneric ~]$ ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.102 netmask 255.255.255.0 broadcast 192.168.100.255
ether 08:00:27:a3:59:da txqueuelen 1000 (Ethernet)
RX packets 178 bytes 16208 (15.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 170 bytes 15773 (15.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.56.101 netmask 255.255.255.0 broadcast 192.168.56.255
ether 08:00:27:b3:24:a5 txqueuelen 1000 (Ethernet)
RX packets 20 bytes 4069 (3.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 47 bytes 8347 (8.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 0 (Local Loopback)
RX packets 483 bytes 110583 (107.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 483 bytes 110583 (107.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:fc:2d:7f txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0==> e Óbvio, além do IP preciso saber a porta E o service name :
[oracle@vbgeneric ~]$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 – Production
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
<h2>STATUS of the LISTENER</h2>
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 – Production
Uptime 0 days 0 hr. 12 min. 34 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service orcl12c
Listener Parameter File /u01/app/oracle/product/12.2/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/vbgeneric/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vbgeneric)(PORT=8081))(Presentation=HTTP)(Session=RAW))
Services Summary…
Service “49bff8a6bb912582e0530100007f8be4” has 1 instance(s).
Instance “orcl12c”, status READY, has 1 handler(s) for this service…
Service “orcl” has 1 instance(s).
Instance “orcl12c”, status READY, has 1 handler(s) for this service…
Service “orcl12c” has 2 instance(s).
Instance “orcl12c”, status UNKNOWN, has 1 handler(s) for this service…
Instance “orcl12c”, status READY, has 1 handler(s) for this service…
Service “orcl12cXDB” has 1 instance(s).
Instance “orcl12c”, status READY, has 1 handler(s) for this service…
The command completed successfully
[oracle@vbgeneric ~]$==> OU SEJA, quero conectar no IP 192.168.56.101 , porta 1521, no SERVICE_NAME orcl12c : configuro o client e conecto :
C:\Users\jlchi_000>echo %ORACLE_HOME%
C:\app\oracle12cR2\product\12.2.0\dbhomeC:\Users\jlchi_000>type %ORACLE_HOME%\network\admin\tnsnames.ora
<h1>tnsnames.ora Network Configuration File: C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin\tnsnames.ora</h1>
<h1>Generated by Oracle configuration tools.</h1>
XE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = XE)
)
)O12CR2VM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl12c)
)
)LISTENER_ORCL12C =
(ADDRESS = (PROTOCOL = TCP)(HOST = Dell15Rse)(PORT = 1522))LISTENER_ORA12CR2 =
(ADDRESS = (PROTOCOL = TCP)(HOST = Dell15Rse)(PORT = 1522))C:\Users\jlchi_000>tnsping o12cr2vm
TNS Ping Utility for 64-bit Windows: Version 12.2.0.1.0 – Production
Arquivos de parâmetros usados:
C:\app\oracle12cR2\product\12.2.0\dbhome\network\admin\sqlnet.oraUsado o adaptador TNSNAMES para resolver o apelido
Tentativa de contatar (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))) (CONNECT_DA
OK (0 ms)C:\Users\jlchi_000>sqlplus system/oracle@o12cr2vm
SQL*Plus: Release 12.2.0.1.0 Production
Conectado a:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit Productioncontainer=CDB$ROOT:SYSTEM@ORCL12C> select host_name from v$instance;
<h2>HOST_NAME</h2>
vbgeneric
container=CDB$ROOT:SYSTEM@ORCL12C>
==> É SIMPLES ASSIM, okdoc ??
[]s
Chiappa
6 de março de 2019 às 4:36 pm #128953José Laurindo ChiappaModeradorAh, como é Importante, vou Repetir de novo : a parte de PERMISSIONAR os serviços do Virtualbox na máquina host e talz PERMANECE DE QUALQUER MANEIRA, mas o resto disso tudo que eu falei de rede host-only é se vc REALMENTE quer conectar via rede na vm diretamente a partir da máquina HOST – nem preciso dizer, se o Objetivo é conectar na vm a partir de uma OUTRA máquina que não é a máquina host onde estão as VMs , não tem NADA A VER a rede host-only : nesse caso aí pra começo de conversa muito certamente vc VAI ter que ter conexão via NAT, vc VAI TER QUE configurar o gateway da SUA rede nas VMs, é completamente Outra Coisa….
[]s
Chiappa
6 de março de 2019 às 5:41 pm #129029espeditoParticipanteOlá jlchiappa!
Agradeço pelas respostas.
Me perdoe por não especificar os hosts.
O Oracle Linux 7.6 (que contém o 12c) está em um VM, cuja placa de rede está em modo bridge com o IP manual 192.168.0.12.
E o acesso que estou tentando fazer pelo SQL Developer é através de minha máquina física. Ou seja, um Linux Mint 19.1 com o IP 192.168.0.106.
Através da minha máquina, consigo acessar o Oracle Linux 7.6 via ssh sem problemas.
Dessa forma, a conectividade via o protocolo TCP/IP entre as duas máquinas é plena. Só não consigo conectar, através do SQL Developer ou qualquer outro cliente SQL, com o banco de dados no 12c.7 de março de 2019 às 9:48 am #129756José Laurindo ChiappaModeradorRepito : num ambiente Virtualbox, as VMs são chamadas de guests, e o sistema operacional que elas rodam é o SO guest , enquanto a máquina FÍSICA/real onde vc INSTALOU o virtualbox é a chamada máquina host, e o SO que roda nela é o SO host …. Só confirmando, no seu caso esse Linux Mint 19.1 È MESMO o o SO host , ie, o SO real na máquina real onde roda o VIRTUALBOX, certo ?
Sendo isso : vc LEU e ENTENDEU a minha resposta, onde eu MOSTRO que a primeira necessidade é que haja uma Rede virtual no teu SO host, a chamada VIRTUALBOX HOST-ONLY NETWORK – de momento não não um host LINUX pra te demonstrar, mas o CONCEITO É O MESMO … Dá um look / pesquisada nos sites mais especializados e/ou de usuários que rodam Virtualbox num host Linux (https://www.tecmint.com/network-between-guest-vm-and-host-virtualbox/ é um exemplo) pra refs mais especializadas, mas (REPITO) o conceito é o mesmo….
A SEGUNDA coisa é o que eu disse : vc TEM QUE TER na VM uma interface de rede conectando na rede host-only, ALÉM da interface para acesso à internet e redes do HOST, que normalmente é essa BRIDGE que vc disse que tem…. Vc VIU na minha resposta os links pras imagens mostrando EXATAMENTE ISSO (no meu caso eu PREFERI ter o adapter 1 da VM como Bridge e o 2 como HOST-only, mas independe) ?? Tem Igual aí na sua VM ??
A TERCEIRA COISA : como eu tinha dito, vc TEM que ter liberado TUDO quanto é firewall, antivirus e etc NÂO SÓ no SO guest (o que vc tinha dito que já tinha feito) MAS TAMBÉM NO SO HOST : vc FEZ ISSO LÁ ??? Vc não diz…. Isso é MUITO COMUM de causar esse tipo de impedimento, https://www.thatjeffsmith.com/archive/2014/03/connecting-to-oracle-from-your-host-to-a-virtualbox-oel-guest/ mesmo é um exemplo onde era ISSO que estava impedindo a conexão, E nessa mesma página há um link para o grupo de usuários VIRTUALBOX, que pode te ser útil, já que lá é mais Provável que vc ache alguém usando um HOST Linux…
INCLUSIVE, quando vc fala que consegue conectar via ssh a partir do SO host na vm mas não consegue conectar via sqlplus ou via SQL DEVELOPER, isso é uma ENORME SUSPEITA, pois o ssh usa uma porta DIFERENTE da porta 1521 default do listener Oracle, NADA IMPEDE que a porta do ssh esteja ABERTA no firewall/antivirus/sei lá o que do SO host mas que a porta 1521 esteja FECHADA/BLOQUEADA…..
APENAS QUANDO TUDO ISSO estiver OK, aí SIM vc, TAL COMO EU FIZ, loga na VM e faz os testes locais lá, ie : via ifconfig mostra os IPs e as redes nas quais cada interface de rede da máquina tá conectada, CONFIRMA CERTINHO a porta E o service_name registrado no LISTENER via lsnrctl status E lsnrctl services…==> COM TUDO ISSO OK, não há motivo pra vc não conseguir Conectar no RDBMS Oracle presente no SO guest a partir do SO host, okdoc ??
[]s
Chiappa
OBS : eu não detalhei/especifiquei as configs necessárias no client Oracle presente na máquina HOST porque Imagino que isso é tranquilo, já é conhecido, certo ??
7 de março de 2019 às 10:08 am #129758espeditoParticipantejlchiappa,
Grato mais uma vez.
Entendi o que você sugeriu.
A VM Guest está rodando o Oracle Linux. E a minha maquina física, como você mencionou, está executando o Linux Mint, na mesma rede (192.168.0.0).
Já parei o SELINUX e o firewall da VM Guest (Oracle Linux). Porém, não consigo conectar com o SQL Developer nem com o DBeaver.
Por favor, me sugira algum artigo ou dica que informe o que deve ser feito após a criação do banco de dados.
Exemplo: criação de usuário, atribuição de privilégios mínimos, alteração de session e etc.
Ou até para alterar o usuário Sys ou o System para que o mesmo possa ser utilizado na conexão externa.Por ser a minha primeira experiência com Oracle, pode ser que eu estou tentando me conectar com um usuário que não tem os privilégios corretos.
O que você acha?
7 de março de 2019 às 3:02 pm #129919José Laurindo ChiappaModeradorSeguem as respostas pra cada ponto :
“A VM Guest está rodando o Oracle Linux. E a minha maquina física, como você mencionou, está executando o Linux Mint, na mesma rede (192.168.0.0).”
==> repito de novo, a terceira vez é a da sorte : ok, tá na mesma rede, mas a rede host-only TÁ ATIVA ??? NAs PROPRIEDADES DA VM, vc TEM um adaptador conectando com a rede host-only ?? Como eu mostrei, no meu caso eu escolhi o adaptador 1 da VM pra ser o bridge e o 2 pra conectar na rede host-only, mas a ordem pode ser qquer uma, DESDE QUE exista uma adaptador pra cada rede….
“Já parei o SELINUX e o firewall da VM Guest (Oracle Linux)”
==> Tá, mas OK : vc destaivou SELinux e firewall na GUEST mas ** DESATIVOU ** na máquina real, a máquina HOST onde vc roda o Mint ???? Como eu DISSE e REPITO, sem isso não vai rolar a conexão, okdoc ???? EM ESPECIAL, como eu disse antes e repito, o fato de vc conseguir conectar via ssh a partir da máquina host até a vm guest mas NÃO CONSEGUIR conectar via client Oracle parece indicar que as PORTAS DE REDE e protocolos do ssh tão liberadas MAS a porta (normalmente 1521) e o protocolo (tcp\ip) que o Oracle usa tão BLOQUEADAS no host… Plz se Assegure que no host não há nenhum bloqueio de rede, preferencialmente ao invés de permissionar já pega e DESATIVA SELINUX e firewall (e antivírus, etc) que vc tenha nesse host mint linux….
UMA VEZ destivado completamente SELinux e firewall EM AMBAS AS MÁQUINAS (na VM E na máquina host), pra vc testar se a porta de rede E o ip la da VM (que vc obtever lá na vm rodando lsnrctl E ifconfig) tão acessíveis, além do ping (que afaik vc já usou) vc TAMBÉM pode testar com telnet, vide https:\www.oracle.com\technetwork\articles\servers-storage-admin\network-tbl-linux-2215585.html …“Porém, não consigo conectar com o SQL Developer nem com o DBeaver.”
==> Bom, além das permissões de rede, sobre esse DBeaver sei lá se ele exige algo a mais na máquina cliente (que no seu caso vai ser a host linux mint) pra conectar, mas o SQL DEVELOPER eu sei que é capaz de conectar sem nenhum software a mais presente : pra isso, tal como a url que te dei antes mostra (ie, https:\www.thatjeffsmith.com\archive\2014\03\connecting-to-oracle-from-your-host-to-a-virtualbox-oel-guest) é simplesmente criar uma conexão com tipo BÁSICO (que vai usar o driver java thin, que dispensa client Oracle) e informar o IP ou nome (IP, acredito, no seu caso) de onde roda o RDBMS, a porta de rede em uso E o nome do serviço… Pra vc OBTER CERTINHO isso vc faz como eu mostrei um lsnrctl status E um lsnrctl services lá na guest, logado com o usuário ORACLE….
INCLUSIVE, olhando teus parâmetros, pra mim vc tá errando , vc disse que especificou no SQL DEVELOPER :‘
Esses são os parâmetros de conexão no SQL Developer:
Nome da conexão: teste
Nome do usuário: super
senha: oracle
Tipo de Conexão: Básico
Atribuição: Padrão
Nome do Host: ora12c.teste
Porta: 1521
SID: dbtest
‘==> Eu questiono :
a. o nome da VM *** MUITO CERTAMENTE *** não está Publicado no seu DNS, e não está no seu /etc/hosts, então NÂO TEM COMO a máquina real decodificar esse nome ora12c.teste : OU vc usa o IP que vc pegou lá na máquina via ifconfig OU vc passa inclui o IP no /etc/hosts da máquina real/host
b. o default de conexão é VIA SERVICE_NAME, e não SID : e inclusive, pra conectar com SID esse SID tem que estar configurado no LISTENER, o que julgando pelo seu output não está – talvez até esteja, ou possa ser facilmente configurado, mas PLZ conecte normal, com o nome do SERVIÇO registrado no listener, que pelo seu output pode ser o dbtest.orcl.teste (se vc quiser conectar no banco CONTAINER)
c. vc informou “super” como o nome de usuário : esse usuário EXISTE, e existe no banco correto (já que pelo teu output vc tem DOIS bancos, um container E um banco PDB) ?? Se sim, ele tem privilégio de conexão, a senha está correta ??
d. mais pra frente, vc tinha questionado se há algum procedimento pós-instalação no tocante a usuários : via de regra nada precisa ser feito e o usuário SYS e o usuário SYSTEM já vão ser criados certinho e permissionados… Pra testar se isso tá ok, logado na vm como o usuário oracle, lá no prompt de comandos tenta conectar via sqlplus com usuário SYSTEM (com sqlplus system/senhaquevcinformounainstalação) e com SYS, via sqlplus sys/senhadosys as ssydba
SE consguir conectar localmente OK, o usuário tá correto com a senha correta e os privs certos, mas se não conseguir conectar há algum erro aí na sua config : manda o resultado de um :
cat $ORACLE_HOME/network/admin/sqlnet.ora
de um :
cat $ORACLE_HOME/network/admin/listener.ora
e de um :cat $ORACLE_HOME/network/admin/tnsnames.ora
que a gente pode palpitar….
[]s
Chiappa
8 de março de 2019 às 9:40 am #130483José Laurindo ChiappaModeradorE aí : pelo passo a passo, vc PRIMEIRO verificou que TANTO na máquina real host quanto na máquina guest REALMENTE não tem SElinux, firewall, antivírus/antimalware, nada que impeça comunicaçao de rede, OLHOU nas Configurações da VM e confirmou que há um adaptador de rede conectando na rede virtualbox host-only (além dos demais adaptadores em bridge ou em nat, que seja ) ? SE fez isso com sucesso, conseguiu fazer os testes de conexão de rede (ie, não só o singelo PING mas também o acesso via TELNET à porta do listener partindo da máquina host, E usando não o nome da VM mas sim o ip interno dela que vc encontrou via ifconfig lá dentro dela) ??
Se sim, aí é partir pra verif do banco lá na VM, sempre pelo prompt de comando : tendo setado ORACLE_HOME, PATH e ORACLE_SID, tenta conectar SEM informar o @hoststring E informando ele, pra iniício…. qquer dúvida/problema nessa verifi de banco, MOSTRA pra gente o TNSNAMES.ORA e o SQLNET.ORA que podemos palpitar em cima….[]s
Chiappa
14 de março de 2019 às 5:49 pm #133625espeditoParticipanteChiappa,
Perdão pela demora em responder. Estou ainda “engatinhando”.
Mais uma vez eu agradeço pelas dicas e sugestões suas. Realmente estão sendo importantes.
Verifiquei tudo que você indicou e o impedimento estava no firewall do Oracle Linux que estava habilitado.
No momento, estou conseguindo conectar, externamente, com o usuário System. Por isso, não se faz necessário eu postar aqui o conteúdo dos arquivos de configuração (listener e etc.) mencionados por você.
Muito agradecido.
15 de março de 2019 às 1:42 pm #134117José Laurindo ChiappaModeradorBlz ? Fiquei contente de poder ter ajudado, e quanto ao procedimento, sim : necessariamente tinha que ser uma das coisas indicadas, ie : ou selinux/firewall na máquina virtual e/ou na máquina host, acesso por hostname não publicado no DNS ou no hosts da máquina host, máquina virtual sem rede host-only ativa em algum dos adaptadores da VM, não há escapatória disso aí….
Mais do que ter contornado/resolvido seu problema, penso que a resposta serviu TAMBÉM pra vc ficar ciente dessas coisas …[]s
Chiappa
-
AutorPosts
- Você deve fazer login para responder a este tópico.