Red de conocimiento informático - Material del sitio web - Cómo distinguir la base de datos de Oracle, la instancia, el nombre del servicio y el SID

Cómo distinguir la base de datos de Oracle, la instancia, el nombre del servicio y el SID

Nombre de la base de datos (DB_NAME), nombre de la instancia (Instance_name) y variable de entorno del sistema operativo (ORACLE_SID)

En las bases de datos ORACLE 7 y 8, solo hay el nombre de la base de datos (db_name) y la base de datos. nombre de la instancia (nombre_instancia). Aparecieron nuevos parámetros en ORACLE8i y 9i, a saber, el nombre de dominio de la base de datos (db_domain), el nombre del servicio (service_name) y la variable de entorno del sistema operativo (ORACLE_SID). Estos son identificadores que existen en la misma base de datos y se utilizan para distinguir parámetros de diferentes bases de datos.

1. ¿Qué es el nombre de una base de datos (db_name)?

El nombre de la base de datos es un identificador interno que se utiliza para distinguir los datos. Es un parámetro almacenado en el archivo de control de la base de datos en formato binario. En los datos No se podrá modificar después de la instalación o creación. Una vez completada la instalación de la base de datos, este parámetro se escribe en el archivo de parámetros de la base de datos pfile en el siguiente formato:

..........

db_name="orcl " #(no se permiten modificaciones)

db_domain=dbcenter.toys.com

instance_name=orcl

service_names=orcl.dbcenter.toys.com

control_file=(.............

.........

En cada base de datos ORACLE8i en ejecución hay un nombre de base de datos (db_name). Si se crean dos bases de datos en un programa de servidor, hay dos nombres de bases de datos cuyos parámetros de control pertenecen a diferentes pfiles para controlar las bases de datos relacionadas.

2. ¿Cuál es el nombre de la instancia de la base de datos? (instance_name)

El nombre de la instancia de la base de datos se usa para conectarse con el sistema operativo y se usa para obtener la conexión con la base de datos en el sistema operativo. Para interactuar, debe usar el nombre de la instancia de la base de datos. Para conectarse a un servidor de base de datos, debe conocer el nombre de la instancia de la base de datos. Saber solo el nombre de la base de datos es inútil. A diferencia del nombre de la base de datos, después de instalar los datos o crear la base de datos, el nombre de la instancia se puede modificar. Una vez completada la instalación, el nombre de la instancia se escribe en el archivo de parámetros de la base de datos pfile, en el siguiente formato:

db_name="orcl" #(modificación no permitida)

db_domain =dbcenter. juguetes.com

instance_name=orcl #(se puede modificar, puede ser igual o diferente de db_name)

service_names=orcl.dbcenter.toys.com

control_file=(.............

.............

Entre el nombre de la base de datos y el nombre de la instancia La relación entre el nombre de la base de datos y el nombre de la instancia es generalmente una correspondencia uno a uno. Hay un nombre de instancia para un nombre de base de datos. Si se crean dos bases de datos en un servidor, hay dos El nombre de la base de datos, dos bases de datos. nombres de instancia, use dos identificadores para determinar una base de datos y el usuario está conectado a la instancia.

Pero en la estructura del servidor paralelo de 8i y 9i, no existe una conexión uno a uno entre las bases de datos. y la instancia. Relación correspondiente, pero una relación de uno a muchos (una base de datos corresponde a varias instancias y los usuarios solo están conectados a una instancia al mismo tiempo. Cuando una determinada instancia falla, otras instancias sirven automáticamente para garantizar la funcionamiento seguro de la base de datos.)

3. Variable de entorno del sistema operativo (ORACLE_SID)

En la práctica, el parámetro de nombre de instancia (instance_name) se utiliza a veces para describir el nombre de la instancia de la base de datos. y a veces se utiliza el parámetro ORACLE_SID.

Ambos son nombres de instancias de bases de datos. ¿Cuál es la diferencia entre ellos? (a menudo confundido)

(ORACLE_SID)

SO<----------------> base de datos ORACLE<------ - -(Instance_name (nombre de instancia))

La figura anterior muestra la relación entre el nombre de instancia nombre_instancia, ORACLE_SID y la base de datos y el sistema operativo. Aunque los dos parámetros enumerados aquí son nombres de instancia de base de datos, nombre_instancia El parámetro es. el parámetro de la base de datos ORACLE. Este parámetro se puede consultar en el archivo de parámetros, y el parámetro ORACLE_SID es la variable de entorno del sistema operativo.

La variable de entorno del sistema operativo ORACLE_SID se utiliza para interactuar con el sistema operativo. En otras palabras, si desea obtener el nombre de la instancia en el sistema operativo, debe utilizar ORACLE_SID. Este parámetro tiene el mismo uso que ORACLE_BASE, ORACLE_HOME, etc. Una vez instalada la base de datos, se utiliza ORACLE_SID para definir el nombre del archivo de parámetros de la base de datos. Por ejemplo: $ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora.

Método de definición:

exportar ORACLE_SID=orcl

Si se crean varias bases de datos en el mismo servidor, debe haber varias instancias de bases de datos al mismo tiempo. Puede repetir el proceso de definición anterior para seleccionar diferentes instancias.

También puedes usar

[oracle@Datacent]$ . oraenv

para cambiar diferentes ORACLE_SID para iniciar diferentes instancias a través del sistema operativo