Explicación detallada del monitoreo de Oracle

Este artículo es un extracto de "Explicación práctica detallada de la tecnología de base de datos ORACLE" y "Camino al éxito: Notas de estudio de ORACLE 11g"

Configurar el entorno de red

Este artículo presentará problemas de red relacionados con Oracle, que se basa en el sistema operativo. La configuración de la red del sistema operativo es el primer paso para configurar la red de Oracle. Antes de configurar la red de Oracle, debemos asegurarnos de que la configuración de red del sistema operativo sea correcta.

En la base de datos Oracle, el entorno de red pertenece a la configuración de la infraestructura.Si el entorno de red no está establecido, los usuarios del lado del cliente no pueden utilizar toda la base de datos.

La red de Oracle involucra dos aspectos, uno es el servidor de la base de datos de Oracle, el otro es el cliente de Oracle. La hoja de ruta para la configuración de red de Oracle se muestra a continuación.
inserte la descripción de la imagen aquí
Debemos configurar la red de Oracle de acuerdo con los pasos anteriores, solo después de que el servidor (escucha) esté configurado correctamente podemos configurar el cliente.

Para configurar mejor la red de Oracle, Oracle Corporation proporciona las siguientes herramientas para configurar y diagnosticar la red de Oracle. [

  • El Asistente de configuración de red (Asistente de configuración de OracleNet) es una herramienta gráfica de administración de red que se puede utilizar para completar la configuración de la red de Oracle, incluida la configuración del agente de escucha, la configuración del método de asignación de nombres y la configuración del servicio de red. nombre.
  • Network Manager (Oracle Net Manager) también es una herramienta de gestión de red gráfica para configurar redes Oracle.
  • La Utilidad de control de escucha (Utilidad de control de escucha) es una herramienta de línea de comandos que se utiliza para administrar la escucha, incluido el inicio y la detención de la escucha, y la visualización del estado de la escucha.
  • El control del administrador de conexión (Oracle Connection Manager Control Utility) se utiliza para administrar el administrador de conexión.

1 El usuario establece una conexión con el servidor de la base de datos de Oracle

Cualquier usuario que desee utilizar la base de datos de Oracle primero debe establecer una conexión con la base de datos. Para ello, Oracle utiliza el concepto de Net Service, de modo que puede establecer una conexión con el servidor de base de datos desde el cliente o el servidor de aplicaciones en la capa intermedia, y puede transferir datos entre el cliente y el servidor de base de datos.

En el lado del cliente, el servicio web se ejecuta como un proceso en segundo plano. En el lado del servidor de la base de datos, los servicios de red se implementan a través de un proceso llamado escucha. También podemos configurar servicios de red para permitir que las bases de datos de Oracle se comuniquen con bases de datos heterogéneas (como DB2 de IBM o SQL Server de Microsoft, etc.).

En Oracle, el método de conexión más común es un método de conexión dedicado. De esta forma, existe una correspondencia uno a uno entre los procesos del servidor y los procesos del usuario. Una vez que se interrumpe un proceso de usuario, también se termina su proceso de servidor correspondiente.

Veamos primero qué es un oyente

En el servidor de base de datos de Oracle, una solicitud de conexión de un cliente se recibe a través de un componente llamado "escucha". Es un componente intermedio entre el cliente y el servidor. El listener (LISTENER) es un proceso en segundo plano que se encuentra en el lado del servidor y se ejecuta de forma independiente. Se ejecuta en el lado del server, pero se ejecuta independientemente del servidor de la base de datos. Es decir, cuando la base de datos no se inicia, el listener también puede funcionar de forma independiente. Es responsable de monitorear las solicitudes de conexión entrantes de los clientes y ajustar la carga de conexión en el lado del servidor. Cuando el cliente intenta establecer una conexión con el servidor, el oyente recibe la solicitud del cliente y se la entrega al servidor para que la procese. Una vez que el cliente y el servidor establecen una conexión, el cliente y el servidor se comunican directamente en lugar de la participación de entonces se requiere el oyente (es decir, el oyente estará inactivo).

La siguiente figura muestra el proceso de establecer una conexión desde el cliente al servidor de la base de datos y el papel del oyente en todo el proceso. En este proceso, usamos los métodos de nombres locales más comunes.
inserte la descripción de la imagen aquí
De la figura, podemos ver que el proceso de establecer una conexión se puede dividir aproximadamente en las siguientes cinco etapas.
1) El cliente inicia una conexión : al proporcionar información como el nombre de usuario de la conexión, la contraseña del usuario y la cadena de conexión en el cliente , se establece una conexión con el oyente. La cadena de conexión se encuentra en el archivo del cliente, cuyo valor predeterminado es $ORACLE_HOME/network/admin/tnsnames.ora . La cadena de conexión registra información como en qué servidor está el agente de escucha, qué protocolo usa, en qué puerto está escuchando y para qué se solicita el nombre del servicio de la base de datos.

