Compilación de comandos operativos de uso común en la base de datos Oracle.

 

Compilación de comandos operativos de uso común al iniciar sesión en la base de datos Oracle

 

 

1. su: Oracle no es necesario y es adecuado para usar cuando no hay una contraseña de DBA. Puede ingresar a la interfaz sqlplus sin contraseña.

2. sqlplus /nolog o sqlplus system/manager o ./sqlplus system/manager@ora9i ;

3、SQL>conectar / como sysdba ;(como sysoper)或

conectar interno/oracle AS SYSDBA; (scott/tiger)

conecte sys/change_on_install como sysdba;

4. SQL>inicio; Iniciar la instancia de la base de datos

5. Ver todas las bases de datos actuales: seleccione * de v$database;

seleccione el nombre de la base de datos v$;

desc v$bases de datos; Ver campos de estructura de base de datos

7. Cómo comprobar qué usuarios tienen permisos SYSDBA y SYSOPER:

SQL>seleccione * de V_$PWFILE_USERS;

Mostrar usuario; Ver el usuario de conexión de base de datos actual

8. Ingrese a la base de datos de prueba: prueba de base de datos;

9. Ver todas las instancias de la base de datos: seleccione * de v$instance;

Tales como: ora9i

10. Ver todas las tablas de datos de la biblioteca actual:

SQL> seleccione TABLE_NAME de all_tables;

seleccione * de all_tables;

SQL> seleccione nombre_tabla de todas_tablas donde nombre_tabla como '%u%';

NOMBRE DE LA TABLA

------------------------------

_opciones_de_auditoría_predeterminadas_

11. Ver la estructura de la tabla: desc all_tables;

12. Muestre todas las estructuras de campos de CQI.T_BBS_XUSER:

desc CQI.T_BBS_XUSER;

13. Obtenga los registros en la tabla CQI.T_BBS_XUSER:

seleccione * de CQI.T_BBS_XUSER;

14. Agregar usuario de la base de datos: (prueba11/prueba)

crear usuario test11 identificado por los usuarios del espacio de tabla predeterminado de prueba Temporal TABLESPACE temporal;

15. Autorización del usuario:

otorgar conexión, recurso, dba para probar11;

conceder a sysdba la prueba11;

comprometerse;

16. Cambie la contraseña del usuario de la base de datos: (Cambie las contraseñas de sys y system para probar).

alterar el sistema de usuario identificado por la prueba;

alterar el sistema del usuario identificado por la prueba;

 

Solución al problema de que la consola de administración de Oracle no puede iniciar sesión

Descripción del producto: control de base de datos
Oracle 10g重建em Control de base de datos

Oracle 10G重建EM.
1. Suelte los archivos de configuración y ejecute el repositorio:
emca -deconfig dbcontrol db -repos drop

oracle 10g重建em db control

Oracle 10G重建EM DB Control.
1. elimine los archivos de configuración y ejecute el repositorio:
emca -deconfig dbcontrol db -repos drop

2. Inicie sesión en SQLPLUS como usuario SYS o SYSTEM y elimine la cuenta sysman y los objetos de administración:
a. eliminar la cascada sysman del usuario;
b. eliminar rol MGMT_USER;
C. soltar la cascada MGMT_VIEW del usuario;
d. eliminar el sinónimo público MGMT_TARGET_BLACKOUTS;
mi. soltar sinónimo público SETEMVIEWUSERCONTEXT;

3.Cree archivos de configuración y ejecute el repositorio
emca -config dbcontrol db -repos create

Al crear EM, el número de puerto solicitado debe ser el número de desconexión de la instancia, como 1521, no el número de puerto de EM (como 1158).
El número de puerto de EM está aquí. Puede encontrar 10.2.0/db_1/sysman/config/emca.properties en el archivo.

