Cheatsheet de Oracle TNS
Madurezreviewed
Última revisión
Publicado
Última actualización
Revisa el workflow y automatización.
| Pregunta | Comando | Señal |
|---|---|---|
| listener | nmap -sV -p 1521 --script oracle-tns-version TARGET_IP |
versión TNS |
| resolución | tnsping '//FQDN:1521/SERVICE_NAME' |
descriptor y tiempo |
| sesión | sqlplus 'USERNAME@//FQDN:1521/SERVICE_NAME' |
prompt SQL |
| ODAT | odat all -s TARGET_IP -p 1521 |
mapa preliminar que requiere confirmación |
Sesión acotada y output CSV
Sección titulada «Sesión acotada y output CSV»Define SQLNET.OUTBOUND_CONNECT_TIMEOUT=5 en un sqlnet.ora dedicado y apunta TNS_ADMIN a su directorio. Así se limita la conexión Oracle Net sin cambiar la configuración global. -L evita un bucle de reprompt y -S reduce el ruido:
TNS_ADMIN=TNS_CONFIG_DIR \ sqlplus -L -S 'USERNAME@//FQDN:1521/SERVICE_NAME' @collect-context.sqlEl archivo SQL debe activar WHENEVER SQLERROR EXIT SQL.SQLCODE, SET MARKUP CSV ON y SPOOL, tal como explica la automatización de Oracle. La contraseña se solicita fuera de la línea de comandos. Un timeout de Oracle Net no distingue ruta, listener y servicio.
SELECT * FROM v$version;SELECT SYS_CONTEXT('USERENV','SESSION_USER') FROM dual;SELECT SYS_CONTEXT('USERENV','SERVICE_NAME') FROM dual;SELECT SYS_CONTEXT('USERENV','CON_NAME') FROM dual;SELECT * FROM session_roles;SELECT * FROM session_privs;SELECT directory_name, directory_path FROM all_directories;Las vistas disponibles dependen de privilegios. Un error no demuestra ausencia del objeto subyacente.