Red de conocimiento informático - Aprendizaje de programación - ¿Cuál es el nombre de la base de datos global en la base de datos Oracle? ¿Qué es el SID? . ¿Hay alguna buena explicación?

¿Cuál es el nombre de la base de datos global en la base de datos Oracle? ¿Qué es el SID? . ¿Hay alguna buena explicación?

Nombre de la base de datos, nombre de la instancia, nombre de dominio de la base de datos, nombre de la base de datos global, nombre del servicio.

Estos son varios conceptos que muchos principiantes confunden fácilmente. Creo que muchos principiantes, al igual que yo, se sienten confundidos por los conceptos del título. Averigüémoslos ahora.

1. Nombre de la base de datos

¿Qué es el nombre de una base de datos?

El nombre de la base de datos es el identificador de una base de datos, al igual que el número de identificación de una persona. Utiliza el parámetro DB_NAME para indicar que si se instalan varias bases de datos en una máquina, cada base de datos tiene un nombre de base de datos. Una vez instalada o creada la base de datos, el parámetro DB_NAME se escribe en el archivo de parámetros. El formato es el siguiente:

DB_NAME=myorcl

...

El nombre de la base de datos debe considerarse al crear la base de datos y después de crearla. , el nombre de la base de datos No es adecuado modificarlo, incluso si desea modificarlo, será muy problemático. Debido a que el nombre de la base de datos también se escribe en el archivo de control, el archivo de control se almacena en formato binario y los usuarios no pueden modificar el contenido del archivo de control. Supongamos que el usuario modifica el nombre de la base de datos en el archivo de parámetros, es decir, modifica el valor de DB_NAME. Sin embargo, cuando se inicia Oracle, debido a que DB_NAME en el archivo de parámetros no coincide con el nombre de la base de datos en el archivo de control, el inicio de la base de datos falla y se devuelve un error ORA-01103.

La función del nombre de la base de datos

El nombre de la base de datos es necesario al instalar la base de datos, crear una nueva base de datos, crear un archivo de control de la base de datos, modificar la estructura de datos, realizar copias de seguridad y restaurar. la base de datos.

Hay muchos directorios de archivos de instalación de Oracle relacionados con el nombre de la base de datos, como:

winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...

Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...

pfile:

winnt: d:\ oracle \product\10.1.0\admin\DB_NAME\pfile\ini.ora

Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora

Directorio de archivos de seguimiento:

winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...

En Además, al crear datos, el nombre de la base de datos en el comando de base de datos careate también debe ser coherente con el valor del parámetro DB_NAME en el archivo de parámetros; de lo contrario, se producirá un error.

Asimismo, la sentencia alterar base de datos para modificar la estructura de la base de datos también debe indicar el nombre de la base de datos a modificar.

Si el archivo de control se daña o se pierde, la base de datos no se cargará. En este caso, se debe volver a crear el archivo de control iniciando la instancia en modo nomount y luego creando el archivo de control con. el comando crear archivo de control Por supuesto, este comando también se refiere a DB_NAME.

Además, es necesario utilizar el nombre de la base de datos al realizar una copia de seguridad o restaurar la base de datos.

En resumen, el nombre de la base de datos es muy importante y su función debe comprenderse con precisión.

Consultar el nombre de los datos actuales

Método uno: seleccionar el nombre de v$database;

Método dos: mostrar el parámetro db

Método tres: Ver archivo de parámetros.

Modificar el nombre de la base de datos

Sugerencia anterior: el nombre de la base de datos debe determinarse al crear la base de datos. El nombre de la base de datos no debe modificarse, porque modificar el nombre de la base de datos es un asunto relativamente complicado. . Ahora expliquemos cómo modificar el nombre de la base de datos después de que se hayan creado los datos.

Los pasos son los siguientes:

1.

2. Modifique el valor del parámetro DB_NAME en el archivo de parámetros de la base de datos al nuevo nombre de la base de datos.

3. Inicie la instancia en modo NOMOUNT y cree un archivo de control (para conocer la sintaxis del comando para crear un archivo de control, consulte la documentación de Oracle)

2.

¿Qué es el nombre de una instancia de base de datos?

El nombre de la instancia de la base de datos es un identificador que se utiliza para contactar con el sistema operativo, es decir, la interacción entre la base de datos y el sistema operativo utiliza el nombre de la instancia de la base de datos. El nombre de la instancia también se escribe en el archivo de parámetros, que es nombre_instancia. En la plataforma winnt, el nombre de la instancia también se escribe en el registro.

El nombre de la base de datos y el nombre de la instancia pueden ser iguales o diferentes.