Luego, después de ejecutar em, apareció la interfaz, pero se informó un error:
java.lang.Exception: Excepción al enviar Solicitud:: nulo.
Muchas funciones no se pueden usar. Use, solicite iniciar sesión nuevamente. Encontré la solución en el foro de Oracle:
http :
//forums. oracle .com/forums/ … p; messageID=1374397
Encuentre el siguiente archivo
10.2.0/db_1/ZYKNET_ORC2/sysman/config/emd El valor predeterminado de agentTZRegion en .properties
es GMT, simplemente cámbielo a su zona horaria, por ejemplo:
agentTZRegion=Asia/Chungking
Para obtener una lista de zonas horarias, consulte: 10.2.0/db_1/sysman/admin/supportedtzs.lst
Luego, reinicie OracleDBConsole<SID>

3.Cree archivos de configuración y ejecute el repositorio
emca -config dbcontrol db -repos create

Al crear EM, el número de puerto solicitado debe ser el número de desconexión de la instancia, como 1521, no el número de puerto de EM (como 1158).
El número de puerto de EM está aquí. Puede encontrar 10.2.0/db_1/sysman/config/emca.properties en el archivo.

Luego, después de ejecutar em, apareció la interfaz, pero se informó un error:
java.lang.Exception: Excepción al enviar Solicitud:: nulo.
Muchas funciones no se pueden usar. Use, solicite iniciar sesión nuevamente. Encontré la solución en el foro de Oracle:
http :
//forums. oracle .com/forums/ … p; messageID=1374397
Encuentre el siguiente archivo
10.2.0/db_1/ZYKNET_ORC2/sysman/config/emd El valor predeterminado de agentTZRegion en .properties
es GMT, simplemente cámbielo a su zona horaria, por ejemplo:
agentTZRegion=Asia/Chungking
Para obtener una lista de zonas horarias, consulte: 10.2.0/db_1/sysman/admin/supportedtzs.lst
Luego, reinicie OracleDBConsole<SID>

 

Configuración de red de Oracle
Los tres archivos de configuración listener.ora, sqlnet.ora y tnsnames.ora se colocan en el directorio $ORACLE_HOME/network/admin.
 
1. sqlnet.ora-----La función es similar al archivo nsswitch.conf en Linux u otro Unix. Este archivo se utiliza para determinar cómo encontrar la cadena de conexión que aparece en la conexión.
Por ejemplo, si nuestro cliente ingresa
sqlplus sys/oracle@orcl,
si mi sqlnet.ora se ve así
: SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
, entonces el cliente ingresará primero tnsnames.ora file Encuentre el registro de orcl. Si no hay un registro correspondiente, intente tratar a orcl como un nombre de host, resuelva su dirección IP a través de la red y luego conéctese a la instancia de GLOBAL_DBNAME=orcl en esta IP. Por supuesto, orcl aquí no es un host. Nombre
Si me veo así
NAMES.DIRECTORY_PATH= (TNSNAMES)
, entonces el cliente solo buscará registros orcl de tnsnames.ora. Hay otras opciones entre paréntesis, como LDAP, que no se usan comúnmente.
2. Tnsnames.ora------Este archivo es similar al archivo de hosts de Unix. Proporciona la correspondencia entre tnsname y el nombre de host o ip. Solo es similar cuando sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES) De esta manera, el cliente intentará utilizar este archivo solo si TNSNAMES está incluido en el orden en el que el cliente analiza la cadena de conexión.
PROTOCOLO: El protocolo de comunicación entre el cliente y el servidor, generalmente TCP, generalmente no es necesario cambiar este contenido.
HOST: El nombre de la máquina o la dirección IP de la máquina donde se encuentra el oyente de la base de datos. El oyente de la base de datos generalmente está en la misma máquina que la base de datos, por lo que cuando digo la máquina donde se encuentra el oyente de la base de datos, generalmente se refiere a la máquina donde se encuentra la base de datos. En UNIX o WINDOWS, puede obtener el nombre de la máquina usando el comando hostname en el símbolo del sistema de la máquina donde está escuchando la base de datos, u obtener la dirección IP usando el comando ipconfig (para WINDOWS) o ifconfig (para UNIX). Cabe señalar que, independientemente del nombre de la máquina o la dirección IP, el cliente debe usar el comando ping para hacer ping al nombre de la máquina donde está escuchando la base de datos. De lo contrario, el nombre de la máquina donde está escuchando la base de datos debe ser se agregará al archivo de hosts.parse.
PUERTO: El puerto en el que está escuchando el oyente de la base de datos. Puede verificar el archivo listening.ora en el lado del servidor o ejecutar el comando lnsrctl status [nombre del oyente] en el símbolo del sistema de la máquina donde se encuentra el oyente de la base de datos. El valor de Puerto aquí debe ser el mismo que el puerto en el que escucha la base de datos.
NOMBRE_SERVICIO: en el lado del servidor, después de iniciar sesión como usuario del sistema, use el comando sqlplus> show parámetro nombre_servicio para verlo.
ORCL corresponde a la máquina local y SALES corresponde a otra dirección IP. También define si se utiliza el modo servidor principal o servidor compartido para la conexión. Cuando desee
 