2) Una vez que el cliente establece una conexión con el oyente, se genera un proceso de usuario en el cliente . Al mismo tiempo, el oyente juzgará si el nombre del servicio de la base de datos solicitado por el cliente es el nombre del servicio actualmente administrado por el oyente. Si la cadena de conexión enviada por el cliente no contiene un nombre de servicio, el oyente generará un mensaje de error que indica que no hay nombre de servicio; si el nombre de servicio solicitado no es administrado por el oyente actual, se informará un error y la conexión se terminará; si el nombre del servicio solicitado es administrado por el agente de escucha actual, el agente de escucha creará un proceso de servidor en el servidor de la base de datos donde se encuentra el nombre del servicio .

3) Después de que el oyente cree el proceso del servidor, establecerá una conexión entre el proceso del usuario y el proceso del servidor . Posteriormente, el oyente sale de la conexión con el cliente.

4) El proceso del servidor juzga si coincide en el diccionario de datos según el nombre de usuario y la contraseña proporcionados por el proceso de usuario .

5) Si el nombre de usuario y la contraseña no coinciden, se informará un error; si coinciden, se asignará PGA y se generará una sesión .

Nota: La función de escucha solo es responsable de establecer la conexión entre el cliente y el servidor, no es responsable de la comunicación directa entre el cliente y el servidor.

Por ejemplo, después de que el cliente usa SQL*Plus para iniciar sesión en el servidor de la base de datos, emitimos un comando, que se envía directamente al servidor de la base de datos (no a través del oyente). Después de que el servidor de la base de datos termina de procesar el comando, envía directamente el resultado de la ejecución del comando Devuelto al cliente (también a través del oyente).

2 Configurar el oyente

Hay dos formas de configurar el oyente:
1) A través de la herramienta de interfaz gráfica Net Manager
2) Utilice directamente un editor de texto para editar el archivo de configuración del oyente listener.ora
De hecho, Net Manager finalmente cambia el contenido del archivo de configuración del oyente listener. ora. Los dos métodos anteriores tienen similitudes.

Cuando se inicia el agente de escucha, debe consultar el archivo de configuración del agente de escucha: $ORACLE_HOME/network/admin/listener.ora , este archivo es el "archivo de configuración del agente de escucha". Este archivo es un archivo de texto, que se puede editar o configurar manualmente mediante una interfaz gráfica.
Se puede iniciar una herramienta GUI llamada Asistente de configuración de red con el siguiente comando:

 $ netca

El contenido de un archivo típico listener.ora se muestra en la siguiente figura, que contiene la descripción de cada campo:
inserte la descripción de la imagen aquí

  • LISTENER: El nombre del oyente, también se pueden usar otros nombres.
  • ORACLE_HOME: directorio de inicio de Oracle.
  • SID_NAME: el nombre de la instancia de la base de datos que escucha el agente de escucha. La instancia en este ejemplo es extproc.
  • PROTOCOLO: El protocolo que escucha el oyente. En este ejemplo, se utiliza TCP/IP.
  • HOST especifica el nombre de host o la dirección IP del servidor de la base de datos. El nombre de host del servidor de la base de datos en este ejemplo es book.us.oracle.com.
  • PORT especifica el número de puerto utilizado por el agente de escucha y el número de puerto predeterminado es 1521.

Después de entender al oyente. ora, podemos agregar manualmente un nuevo oyente. En otras palabras, pueden existir múltiples oyentes en el mismo servidor . Solo tenga en cuenta que cada oyente debe estar escuchando en un puerto diferente . Y estos oyentes se configuran a través del mismo archivo listener.ora .

A continuación, agregamos un oyente llamado my_listener:

    my_listener =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = book.us.Oracle.com)(PORT = 1525))
        )
      )

