Para configurar o Banco de Dados Oracle, siga as etapas abaixo:
Nota:
Essas etapas são necessárias somente se um Oracle Wallet ainda não foi criado. As etapas a seguir não são necessárias se a ferramenta Oracle Wallet GUI for usada no servidor de banco de dados.C:\> cd %ORACLE_HOME% C:\oracledb\12.1.0\home> mkdir wallet C:\oracledb\12.1.0\home> orapki wallet create -wallet wallet -pwd password1 -auto_loginVocê pode ignorar todas as mensagens que solicitem que você use
-auto_login_local
na linha de comando orapki
. Se você se deparar com um erro de falha de autenticação SSL, consulte ID do Doc. 2238096.1 para solucionar o problema.
Verifique também a permissão de segurança do arquivo cwallet.sso
(no diretório do wallet) e certifique-se de que o usuário de serviço do listener Oracle possui permissão de leitura para esse arquivo. Sem a permissão de leitura, o handshake SSL falhará mais tarde. Essa situação ocorrerá se o banco de dados Oracle tiver sido instalado com o usuário Oracle sugerido o qual não possui permissão para efetuar logon. Se o banco de dados Oracle tiver sido instalado com o usuário Oracle, o Listener TNS deverá ser executado como um usuário diferente.
C:\oracledb\12.1.0\home> orapki wallet add -wallet wallet -pwd password1 -dn "CN={FQDN of db server}" - keysize 1024 -self_signed -validity 3650
A senha password1
do exemplo acima deve corresponder à senha especificada na Etapa 1.
C:\oracledb\12.1.0\home> orapki wallet export -wallet wallet -pwd password1 -dn "CN={FQDN of db server}" -cert %COMPUTERNAME%-certificate.crt
1522
. A porta típica usada por conexões SSL é 2484
e você pode usar qualquer porta disponível. Você precisa verificar se a porta que você quer usar está disponível no servidor de banco de dados antes de continuar e ajustar conforme necessário.SQLNET.ORA
. O elemento DIRECTORY da declaração WALLET_LOCATION deve apontar para o wallet criado na Etapa 1 acima.
SQLNET.AUTHENTICATION_SERVICES= (TCPS, NTS, BEQ) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) WALLET_LOCATION= (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\oracledb\12.1.0\home\wallet) ) ) SSL_CLIENT_AUTHENTICATION = FALSE
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\oracledb\12.1.0\home) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\oracledb\12.1.0\home\bin\oraclr12.dll") ) ) SSL_CLIENT_AUTHENTICATION = FALSE WALLET_LOCATION= (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\oracledb\12.1.0\home\wallet) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myServer)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = myServer)(PORT = 1522)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = C:\oracledb
TNSNAMES.ORA
para a nova porta.
ORCL_SSL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = myServer)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = myServer_service) ) )
Você precisa especificar a mesma porta que foi identificada na Etapa 5a acima e usada na Etapa 5c.
C:\oracledb\12.1.0\home>lsnrctl stop C:\oracledb\12.1.0\home>lsnrctl start
C:\oracledb\12.1.0\home>tnsping orcl_ssl TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 10-SEP-2019 15:43:22 Copyright (c) 1997, 2014, Oracle. All rights reserved. Used parameter files: C:\oracledb\12.1.0\home\network\admin\sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = myServer) (PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = myServer_service))) OK (130 msec)