conectarse, ingrese TNSNAME
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
#El siguiente es el host, el puerto y el protocolo correspondientes a este TNSNAME
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) )
(
CONNECT_DATA =
#Usar el modo de servidor dedicado para conectarse necesita coincide con el modo del servidor, si no, se ajustará automáticamente de acuerdo con el modo del servidor
(SERVIDOR = DEDICADO)
#correspondiente al nombre_servicio, SQLPLUS>; mostrar parámetro nombre_servicio; para ver
(NOMBRE_SERVICIO = orcl)
)
)
#Lo siguiente es similar a
VENTAS =
(DESCRIPCIÓN =
(DIRECCIÓN_LISTA =
(DIRECCIÓN = (PROTOCOLO = TCP)(HOST = 192.168.188.219)(PUERTO = 1521)) )
(
CONNECT_DATA =
(SERVIDOR = DEDICADO)
(SERVICE_NAME = ventas)
) )
Nota
: Si la base de datos El servidor usa MTS, el programa cliente necesita usar el enlace de la base de datos. Es mejor indicar claramente que el cliente usa el método de conexión directa dedicado; de lo contrario, encontrará muchos ERRORES DE ORACLE relacionados con el entorno distribuido. En circunstancias normales, es mejor utilizar conexiones directas al servidor de la base de datos, a menos que su número de conexiones a la base de datos en tiempo real sea cercano a 1000.
   
3. listening.ora------Archivo de configuración del proceso de escucha
. No hay mucho que decir sobre el proceso de escucha. Acepta aplicaciones de acceso remoto a la base de datos y las transfiere al proceso del servidor Oracle. Por lo tanto, si no se utiliza una conexión remota, el proceso de escucha no es necesario. Del mismo modo, cerrar el proceso de escucha no afectará la conexión de la base de datos existente.
Ejemplo de archivo Listener.ora
#listener.ora Archivo de configuración de red: #E:/oracle/product/10.1.0/Db_2/NETWORK/ADMIN/listener.ora
# Generado por las herramientas de configuración de Oracle.
#Lo siguiente define qué instancia del LISTENER El proceso es El servicio proporcionado aquí es ORCL y corresponde a ORACLE_HOME y GLOBAL_DBNAME donde GLOBAL_DBNAME no es necesario a menos que #
use HOSTNAME para la conexión de la base de datos
 
SID_LIST_LISTENER =
(SID_LIST = (
SID_DESC =
(GLOBAL_DBNAME = boway)
(ORACLE_HOME = E:/oracle/product /10.1.0/Db_2)
(SID_NAME = ORCL)
)
)
#El nombre del oyente, una base de datos puede tener más de un oyente
#El siguiente es el protocolo, ip, puerto, etc., que el oyente monitorea. El puerto tcp1521 se usa aquí, y #Used es el nombre del host
OYENTE =
(DESCRIPCIÓN =
(DIRECCIÓN = (PROTOCOLO = TCP)(HOST = boway)(PUERTO = 1521))
)
El ejemplo anterior es el más simple, pero también es el más común. Un proceso de escucha proporciona servicios para una instancia (SID).
El comando de operación del oyente es
$ORACLE_HOME/bin/lsnrctl start, otros como stop, status, etc. Consulte la ayuda después de escribir un lsnrctl.