Siempre que agreguemos este contenido al oyente. ora para crear un nuevo oyente llamado my_listener.

前面我们讲到过,监听器在接收到客户端发来的连接请求时,会判断客户端所请求的服务名是否为该监听器所管理的服务名。那么在listener.ora文件里,我们并没有看到有关服务名的任何配置,这又是为什么呢?

Aquí, primero comprendamos cuál es el nombre del servicio. Se puede pensar en un servicio como una agrupación lógica de tareas similares. Por ejemplo, el sistema comercial de una empresa de ventas típica se puede dividir aproximadamente en cuatro departamentos comerciales principales: ventas, adquisiciones, finanzas y personal. Desde la perspectiva de la base de datos, se puede dividir en cuatro nombres de servicio correspondientes: sales (ventas), pur (compra), fin (finanzas) y hr (personal). Las personas que manejan negocios relacionados con las ventas están todas conectadas al servicio de ventas para operaciones, y las personas que manejan compras están todas conectadas al servicio de pur para operaciones, y así sucesivamente. De esta manera, agrupamos la actividad de la base de datos para un mejor seguimiento y ajuste.

Entonces, ¿cómo se refleja el servicio en el oyente? Oracle logra esto registrando el servicio en el listener Hay dos formas de registrar el servicio.

2.1 Registro dinámico

El llamado registro dinámico consiste en registrar el nombre del servicio en la instancia actual en el oyente predeterminado en el mismo servidor y escuchar en el puerto 1521 a través del proceso PMON en la instancia de la base de datos (es decir, el oyente llamado LISTENER) dentro .

El nombre del servicio en la instancia actual está determinado por el parámetro de inicialización: service_names. Este parámetro por defecto es el nombre de la base de datos:

    SQL> show parameter service_names
    NAME                       TYPE           VALUE
    ---------------------  -----------    ---------------
    service_names              string         ora10g

Este parámetro se puede modificar dinámicamente, y se pueden especificar múltiples valores, es decir, múltiples nombres de servicios, cada nombre de servicio está separado por una coma, como se muestra a continuación:

    SQL> alter system set service_names='ora10g,sales,pur,fin,hr';

De esta forma, solo tenemos que esperar un momento y el proceso PMON registrará estos nombres de servicio en el oyente predeterminado.

En lugar de esperar a que el proceso PMON registre automáticamente los nombres de los servicios, podemos ejecutar el siguiente comando para registrar estos nombres de servicios de inmediato:

    SQL> alter system register;

Si es necesario registrar dinámicamente el nombre del servicio en un oyente no predeterminado, por ejemplo, si queremos registrarnos en el oyente recién creado llamado my_listener, ¿es factible?

La respuesta es sí, pero la configuración es un poco más complicada. También necesitamos establecer otro parámetro de inicialización de la instancia de la base de datos: local_listener. Este parámetro describe la información del oyente que se registrará dinámicamente, de la siguiente manera:

    SQL> alter system set local_listener='(ADDRESS_LIST =(ADDRESS = (PROTOCOL=TCP)(HOST=book.us.Oracle.com)(PORT=1525)))';

Tenga en cuenta que el método de escritura del valor del parámetro local_listener aquí es en realidad para copiar intacta la parte de la descripción de la información de configuración de my_listener.

2.2 Registro estático

El registro estático es relativo al registro dinámico. Es decir, la información sobre el nombre del servicio de la base de datos se escribe manualmente en el oyente. ora archivo. El nombre del servicio registrado estáticamente se especifica mediante la parte SID_LIST_<nombre del oyente> Por ejemplo, registramos estáticamente un nombre de servicio para el oyente predeterminado, como se muestra en la Figura 1 a continuación.
inserte la descripción de la imagen aquí
Agregamos una parte sid_desc (parte sombreada en la figura anterior) a la parte sid_list_listener para registrar estáticamente un nuevo nombre de servicio para el oyente predeterminado. Entre ellos, global_dbname representa el nombre del servicio anunciado al público, es decir, el nombre que utiliza el usuario para conectarse a la base de datos. El nombre del servicio puede ser cualquier nombre; ORACLE_HOME indica el directorio de inicio del software Oracle; y SID_NAME indica el nombre de la instancia de la base de datos correspondiente al nombre del servicio. Es decir, cuando un usuario se conecta al nombre de servicio denominado static_srv, en realidad se conecta a la instancia de la base de datos denominada ora10g. Podemos agregar múltiples secciones sid_desc para definir múltiples nombres de servicio para la base de datos.