En circunstancias normales, el nombre de la base de datos y el nombre de la instancia están en una relación uno a uno, pero en la arquitectura del servidor paralelo de Oracle (es decir, Oracle Real-time Application Cluster), el nombre de la base de datos y El nombre de la instancia está en una relación de uno a muchos. Esto fue ilustrado en el primer artículo.

Consultar el nombre de la instancia de la base de datos actual

Método uno: seleccionar nombre_instancia de v$instance;

Método dos: mostrar la instancia del parámetro

Método tres: consultar en el archivo de parámetros.

Nombre de la instancia de base de datos y ORACLE_SID

Aunque ambos representan instancias de Oracle, son diferentes. nombre_instancia es un parámetro de base de datos Oracle. ORACLE_SID es una variable de entorno del sistema operativo. ORACLD_SID se utiliza para interactuar con el sistema operativo, es decir, para acceder al nombre de la instancia desde la perspectiva del sistema operativo, debe pasar ORACLE_SID. Sin winnt, ORACLE_SID aún debe existir en el registro.

Y ORACLE_SID debe ser coherente con el valor de nombre_instancia; de lo contrario, recibirá un error. En la plataforma Unix, es "ORACLE no disponible". En la plataforma winnt, es "TNS: Protocolo". Error del adaptador".

Nombre de la instancia de base de datos y conexión de red

Además de interactuar con el sistema operativo, el nombre de la instancia de base de datos también se utiliza para identificar el servidor Oracle para la conexión de red. Cuando configura la cadena de conexión del host de Oracle, debe especificar el nombre de la instancia. Por supuesto, los componentes de red en versiones posteriores de 8i requieren el nombre de servicio SERVICE_NAME. Este concepto se explica a continuación.

3. Nombre de dominio de base de datos

¿Qué es un nombre de dominio de base de datos?

En un sistema de base de datos distribuido, diferentes versiones de servidores de bases de datos, independientemente de si el sistema operativo es Unix o Windows, se pueden replicar de forma remota a través de enlaces de bases de datos. El nombre de dominio de la base de datos se utiliza principalmente para la replicación en Oracle distribuido. ambientes. Por ejemplo:

Base de datos distribuida del sistema nacional de administración de transporte, que incluye:

Nodo de Fujian: fj.jtyz

Nodo de Fujian Xiamen: xm.fj .jtyz

Jiangxi: jx.jtyz

Jiangxi Shangrao: sr.jx.jtyz

Este es el nombre de dominio de la base de datos.

El nombre de dominio de la base de datos existe en el archivo de parámetros y su parámetro es db_domain.

Consulta el nombre de dominio de la base de datos

Método 1: seleccione el valor de v$ parámetro donde nombre = 'db_domain';

Método 2: mostrar dominio de parámetros

Método 3: Consulta en el archivo de parámetros.

Nombre de la base de datos global

Nombre de la base de datos global = nombre de la base de datos + nombre de dominio de la base de datos. Por ejemplo, el nombre de la base de datos global del nodo Fujian mencionado anteriormente es: oradb.fj.jtyz

p>

Cuatro, nombre del servicio de base de datos

¿Cuál es el nombre del servicio de base de datos?

A partir de la versión Oracle9i, se introduce un nuevo parámetro, a saber, el nombre del servicio de la base de datos. El nombre del parámetro es SERVICE_NAME.

Si la base de datos tiene un nombre de dominio, el nombre del servicio de la base de datos es el nombre de la base de datos global; de lo contrario, el nombre del servicio de la base de datos es el mismo que el nombre de la base de datos.

Consultar el nombre del servicio de la base de datos

Método 1: seleccionar el valor de v$parameter donde nombre = 'nombre_servicio';

Método 2: mostrar el parámetro nombre_servicio

Método 3: Consulta en el archivo de parámetros.

Nombre del servicio de base de datos y conexión de red

Desde el componente de red Oracle abierto por oracle8i, la cadena de host de conexión entre la base de datos y el cliente utiliza el nombre del servicio de base de datos. Anteriormente se usaba ORACLE_SID, que es el nombre de la instancia de la base de datos

Crear una base de datos Oracle (tomando como ejemplo Oracle10g)

Hay dos formas de crear una base de datos, una es a través de script de línea de comando, es decir, creado manualmente; el otro se crea utilizando el asistente de configuración de la base de datos proporcionado por Oracle. Este artículo presenta principalmente la creación de una base de datos Oracle utilizando un script de línea de comandos en Unix y Windows.

Un sistema de base de datos completo debe incluir una estructura física, una estructura lógica, una estructura de memoria y una estructura de proceso. Si desea crear una nueva base de datos, estas estructuras deben estar completamente establecidas

p>