Los tres archivos mencionados anteriormente se pueden configurar a través de la herramienta de configuración gráfica
$ORACLE_HOME/netca asistente desde
$ORACLE_HOME/netmgr.
Estoy más acostumbrado a netmgr.
La configuración del perfil es sqlnet.ora, que es la
configuración del nombre del servicio del método de resolución de nombres. son los
oyentes del archivo tnsnames.ora que están configurados con el archivo listener.ora, es decir, el proceso del oyente.
Puede probar la configuración específica y luego mirar el archivo de configuración.

De esta manera, la estructura general está ahí, que es
cuando ingresas sqlplus sys/oracle@orcl
1. Consulta sqlnet.ora para ver cómo se resuelve el nombre y descubre que es TNSNAME
2. Luego consulte el archivo tnsnames.ora, busque el registro orcl en él y busque el nombre del host, el puerto y el nombre del servicio.
3.Si no hay ningún problema con el proceso de escucha, establezca una conexión con el proceso de escucha.
4. Dependiendo del modo del servidor, como el modo de servidor dedicado o el modo de servidor compartido, el oyente realiza la siguiente acción. El valor predeterminado es el modo de servidor dedicado, si no hay problema, el cliente se conectará al proceso del servidor de la base de datos.
5. En este momento, se ha establecido la conexión de red y se ha completado la misión histórica del proceso de escucha.

#---------------
Varias formas de comando utilizadas para la conexión
1.sqlplus / as sysdba Esta es una autenticación típica del sistema operativo y no requiere un proceso de escucha
2.sqlplus sys/oracle como El El método de conexión solo puede conectarse a la base de datos local y no requiere el proceso de escucha
3.sqlplus sys/oracle@orcl Este método requiere que el proceso de escucha esté disponible. Más comúnmente conectado a través de Internet.
El método de conexión anterior no requiere que la base de datos esté disponible cuando se utiliza el usuario del sistema u otros usuarios autenticados mediante archivos de contraseña. La autenticación del sistema operativo no requiere que la base de datos esté disponible. Los usuarios comunes requieren autenticación de la base de datos, por lo que la base de datos debe estar en el estado abierto.
Remote_Login_Passwordfile en init.ora tiene
    tres valores opcionales para el impacto en la autenticación:
    NONE: valor predeterminado, que indica que el sistema Oracle no utiliza un archivo de contraseña y los usuarios privilegiados autenticados a través del sistema operativo tienen permisos SYSORA y SYSOPER
    EXCLUSIVO:
    1 Indica que solo una instancia de base de datos puede usar el archivo de contraseña
    2. Permite asignar permisos SYSORA y SYSOPER a otros usuarios distintos de SYS
    COMPARTIDO:
    1. Indica que varias instancias de bases de datos pueden usar el archivo de contraseña.
    2. No está permitido asignar permisos SYSORA y SYSOPER a otros usuarios que no sean SYS.
    Por lo tanto, si desea iniciar sesión como un sistema operativo, el archivo Remote_Login_Passwordfile debe ser establecido en NONE
    cuando el usuario de inicio de sesión no es Cuando es miembro del grupo ORA_DBA y del grupo ORA_OPER, necesita crear el mismo nombre de usuario que el usuario actual del sistema operativo en Oracle para iniciar sesión en la base de datos. es un usuario de dominio, el nombre es: nombre de dominio/su nombre. Si es un usuario de computadora local, el nombre es: nombre de computadora. /su nombre
    método de creación:
    cree "nombre de dominio/su nombre" identificado externamente;
    Sistema operativo, modifique HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE /HOME0 y agregue AUTH_PREFIX_DOMAIN, establezca el valor en FALSE, puede ignorar el nombre de dominio al crear un usuario de Oracle. De
    esta manera, init. Hay un parámetro en ora que afectará cómo la base de datos coincide con un usuario de Windows y un usuario de Oracle. os_authent_prefix = ""El
    valor predeterminado está vacío. Antes de Oracle8i, no existía tal parámetro y se usaba OPS$ como prefijo de nombre de usuario. (La longitud máxima del nombre de usuario de Oracle está limitada a 30 caracteres) Acerca del nombre de dominio (nombre de
 
 host ) resolución    
           /etc/hosts (UNIX)
           O el cliente windows/hosts (WIN98) winnt/system32/drivers/etc/hosts (WIN2000)
           necesita escribir la relación correspondiente entre la dirección IP del servidor de la base de datos y el nombre del host.
         
           127.0.0.1 localhost
           192.168.0.35 oracledb oracledb
           192.168.0.45 tomcat tomcat
           202.84.10.193 bj_db bj_db  
         
           A veces, después de configurar el primer paso, el alias del servidor de base de datos tnsping tiene éxito,
           pero sqlplus nombre de usuario/contraseña@nombredeservicio no funciona, jdbc enlace delgado Si Todavía no funciona,       
           no olvide realizar este paso en el cliente, la razón puede ser que la relación correspondiente entre la dirección IP del servidor y el nombre de host no está configurada en el servidor DNS.
           Si hay tanto IP privada como IP pública en Internet, la IP privada se escribe delante y la IP pública detrás.
           Es mejor mantener una copia de seguridad antes de editar. También es mejor usar copiar y pegar al agregar una línea para evitar errores de espacios o caracteres de tabulación al editar hosts.
         
 En el entorno de bases de datos múltiples ORACLE en UNIX, el cliente del sistema operativo necesita configurar las siguientes dos variables de entorno
           ORACLE_SID=appdb; exportar ORACLE_SID
           TWO_TASK=appdb;exportar TWO_TASK
      para especificar la base de datos de destino predeterminada 
 