3 Administrar oyentes

Oyente creado y configurado. Después del archivo ora, podemos administrar el oyente. Oracle proporciona la herramienta de línea de comandos lsnrctl para administrar el agente de escucha.

3.1 Inicio del oyente

Hay dos maneras de iniciar el oyente.

1) Inicie el oyente directamente en la línea de comando

Inicio de sesión en el sistema operativo (SO)

# su – oracle

Iniciar el oyente

$ lsnrctl start

Si se ejecuta el comando de inicio lsnrctl (sin especificar el nombre del oyente), el comando iniciará el oyente predeterminado. El nombre de escucha predeterminado es LISTENER.

Desde el proceso de inicio, también podemos ver la información de configuración sobre el oyente, que incluye el host (HOST) donde se encuentra el oyente, el puerto (Puerto) que monitorea el oyente y los protocolos admitidos.

2) Abra el control de administración del oyente y luego inicie el oyente

Inicio de sesión en el sistema operativo (SO)

# su – oracle

Control de escucha de inicio de sesión

    [oracle@book ~]$ lsnrctl
    LSNRCTL>

Después de ingresar a la interfaz interactiva lsnrctl, podemos ingresar el comando de ayuda para mostrar todos los comandos compatibles con la herramienta lsnrctl:

    LSNRCTL> help
    The following operations are available
    An asterisk () denotes a modifier or extended command:
    start             stop              status
    services          version           reload
    save_config       trace             spawn
    change_password   quit              exit
    set*               show*

Inicie el control de escucha

    LSNRCTL> start

Este comando significa iniciar el oyente predeterminado, que es iniciar el oyente llamado LISTENER. También podemos seguir el nombre de un oyente específico para iniciar un oyente no predeterminado. Como sigue:

    LSNRCTL> start my_listener

3.2 Cerrar el oyente

También hay dos formas de cerrar el oyente.

1) Cierre el oyente directamente en la línea de comando

Inicio de sesión en el sistema operativo (SO)

# su – oracle

oyente cercano

$ lsnrctl stop

Si se ejecuta el comando de parada lsnrctl (sin especificar el nombre del oyente), el comando iniciará el oyente predeterminado. El nombre de escucha predeterminado es LISTENER.

2) Inicie sesión en el control de administración del oyente y luego cierre el oyente

Inicio de sesión en el sistema operativo (SO)

# su – oracle

Control de escucha de inicio de sesión

    [oracle@book ~]$ lsnrctl
    LSNRCTL>

oyente cercano

    LSNRCTL> stop

Este comando significa detener el oyente predeterminado, es decir, detener el oyente llamado LISTENER. También podemos seguir el nombre del oyente específico para detener el oyente no predeterminado. Como sigue:

    LSNRCTL> stop my_listener

3.3 Ver el estado del oyente

También hay dos formas de ver el estado del oyente.

1) Ver el estado del oyente directamente en la línea de comando

Inicio de sesión en el sistema operativo (SO)

# su – oracle

Ver el estado del oyente

$ lsnrctl status

Si se ejecuta el comando de estado lsnrctl (sin especificar el nombre del agente de escucha), el comando iniciará el agente de escucha predeterminado. El nombre de escucha predeterminado es LISTENER.

2) Verifique el estado del agente de escucha después de iniciar sesión en el control de administración del agente de escucha

Inicio de sesión en el sistema operativo (SO)

# su – oracle

Control de escucha de inicio de sesión

    [oracle@book ~]$ lsnrctl
    LSNRCTL>

Vea el estado de inicio actual del oyente predeterminado:

    LSNRCTL> status
    ……
    Service "fin" has 1 instance(s).
      Instance "ora10g", status READY, has 1 handler(s) for this service...
    Service "hr" has 1 instance(s).
    Instance "ora10g", status READY, has 1 handler(s) for this service...
    ……
    Service "static_srv" has 1 instance(s).
      Instance "ora10g", status UNKNOWN, has 1 handler(s) for this service...

El comando Estado mostrará la siguiente información sobre el oyente:

  • El nombre del oyente, el número de versión del oyente, la hora de inicio del oyente, el tiempo de ejecución, el nivel de seguimiento, la ubicación del archivo de configuración del oyente listener.ora, etc.
  • La información de la dirección del oyente, incluido el nombre de host, el número de puerto, etc.
  • La información de estado de la instancia del oyente, la instancia tiene los siguientes estados:
    1) LISTO significa que la instancia puede aceptar conexiones
    2) BLOQUEADO significa que la instancia no puede aceptar conexiones
    3) LISTO/SECUNDARIO significa que esta es la segunda instancia del clúster ( Real Application Cluster), listo para aceptar conexiones.
    4) DESCONOCIDO indica que el oyente está registrado estáticamente (Registrado Estáticamente)

En el ejemplo anterior, podemos ver la parte de servicio mostrada, donde fin, hr, etc. son los nombres de servicio especificados por el parámetro service_names en la instancia de la base de datos. Al mismo tiempo, debemos notar que el campo de estado de la parte Instancia especificada por nombres de servicio como fin y hr es LISTO, mientras que el campo de estado de static_srv es DESCONOCIDO. Esto se debe a que fin, hr, etc. se registran dinámicamente en el oyente mediante el proceso PMON, por lo que la base de datos donde se encuentra el proceso PMON debe estar en un estado abierto, por lo que las instancias correspondientes a estos nombres de servicio están listas (LISTO) para aceptar las solicitudes de conexión de los usuarios. Y static_srv está editando el oyente. ora file y el nombre del servicio registrado estáticamente, el oyente no está seguro de si se ha abierto la instancia correspondiente al nombre del servicio, por lo que su estado es desconocido (UNKNOWN).

Podemos escribir un nombre de escucha no predeterminado después del comando de estado, como verificar el estado de my_listener:

    LSNRCTL> status my_listener

En lugar de ingresar a la interfaz interactiva de lsnrctl, podemos ejecutar el comando lsnrctl en el indicador del sistema operativo:

    [Oracle@book ~]$ lsnrctl start my_listener   --启动监听器my_listener
    [Oracle@book ~]$ lsnrctl stop my_listener    --关闭监听器my_listener
    [Oracle@book ~]$ lsnrctl status my_listener  --查看监听器my_listener的状态

4 Configurar el cliente

Al configurar la red del cliente, debe asegurarse de que la información de configuración del cliente (como la dirección IP o el nombre de host, el nombre de la instancia, el protocolo y el número de puerto) sea la misma que la del servidor.

En el lado del cliente, cuando usamos el servicio de red de Oracle para conectarnos al oyente, generalmente usamos dos métodos: conexión simple y nomenclatura local .

4.1 Conexión simple (usando "cadena de conexión" para iniciar sesión en la base de datos remota)

Para una conexión simple, no se requiere configuración en el lado del cliente. El método de conexión es el siguiente:

    SQL> connect hr/[email protected]:1521/ora10g

Entre ellos, hr/hr es el nombre de usuario y la contraseña para conectarse; book.us.oracle.com representa el nombre de host donde se encuentra la instancia de la base de datos; 1521 representa el número de puerto; ora10g representa el nombre de la instancia de la base de datos que se va a conectar. conectado.

Si encuentra que la conexión simple falla, debe verificar el archivo $ORACLE_HOME/network/admin/sqlnet.ora. El archivo debe tener el siguiente contenido:

    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

Es decir, si sqlnet. Los nombres en el archivo ora. Si ezconnect no está escrito en la parte directory_path, no se puede usar la conexión simple.

Nota : ezconnect significa conexión fácil, lo que significa conexión simple.

Las uniones simples, aunque simples, no admiten las características avanzadas de las uniones. Por ejemplo, equilibrio de carga al conectarse y conmutación por error al conectarse.

4.2 Denominación local (iniciar sesión en la base de datos remota utilizando "Nombre del servicio de red")

Otro método de conexión más utilizado es el método de nomenclatura local.

En este modo, necesitamos configurar un archivo de resolución de nombres local. Este archivo tiene como valor predeterminado $ORACLE_HOME/network/admin/tnsnames.ora . Este archivo reside en el lado del cliente y se puede configurar usando la interfaz gráfica de netca.

El contenido del archivo y la explicación de cada campo se muestran en la siguiente figura:
inserte la descripción de la imagen aquí