#-------------
Puede usarse para la resolución de problemas diarios
1. lsnrctl status Ver el estado del proceso de escucha del lado del servidor
LSNRCTL>; ayuda
Las siguientes operaciones están disponibles
Un asterisco (*) indica un modificador o comando extendido:
iniciar detener estado
servicios versión recargar
save_config trace change_password
salir salir set*
mostrar*
LSNRCTL> ; estado
: em11:
2.tnsping comprueba si la configuración de los archivos sqlnet.ora y tnsname.ora del cliente es correcta y el estado del proceso de escucha del servidor correspondiente.
C:/>tnsping orcl
Utilidad TNS Ping para Windows de 32 bits: Versión 10.1.0.2.0 - Producción el 16 de agosto de
2005 09:36:08
Copyright (c) 1997, 2003, Oracle.Todos los derechos reservados.
Archivos de parámetros usados:
E:/oracle/product/10.1.0/Db_2/network/admin/sqlnet.ora

Se usó el adaptador TNSNAMES para resolver el alias
Intento de contactar (DESCRIPCIÓN = (ADDRESS_LIST = (DIRECCIÓN = (PROTOCOLO = TCP)
(HOST = 127.0.0.1)(PUERTO = 1521))) (CONNECT_DATA = (SERVIDOR = DEDICADO) (SERVICE_
NAME = orcl)))
OK (20 ms)
3.
SQL>;show sga Compruebe si la instancia se ha iniciado
SQL>; seleccione open_mode de v$database; Compruebe si la base de datos está abierta o montada.
OPEN_MODE
----------
LEER ESCRIBIR

 
Ejemplo de uso de hostname para acceder a la base de datos en lugar de tnsname
Usar tnsname para acceder a la base de datos es el método predeterminado, pero también trae algunos problemas, es decir, el cliente necesita configurar el archivo tnsnames.ora de. Si la dirección del servidor de su base de datos cambia, deberá volver a editar el archivo del cliente. Acceder a la base de datos a través del nombre de host elimina este problema.
Necesita modificar
el
archivo de configuración listener.ora #Listener del lado del servidor listening.ora
#使用host naming则不再需要tnsname.ora文件做本地解析
# listening.ora Archivo de configuración de red: d:/oracle/product/10.1.0/db_1/NETWORK/ADMIN/listener.ora
# Generado por las herramientas de configuración de Oracle.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
# (SID_NAME = PLSExtProc)
(SID_NAME = orcl)
(GLOBAL_DBNAME = boway)
(ORACLE_HOME = d:/oracle/product/10.1.0/db_1)
# (PROGRAM = extproc)
)
)
OYENTE =
(DESCRIPCIÓN_LISTA =
(DESCRIPCIÓN =
(DIRECCIÓN = (PROTOCOLO = IPC)(CLAVE = EXTPROC))
)
(DESCRIPCIÓN =
(DIRECCIÓN = (PROTOCOLO = TCP)(HOST = boway)(PUERTO = 1521)) )
)