La red de Oracle se basa en la configuración de red del sistema operativo. Antes de configurar la red de Oracle, debemos instalar y configurar la red del sistema operativo (SO). TCP/IP es el protocolo de comunicación más utilizado, generalmente elegimos TCP/IP.

Los protocolos soportados por Oracle son:

  • TCP/IP
  • TCP/IP con SSL (TCPS)
  • Canalizaciones con nombre (NMP)
  • partido socialdemócrata
  • CIP

Nombres de tns configurados. ora, podemos usar la conexión local de la siguiente manera:

    SQL> connect hr/hr@sales

Como puede ver, después de entender tnsnames. Después del contenido del archivo ora, podemos agregar manualmente una nueva cadena de conexión.

Por ejemplo, agregamos una cadena de conexión para conectarse al nombre del servicio registrado estáticamente en el oyente predeterminado. Como sigue:

    newname =
      (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = book.us.Oracle.com)(PORT = 1521))
        )
        (CONNECT_DATA =
            (SERVICE_NAME = static_srv)
        )
      )

Solo necesitamos modificar el campo service_name para convertirlo en un nombre de servicio registrado estáticamente y cambiar sales a otra cadena (aquí es newname).

Luego usamos newname para conectar:

    SQL> connect hr/hr@newname

上文我们提到了网络服务名,那么网络服务名是什么呢?
Cuando accedemos a datos remotos, necesitamos ingresar un descriptor de conexión similar al siguiente , que describe la base de datos a la que queremos conectarnos.

    (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.202)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = zdb)
        )
      )

La información es muy larga y sería una gran pérdida de vida si los usuarios tuvieran que ingresar información tan larga cada vez que accedieran a la base de datos remota. Con este fin, el DBA puede dar a estas largas cadenas (descriptores de conexión) un "alias". En Oracle, llamamos a este alias "Nombre de servicio de red (Nombre de servicio de red)".

Si el nombre del servicio de red está configurado, cuando nos conectamos a la base de datos remota cada vez, no necesitamos ingresar información tan larga, solo ingrese el nombre del servicio de red y podemos iniciar sesión fácilmente en el servidor de la base de datos remota.

Los nombres de los servicios de red se almacenan en un archivo llamado tnsnames.ora, que se puede copiar a todos los clientes y servidores de la red.

5 Probar la conexión cliente-servidor

Generalmente, configuramos tnsnames. Después de crear el archivo ora, se utilizará la herramienta tnsping para determinar si la conexión de red del cliente al oyente es normal. tnsping es un comando que se ejecuta en la línea de comandos del sistema operativo de la siguiente manera:

    [oracle@book admin]$ tnsping newname
    ……
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =
    book.us.Oracle.com)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = static_srv)))
    OK (10 msec)

Como se muestra arriba, si el cliente puede conectarse con éxito al servidor, el resultado de la ejecución del comando tnsping mostrará "OK" e informará cuánto tiempo lleva el proceso (10 milisegundos en este ejemplo), lo que indica que la cadena de conexión se pasa Be capaz de conectarse al agente de escucha especificado; si no puede conectarse con éxito al servidor remoto, el comando tnsping devolverá información detallada del error.

tnsping no verifica si el nombre del servicio contenido en la cadena de conexión es el nombre del servicio administrado por el oyente, solo verifica si la conexión de red es normal.

También podemos usar tnsping para verificar conexiones simples:

    [oracle@book admin]$ tnsping book.us.oracle.com:1521/ora10g
    ……
    Used EZCONNECT adapter to resolve the alias
    Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=ora10g))(ADDRESS=(
    PROTOCOL=TCP)(HOST=152.68.32.60)(PORT=1521)))
    OK (0 msec)

6 Maneje fácilmente la red de Oracle——Estrategia de fallas de la red de Oracle

Hay muchas razones por las que el cliente no puede acceder a la base de datos, hay problemas de software y problemas de hardware, hay problemas con el sistema operativo en sí, hay problemas con el programa de aplicación y puede ser un problema con el firewall. Sin embargo, en la mayoría de los casos es el resultado de una configuración incorrecta del usuario. No importa qué error de red, podemos detectar problemas de red de acuerdo con la siguiente secuencia y principios.

6.1 Hacer ping al host de destino