Cliente sqlnet.ora Si confirma que no utilizará TNSNAME para acceder, puede eliminar TNSNAMES
# sqlnet.ora Archivo de configuración de red: d:/oracle/product/10.1.0/db_1/NETWORK/ADMIN/sqlnet.ora
# Generado mediante herramientas de configuración de Oracle
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (HOSTNAME)
No es necesario configurar el archivo Tnsnames.ora y no importa si se elimina.
El siguiente es un problema con la configuración de la red y el sistema operativo. ¿Cómo puedo resolver mi nombre de host? Puede
conectarse a
sqlplus sys/oracle@boway
de la siguiente manera. En este caso, el servidor boway estará conectado y el oyente determinará lo que desea.
Soluciones de fallas comunes :
TNS-12154 (ORA-12154): TNS: no se pudo resolver el nombre del servicio.
Este error indica que el nombre del servicio de red utilizado para la conexión no existe en tnsnames. ora, como el tnsnames.ora anterior El nombre del servicio de red es solo prueba. Si el usuario usa sqlplus system/manager@test1 al conectarse, se generará el error TNS-12154.
Cabe señalar que a veces incluso si hay un nombre de servicio de red correspondiente en el archivo tnsnames.ora, se producirá un error al conectarse utilizando el nombre del servicio de red. La configuración típica para esta situación es la siguiente (en la máquina cliente):
Archivo sqlnet.ora:
NOMBRES.DIRECTORY_PATH = (TNSNAMES,….)
NOMBRES.DEFAULT_DOMAIN = server.com
Archivo tnsnames.ora:
prueba =
(DESCRIPCIÓN=
(DIRECCIÓN_LISTA=(DIRECCIÓN=(PROTOCOLO=TCP)(HOST=testserver)(PUERTO =1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
El mecanismo básico de la operación sql*plus:
Después de que el usuario ingresa sqlplus system/manager@test, el programa sqlplus buscará automáticamente el parámetro NAMES.DEFAULT_DOMAIN en el archivo sqlnet.ora. Si el parámetro existe, el valor del parámetro se eliminará y se agregará al final de el nombre del servicio de red, es decir, en este ejemplo, su entrada se cambia automáticamente de sqlplus system/manager@test a sqlplus system/[email protected], y luego va al archivo tnsnames.ora para buscar la prueba. Nombre del servicio de red server.com. Por supuesto, no se puede encontrar. Debido a que solo está el nombre del servicio de red de prueba en el archivo, se informa un error. La solución es comentar el parámetro NAMES.DEFAULT_DOMAIN en el archivo sqlnet.ora, como #NAMES.DEFAULT_DOMAIN = server.com. Si el parámetro NAMES.DEFAULT_DOMAIN no existe, el programa sqlplus buscará directamente el nombre del servicio de red de prueba en el archivo tnsnames.ora, luego extraerá el host, el puerto, tcp, el nombre del servicio y usará esta información para enviar la solicitud de conexión a el servidor de base de datos correcto.
Además, en principio, la configuración en tnsnames.ora no distingue entre mayúsculas y minúsculas, pero encontré una situación que distingue entre mayúsculas y minúsculas, por lo que es mejor usar el mismo servicio de red que el configurado en tnsnames.ora.
ORA-12514: TNS: el oyente no pudo resolver el NOMBRE_SERVICIO proporcionado en el descriptor de conexión.
Este error indica que el nombre del servicio de red se puede encontrar en tnsnames.ora, pero el NOMBRE_SERVICIO especificado en tnsnames.ora no es consistente con el NOMBRE_SERVICIO en el lado del servidor. La solución es modificar SERVICE_NAME en tnsnames.ora.
Introducción a términos confusos:
Db_name: un identificador único para una base de datos (base de datos Oracle), que es la base de datos Oracle. Esta representación es suficiente para una sola base de datos, pero con la popularidad de las bases de datos distribuidas compuestas de múltiples bases de datos, este método de controlar las bases de datos impone una cierta carga a la administración de las bases de datos, porque los nombres de cada base de datos pueden ser los mismos, causando problemas de administración. en. Para solucionar esta situación se introdujo el parámetro Db_domain, de modo que la identificación de la base de datos esté determinada por los dos parámetros Db_name y Db_domain, evitando la confusión de gestión provocada por nombres de bases de datos duplicados. Esto es similar a la gestión de nombres de máquinas en Internet. Conectamos los dos parámetros Db_name y Db_domain con '.' para representar una base de datos y llamamos al nombre de la base de datos Global_name, es decir, extiende Db_name. El parámetro Db_name solo puede constar de letras, números, '_', '#', '$' y puede tener hasta 8 caracteres.
Db_domain: define el dominio donde se encuentra una base de datos. El nombre de este dominio no tiene nada que ver con el "dominio" de Internet. Simplemente lo decide el administrador de la base de datos en función de la situación real para gestionar mejor la base de datos distribuida. . Por supuesto, para facilitar la gestión, puede ser igual al dominio de Internet.
Global_name: un identificador único para una base de datos (base de datos Oracle). Oracle recomienda utilizar este método para comandar la base de datos. Este valor se determina al crear la base de datos y el valor predeterminado es Db_name.Db_domain. Cualquier modificación posterior de los parámetros Db_name y Db_domain en el archivo de parámetros no afectará el valor de Global_name. Si desea modificar Global_name, solo puede usar el comando ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain> para modificarlo y luego modificar los parámetros correspondientes.
Nombre_servicio: este parámetro lo introdujo recientemente Oracle8i. Antes de 8i, usábamos SID para identificar una instancia de la base de datos, pero en el entorno paralelo de Oracle, una base de datos corresponde a múltiples instancias, lo que requiere múltiples nombres de servicios de red y es engorroso de configurar. Para facilitar la configuración en un entorno paralelo, se introdujo el parámetro Service_name, que corresponde a una base de datos en lugar de una instancia y tiene muchos otros beneficios. El valor predeterminado de este parámetro es Db_name.Db_domain, que es igual a Global_name. Una base de datos puede corresponder a múltiples nombres de servicios para lograr una configuración más flexible. Este parámetro no está directamente relacionado con el SID, es decir, el nombre del Servicio no tiene por qué ser el mismo que el SID.
Nombre del servicio de red: nombre del servicio de red, también conocido como alias de base de datos. Es necesario cuando el programa cliente accede a la base de datos, protege los detalles de cómo el cliente se conecta al servidor y logra la transparencia de la ubicación de la base de datos.
Cómo utilizar el nombre del servicio de red configurado para conectarse a la base de datos:
  utilice el programa sqlplus para realizar pruebas a través del nombre del servicio de red de prueba, como sqlplus system/manager@test. Si no puede conectarse a la base de datos, agregue el valor del parámetro DB_Domain de la base de datos Oracle después del nombre del servicio de red de prueba (servicio de red) en el archivo tnsname.ora y verifíquelo con el comando sqlplus> showparameter db_domain. El valor del parámetro db_domain aquí es testerver.com. Agréguelo al final del nombre del servicio de red. El contenido del nombre del servicio de red en el tnsname.ora modificado es: Debe cambiarse
 

a:
Cómo usar el nombre del servicio de red configurado para conectarse a la base de datos:
Utilice el programa sqlplus para realizar pruebas a través del nombre del servicio de red de prueba, como sqlplus system/manager@test. Si no puede conectarse a la base de datos, agregue el valor del parámetro NAMES.DEFAULT_DOMAIN en el archivo sqlnet.ora después del nombre del servicio de red de prueba (servicio de red) en el archivo tnsname.ora. El valor de mi parámetro aquí es testerver.com. Cambiar Agregado al final del nombre del servicio de red, el contenido del tnsname.ora modificado sobre el nombre del servicio de red es: ¿
 
Bajo qué circunstancias Oracle establecerá automáticamente el parámetro NAMES.DEFAULT_DOMAIN?
El entorno típico donde esto ocurre es que el 'sufijo dns primario' está configurado en 'Mi PC à Propiedades à Nombre de la computadora à Cambiar à Otro... à Sufijo DNS primario de esta computadora' del cliente de Windows, porque en este caso la instalación Cuando Usando el cliente, el parámetro NAMES.DEFAULT_DOMAIN se establecerá automáticamente en el archivo sqlnet.ora. Esto también puede ocurrir cuando la computadora se agrega al dominio y el cliente Oracle está instalado. Si es posible, puede intentarlo.
 
Cuando configuro el cliente Oracle, generalmente modifico manualmente el archivo tnsnames.ora, pero a muchas personas les gusta usar herramientas gráficas para la configuración. La herramienta gráfica finalmente modifica el archivo tnsnames.ora, pero a veces causa otros problemas:
Al configurar el nombre del servicio de red utilizando el software de configuración gráfica de Oracle 'net asistente' o 'Net Configuration Assistant', si se ha configurado el 'sufijo dns primario', pero no hay 'primario' en el nombre del servicio de red escrito en el sufijo dns del software de configuración gráfica', si simplemente escribe prueba, el software de configuración gráfica agregará automáticamente el 'sufijo dns primario' al final, convirtiéndolo en test.testserver.com, y se almacenará en tnsnames.ora, independientemente de su sqlnet.ora ¿Hay un parámetro NAMES.DEFAULT_DOMAIN en el archivo? En este momento, se pasa la conexión de prueba usando la herramienta gráfica, pero si no hay ningún parámetro NAMES.DEFAULT_DOMAIN en el archivo sqlnet.ora en este momento, debe usar test.testserver.com en tnsnames.ora cuando use el servicio de red. nombre En lugar de la prueba, escriba en el software de configuración gráfica. La solución es:
<1> Puede configurar NAMES.DEFAULT_DOMAIN=testerver.com en el archivo sqlnet.ora. En este momento, puede usar test o test.testserver.com para conectarse a la base de datos.
<2> No configurar NOMBRES en el archivo sqlnet.ora. Parámetro .DEFAULT_DOMAIN, elimine .testserver.com en test.testserver.com en el archivo tnsnames.ora, luego puede usar la prueba para conectarse a la base de datos.

 

Configure el oyente de Oracle 11g para conectarse de forma remota a la base de datos en Linux

Lado del servidor:
1. Agregue un oyente: ejecute en la terminal: $ORACLE_HOME/bin/netca (debe estar en un entorno de interfaz gráfica) y siga las instrucciones para agregar un oyente.

2. Agregue los servicios admitidos por el oyente: Ejecute en la terminal: $ORACLE_HOME/bin/netmgr (en la interfaz gráfica), en: Oracle Net Configuration -> Local -> Listeners -> xxxx (el oyente que acaba de agregar), seleccione servicios de "Base de datos", agregue la base de datos que desea servir. Entre ellos, tenga en cuenta que el Nombre de la base de datos global es el nombre de su servicio externo. Luego guarde y salga.

3. Reinicie su oyente: Ejecución de terminal:
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/lsnrctl start

El mensaje final:
El servicio "XXXX" tiene 1 instancia(s).
El comando se completó exitosamente.


Bien, hasta ahora en el servidor lado La configuración del oyente está completa.

Cliente:
1. Configure una "Configuración de nombre de servicio local": ejecución de terminal: $ORACLE_HOME/bin/netca , seleccione:Configuración del nombre del servicio local , siga las indicaciones. Entre ellos, el nombre del servicio se escribe con el "Nombre de la base de datos global" agregado durante la configuración del lado del servidor; el nombre del host se escribe como la IP del servidor (si está en la LAN, también se puede usar el nombre del servidor); finalmente, proporcione el servicio local un nombre (por ejemplo, llamado :LSN). Luego guarde y salga.

2. Conéctese a la base de datos en el servidor a través de sqlplus:
Formato: nombre de usuario/contraseña de sqlplus@nombre del servicio local

 

Supongo que te gusta

Origin blog.csdn.net/QWERT520/article/details/5183108
Recomendado
Clasificación