Utilice el comando del sistema operativo para hacer ping al host de destino para ver si el host de destino existe.

    C:\Documents and Settings\Administrator>ping 192.168.200.38
    Pinging 192.168.200.38 with 32 bytes of data:
    Request timed out.
    Ping statistics for 192.168.200.38:
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

En general, básicamente podemos concluir a partir de aquí si el problema está relacionado con el sistema operativo.

Si el resultado del ping es "Solicitud agotada", significa que la red del cliente al host de destino (192.168.200.38) está desconectada. En este momento, es necesario resolver el problema de conexión de red de la capa del sistema operativo. Si no es el problema de red del sistema operativo, a continuación, podemos ejecutar el comando tnsping para verificar si el problema radica en la capa de configuración de Oracle.

Puede haber las siguientes razones para la falla del ping:

  • La tarjeta de red del cliente es físicamente defectuosa
  • La tarjeta de red del cliente no está configurada correctamente
  • Restricciones del cortafuegos del cliente
  • rotura de cable de red
  • Falla física de NIC en el lado del servidor
  • Configuración incorrecta de la tarjeta de red en el lado del servidor
  • Restricciones del cortafuegos del lado del servidor
  • 。。。。。。

6.2 Ejecutar el comando tnsping

  tnsping 网络服务名

El comando tnsping se usa principalmente para probar si el cliente puede conectarse con el oyente.

Si el comando tnsping informa un error, debemos hacer 3).

6.3 Ver el estado del oyente

$ lsnrctl status

Desde aquí, podemos conocer el estado de ejecución del oyente. Si el agente de escucha no funciona correctamente, o si los parámetros establecidos por el cliente no coinciden con los del agente de escucha, se producirá una falla en la red.

6.4 Ver el archivo de configuración del oyente (listener.ora)

Cuando se inicie el oyente, leerá un archivo llamado listener.ora.Este archivo es el "archivo de configuración del oyente", acuerdo y otra información. El contenido de este archivo es similar al siguiente:

    SID_LIST_LISTENER =
        (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = zdb)
          (ORACLE_HOME = C:\app\Administrator\product\11.1.0\db_3)
          (SID_NAME = zdb)
        )
        )
    LISTENER =
        (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.202)(PORT = 1521))
        )
  • LISTENER es el nombre del oyente, también podemos usar otros nombres
  • ORACLE_HOME es el directorio principal de Oracle.
  • SID_NAME es el nombre de instancia de la base de datos que escucha el agente de escucha.
  • PROTOCOL es el protocolo que escucha el oyente.
  • HOST especifica el nombre de host o la dirección IP del servidor de la base de datos.
  • PORT especifica el número de puerto utilizado por el agente de escucha y el número de puerto predeterminado es 1521.

Es necesario comparar cuidadosamente si los parámetros del cliente coinciden con estos parámetros. Después de confirmar que la configuración del lado del servidor es correcta, debemos verificar la configuración del lado del cliente.

6.5 Ver el archivo de configuración de red del cliente tnsnames.ora

A continuación se muestra una muestra del archivo de configuración de red del cliente tnsnames.ora (este archivo define el nombre del servicio de red MYZDB):

    MYZDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.202)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = zdb)
        )
      )
  • PROTOCOL se utiliza para especificar el protocolo utilizado.
  • HOST especifica el nombre de host o la dirección IP del servidor de la base de datos.
  • PORT especifica el número de puerto utilizado por el agente de escucha y el número de puerto predeterminado es 1521.
  • SERVICE_NAME especifica el nombre de instancia de la base de datos solicitada.

Es necesario comparar cuidadosamente si estos parámetros coinciden con los parámetros del oyente.

6.6 Ver los archivos de registro de la red de Oracle

Si la falla de la red no se puede diagnosticar después de completar los pasos anteriores, podemos ver los archivos de registro de la red Oracle. De estos archivos, podemos obtener más información. Estos archivos son los siguientes:

  • listener.log Listener (archivo de registro de oyentes)
  • Cliente sqlnet.log o servidor de base de datos (existe en el lado del cliente y del servidor)
  • nombre-instancia_pid.log Oracle Connection Manager Listener (archivo de registro sobre el administrador de conexiones)
  • 。。。。。。

Supongo que te gusta

Origin blog.csdn.net/Ruishine/article/details/129147814
Recomendado
Clasificación