Hogar / SO móvil / Cree una base de datos Oracle manualmente. Usando DBCA para crear una base de datos Creando una base de datos en Oracle

Cree una base de datos Oracle manualmente. Usando DBCA para crear una base de datos Creando una base de datos en Oracle

Creación de bases datos oracle 12c utilizando el Asistente de configuración de base de datos

1. Corre. Presiona el botón de Windows en tu teclado, serás llevado a la pantalla de inicio ( comienzo pantalla), en la parte inferior de la pantalla hay un botón para llamar a la pantalla de aplicaciones ( aplicaciones pantalla). Pinchalo.

2. En pantalla aplicaciones seleccionar icono Asistente de configuración de base de datos.

3. Ventana Asistente de configuración de base de datos - Operación de base de datos. Seleccione Crear una base de datos. Hacer clic próximo.

4. Ventana Asistente de configuración de base de datos—Modo de creación. Seleccione modo avanzado. Hacer clic próximo.

5. Ventana Asistente de configuración de base de datos - Plantilla de base de datos. Seleccione Base de datos personalizada. Hacer clic próximo.

6. Ventana Asistente de configuración de la base de datos - Identificación de la base de datos. Especifique un nombre base. en campo Nombre de base de datos global Introduzca su nombre base de datos. El nombre puede ser arbitrario, no más de seis caracteres, comenzar con una letra y no contener caracteres especiales, guiones bajos y espacios, por ejemplo. prueba o rp34. en campo S.I.D. ingrese un ID de base de datos único. Hágalo igual que el nombre de la base de datos. Hacer clic próximo.

7. Ventana Asistente de configuración de bases de datos—Opciones de administración. Revisa la caja Configurar la base de datos Express de Enterprise Manager (EM). en campo Base de datos EM ExpressPort ingrese el número de puerto (el número de puerto predeterminado es 5500; déjelo). Hacer clic próximo.

8. Ventana Asistente de configuración de base de datos - Credencial de base de datos. Establezca contraseñas para los usuarios del sistema (en este ejemplo, se establece la misma contraseña para todos los usuarios del sistema, no es necesario hacerlo en una base de datos industrial). Controlar Utilice la misma contraseña administrativa para todos cuentas, introducir la contraseña. Introduzca la contraseña para Contraseña de usuario local de Oracle– el propietario de Oracle Home, en nombre del cual se lanzan los servicios de Oracle (este usuario que usted crea o especifica cuando instalando oracle-). Hacer clic próximo.

9. Ventana Asistente de configuración de base de datos—Configuración de red. Seleccione un proceso de escucha o cree uno nuevo. Hacer clic próximo.

10. Ventana Asistente de configuración de base de datos - Ubicaciones de almacenamiento. Especifique el mecanismo de almacenamiento para los archivos de la base de datos (en este ejemplo, se especifica el sistema de archivos). Seleccione ExpedienteSistema. Especifique la ubicación de los archivos base (en este ejemplo, se utilizarán las rutas predeterminadas). Controlar usarbase de datosExpedienteUbicacionesdeModelo.

Especifique las opciones de recuperación de la base de datos (en este ejemplo, no se utilizan las opciones de recuperación). Revisa la caja EspecificarRápidoRecuperaciónárea. Esta es la carpeta predeterminada donde se realiza la copia de seguridad de RMAN y se almacenan las copias archivadas de los archivos de registro de rehacer. De forma predeterminada, la carpeta se encuentra en (ORACLE_BASE)\fast_recovery_area. en campo RápidoRecuperaciónárea puede cambiar esta ruta y establecer explícitamente la carpeta para Copia de reserva. en parámetro RápidoRecuperaciónárea Talla se establece un límite en el tamaño de esta carpeta (es mejor que sea igual al volumen de todo el disco duro). Parámetro habilitararchivar activa el modo para archivar archivos de registro. Si presionas el botón EditarArchivomodoParámetros luego puede cambiar la plantilla para los nombres de los archivos de rehacer, así como rutas adicionales para multiplexar copias archivadas. Deja todo por defecto.

ATENCIÓN: Para la base industrial, es necesario habilitar el modo de archivo de archivos de registro. Sin embargo, cuando se alcanza el límite de la carpeta del Área de recuperación rápida (es decir, cuando está llena), la base de datos se detendrá y esperará a que haya espacio libre. Por lo tanto, si no puede controlar el llenado de esta carpeta, NO active el modo de archivado de archivos de registro, es decir, no marque la casilla habilitararchivar.

Hacer clic próximo.

11. Ventana Asistente de configuración de la base de datos - Opciones de la base de datos. Seleccione los componentes básicos necesarios. Hacer clic próximo.

12. Ventana. Marcador Memoria. Configure el método de asignación y el tamaño de la memoria. Seleccione Típico. en campo Porcentaje establecer la cantidad memoria física, que se asignará a Oracle. Usualmente esto 70-80% . Si se están ejecutando otros procesos que consumen muchos recursos en el servidor además de Oracle, elija un número menor que 70% .

13. Haga clic en el botón ... Ventana Todos los parámetros de inicialización. Corrija los valores (campo valor) los siguientes parámetros:

Parámetros requeridos (¡requeridos para cambiar!).

; Para un gran número de usuarios activos (más de 70-80).

; Contar USUARIOS REALES,

; no la cantidad de computadoras en la red.

; Si hay menos de 70-80 usuarios, no toque estos parámetros.

; Si hay más de 100-200 usuarios, quizás de manera más eficiente

; utilice el modo de servidor compartido.

procesos = número de usuarios*2

sesiones = 1.1*procesos +5

Hacer clic cerca. Ventana Asistente de configuración de base de datos - Parámetros de inicialización.

14. Ventana Asistente de configuración de base de datos - Parámetros de inicialización. Marcador Dimensionamiento. Seleccione el tamaño del bloque de la base de datos. El tamaño del bloque de la base de datos debe ser al menos 8Kb. Si el servidor tiene un buen subsistema de disco ( SCSI discos o REDADA) poder elegir 16Kb y superior (tamaño de bloque superior a 8Kb solo tiene sentido para bases grandes). en campo tamaño de bloque introduzca el valor deseado ( 8192 o 16384 ).

15. Ventana Asistente de configuración de base de datos - Parámetros de inicialización. Marcador personajeConjuntos. Seleccione la codificación para la base de datos. La codificación debe ser CL8MSWIN1251. Seleccionado por defecto usar el valor predeterminado. Si se especifica la codificación correcta, entonces no es necesario cambiar nada. Si la codificación especificada no es correcta. En este caso, elija Elija de la lista de juegos de caracteres y seleccione la codificación correcta de la lista CL8MSWIN1251. en campo Defectoidioma seleccione el valor de la lista desplegable ruso» y en el siguiente campo Territorio predeterminado- sentido " Rusia».

14. Ventana Asistente de configuración de base de datos - Parámetros de inicialización. Marcador modo de conexión. Seleccione Modo de servidor dedicado. Hacer clic próximo.

15. Ventana Asistente de configuración de base de datos - Opción de creación. Seleccione Crear base de datos. Hacer clic próximo.

16. Ventana Asistente de configuración de base de datos—Resumen. Compruebe si la configuración es correcta. Hacer clic OK.

17. Ventana Asistente de configuración de base de datos - Página de progreso. El proceso de creación de la base de datos está en curso. Espere a que finalice.

18. Ventana Asistente de configuración de base de datos. Creación de base de datos completada. Tome nota de la dirección web del control de la base de datos. Hacer clic cerca.

19. La base de datos se ha creado y ya se está ejecutando. Para conectarse a una base de datos desde otros ORACLE_HOME, debe configurar un entorno de red de Oracle para ellos.

20. Después de crear la base de datos, puede cambiar algunas configuraciones para la base de datos. Para hacer esto, debe ejecutar algunos comandos sql en sqlplus (o TOAD) en SYS y reiniciar la base de datos.

Ejecute sqlplus /nolog.

C:\> sqlplus/nolog

conectarse a la base de datos como usuario sys como sysdba

SQL> conectar sys/sys como sysdba

deshabilitar el uso de la papelera de reciclaje en la base de datos

SQL> alterar sistema set recyclebin=off scope=spfile;

deshabilitar la sensibilidad a mayúsculas y minúsculas de la contraseña

SQL> alterar el conjunto del sistema sec_case_Sensible_logon=FALSE scope=both;

solucione el problema con ORA-29471: DBMS_SQL acceso denegado

SQL> modificar el conjunto del sistema "_dbms_sql_security_level"=384 scope=spfile;

(opcional) para no cambiar la contraseña de los usuarios cada 60 días

en lugar de ilimitado, puede poner número = número de días

SQL> alterar perfil límite PREDETERMINADO password_life_time ilimitado;

reinicio de base de datos

SQL> apagado inmediato

SQL> puesta en marcha

21. Las versiones anteriores de los clientes 8, 9, 10, 11 no pueden conectarse a Oracle 12c con errores:

ORA-28040: Sin protocolo de autenticación coincidente - para formularios 6i

ORA-01031: privilegios insuficientes - para cliente 11g

Para resolver el problema, debe agregar a sqlnet.ora en el servidor

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

22. Algunos clientes de Oracle 10 y 11 fallan con ORA-01031: privilegios insuficientes al intentar ejecutar

SELECCIONA tu NOMBRE
DESDE sist. USUARIO$u
Donde tu. TIPO# = 1
ORDEN POR 1

A partir de 12c, el privilegio SELECCIONAR CUALQUIER DICCIONARIO ya no permite el acceso a las tablas de diccionario de datos sensibles a la seguridad DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$ y XS$VERIFIERS. Este cambio aumenta la seguridad predeterminada de la base de datos al no permitir el acceso a un subconjunto de tablas de diccionario de datos a través del privilegio SELECCIONAR CUALQUIER DICCIONARIO.

Maniobra de desvío:

OTORGAR SELECCIONAR EN sys. USUARIO$ AL PÚBLICO;

La creación manual de una base de datos Oracle implica varios pasos. Algunos de ellos dependen de sistema operativo. Por ejemplo, en un entorno de Windows, antes de crear una base de datos, primero debe ejecutar el programa Oracle utilizado para crear el servicio de base de datos. Pasos para crear una base de datos manualmente:

  1. Escriba un script de creación de base de datos. En el paso 6 se proporciona un ejemplo de tal escenario.
  2. Cree una estructura de directorios que alojará la nueva base de datos. Siga las instrucciones para crear la arquitectura flexible óptima.
  3. Modifique el archivo init.ora de muestra existente mantenido por Oracle para reflejar la configuración de la nueva base de datos.
  4. Describa el nombre SID para Oracle. En la plataforma Windows, en el indicador del sistema operativo, ingrese: set ORACLE_SID = mydb

    En UNIX, ingrese:

    Exportar ORACLE_SID = mydb

  1. Establezca una conexión de base de datos a través de SQL* Plus como SISTEMA / ADMINISTRADOR como sysdba o como / como sysdba e ingrese el siguiente comando para iniciar la base de datos en modo nomount: startup nomount pfile= D:/oracleadmin/mydbscripts/initMYDB.ora; Sustituya sus parámetros de inicialización en lugar de los valores de parámetros de pfile dados aquí.
  2. Después de iniciar la base de datos, use el script que escribió para crear la base de datos Oracle. Aquí hay un ejemplo: crear base de datos MYNEW maxinstances 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 5 maxdatafiles 100 archivo de datos d:/oracle/oradata/mydb/system01.dbf tamaño 325M reutilizar autoextender en el siguiente 10240K tamaño máximo conjunto de caracteres ilimitado WE8MSWIN1252 conjunto de caracteres nacional AL16UTF16 Grupo de archivo de registro 1 (d :/oracle/oradata/mydb/edo01.log) tamaño 100M, grupo 2 (d:/oracle/oradata/mydb/edo02.log) tamaño 100M, grupo 3 (d:/oracle/oradata/mydb/edo03. log) tamaño 100M espacio de tablas temporal predeterminado TEMP tempfile d:/oracle/oradata/mydbemp01.dbf administración de extensiones tamaño uniforme local 1M deshacer espacio de tablas UND0_TS archivo de datos d:/oracle/oradata/mydb/emp0.dbf tamaño 150M reutilizar autextend en el siguiente 10240K tamaño máximo ilimitado ;
  • Después de crear la base de datos, ejecute las secuencias de comandos catalog.sql, catproc.sql, catexp.sql y cualquier nueva secuencia de comandos necesaria para admitir los productos que ha instalado. En un sistema UNIX, los scripts se encuentran en el directorio $ORACLE_HOME\rdbms\admin y en un entorno Windows, en $ORACLE_HOME/rdbms/admin. Revise los scripts antes de ejecutarlos, ya que muchos scripts de catálogo llaman a otros scripts.
  • Para mayor seguridad, ingrese al menos algunas otras contraseñas para SYS y SYSTEM, en lugar de dejar las contraseñas predeterminadas de MANAGER y CHANGE_ON_INSTALL. El script de ejemplo del paso 6 crea un tablespace UNDO. Las opciones de inicialización son: undo_management=AUTO undo_tablespce=UNDOTBS La única opción que no puede cambiar después de crear la base de datos es el tamaño del bloque de la base de datos, que describió en el archivo init.ora antes de crearla. El parámetro DB_BLOCK_SIZE se utiliza para establecer este valor. Por ejemplo, la siguiente línea establece el tamaño de bloque de base de datos predeterminado en 8 KB. DB_BL0CK_SIZE=8k Para ver los parámetros vigentes en su base de datos, solicite una búsqueda dinámica de V$PARAMETER: seleccione Name, Value, IsDefault from V$PARAMETER;

Laboratorio #1

Base de datos Oracle Database 11g Express Edition. Diseño de consultas SQL

Objetivo

Estudiar la interfaz de usuario (DB) de Oracle Database 11g Express Edition y construir consultas SQL.

Tareas

Creación de una conexión de base de datos a Oracle Database 11g Express Edition. Exploración de objetos de esquema de recursos humanos y compilación de un modelo de datos. Diseño de consultas SQL para seleccionar datos en los modos Editor de consultas y Generador de consultas.


parte teórica

3.1. Información general sobre base de datos

Oracle Database 11g Express Edition (Oracle Database XE) es una versión gratuita (gratis) de la base de datos relacional más poderosa del mundo. Es ideal para instalar en Instituciones educacionales con el propósito de enseñar a los estudiantes métodos modernos trabajar con bases de datos relacionales de Oracle y desarrollar aplicaciones para mostrar datos de usuario y manipular datos.

Oracle Database XE es fácil de instalar y administrar. Puede descargar archivos de instalación para varias plataformas en el sitio web oficial de Oracle http://www. /technetwork/database/database-technologies/express-edition/downloads/index. html

Oracle Database XE se puede instalar en una computadora (máquina host) con cualquier cantidad de procesadores (una base de datos por computadora), pero Oracle Database XE solo almacenará hasta 11 GB de datos de usuario, usará hasta 1 GB de memoria y usará solo un procesador por host -car.

Oracle Database 11g Express Edition es una base de datos relacional que almacena y recupera colecciones de información relacionada. En una base de datos relacional, los objetos de almacenamiento de información se organizan en estructuras denominadas tablas. Cada tabla contiene filas (registros) que se componen de columnas (campos). Las tablas se almacenan en la base de datos en estructuras llamadas esquemas. Los esquemas son estructuras de datos lógicas en las que los usuarios de la base de datos almacenan sus tablas y otros objetos.


Se accede a Oracle Database XE mediante la página de inicio de la base de datos, que tiene una interfaz gráfica intuitiva. El acceso a la página de inicio está organizado en base a un servicio web. La página de inicio proporciona al usuario herramientas web para la administración de bases de datos, creación de tablas, vistas y otros objetos de esquema, importación, exportación, visualización y edición de datos de tablas. Estas herramientas le permiten ejecutar consultas SQL y scripts SQL, crear y depurar programas PL/SQL, desarrollar aplicaciones de bases de datos y generar informes.

Oracle Database XE contiene un esquema de recursos humanos (recursos humanos) integrado, que es un ejemplo de un esquema de tabla vinculada. El esquema de recursos humanos tiene tablas para almacenar información ficticia sobre empleados y departamentos. Las tablas contienen columnas comunes que permiten relacionar los datos de una tabla con los datos de otras tablas. El esquema HR es propiedad de un usuario llamado HR.

3.2. Acceso a la base de datos Oracle XE

Los usuarios acceden a Oracle Database 11g Express Edition a través de cuenta usuario de la base de datos. Al instalar la base de datos, las cuentas de usuario SYS y SYSTEM se crean automáticamente; estos son usuarios con privilegios de administración de la base de datos. También se crea automáticamente una cuenta de usuario de recursos humanos que no tiene privilegios administrativos.

Sin embargo, por razones de seguridad, la cuenta de usuario de recursos humanos ha sido bloqueada. Debe desbloquear esta cuenta antes de poder empezar a trabajar con objetos de esquema de recursos humanos. Puede usar la línea de comando SQL*Plus para hacer esto.


Para desbloquear una cuenta de usuario usando línea de comando SQL*Plus, necesita:

Botón Inicio -> Todos los programas -> Oracle Database 11g Express Edition -> Ejecutar línea de comando SQL. Conéctese como usuario del SISTEMA:

    Escriba conectar Ingrese un nombre para conectarse: SISTEMA Ingrese una contraseña:<пароль-для-SYSTEM >
Después de una conexión exitosa (mensaje conectado), ingrese la siguiente declaración SQL:

SQL> ALTERAR EL DESBLOQUEO DE LA CUENTA DE HR DEL USUARIO;

Ingrese la contraseña para el usuario HR usando la siguiente instrucción SQL:

SQL> ALTERAR USUARIO HR IDENTIFICADO POR HR;

Para salir del editor, ingrese la declaración SQL:

La ventana del editor de línea de comandos de SQL*Plus se muestra en la Figura 1. 1.1.

Arroz. 1.1. Ventana del editor de línea de comandos de SQL*Plus

La conexión a una base de datos Oracle Database XE se realiza a través de la página de inicio, una interfaz web basada en navegador para realizar varias operaciones de administración de bases de datos, incluidas las siguientes:

    Monitoreo de la base de almacenamiento (Storage); Monitoreo de sesiones de base de datos (Sessions); Ver los parámetros de inicialización de la base de datos (Parámetros); Primeros pasos con Oracle Application Express (Aplicación Express).

Acceso a la página de inicio: botón Inicio -> Todos los programas -> Oracle Database 11g Express Edition -> Comenzar.

La página de inicio de Oracle Database XE aparece en la ventana del navegador web (Figura 1.2).

Arroz. 1.2. Página de inicio de Oracle Database XE

Haga clic en el botón Aplicación Express. Cuando se le solicite la información de inicio de sesión, ingrese: nombre de usuario - SISTEMA, contraseña -<пароль-для-SYSTEM >, como en el editor de línea de comandos de SQL*Plus. Haga clic en el botón Iniciar sesión (Fig. 1.3).


Arroz. 1.3. Conexión de un usuario con la función de administrador de la base de datos a Oracle Database XE

El siguiente paso es crear un espacio de trabajo de Oracle Application Express para el usuario de recursos humanos. Este espacio de trabajo contendrá todas las aplicaciones de base de datos con las que el usuario de recursos humanos puede trabajar. El formulario de creación del espacio de trabajo se muestra en la fig. 1.4.

Arroz. 1.4. Creación de un espacio de trabajo de Oracle Application Express

Application Express Username es el nombre del espacio de trabajo. Puede usar un nombre de usuario (HR) o cualquier otro (por ejemplo, hr_apex). Confirme la contraseña. Haga clic en Crear espacio de trabajo. En la página siguiente, haga clic en Haga clic aquí para ingresar al espacio de trabajo. La primera vez que intente acceder al espacio de trabajo, se le pedirá que restablezca la contraseña del espacio de trabajo (puede usar la misma contraseña o una diferente).

La creación de un espacio de trabajo de Oracle Application Express solo debe realizarse una vez. Para las próximas conexiones a la base de datos, utilice la opción ¿Ya tiene una cuenta? Entre aquí. Para ingresar al espacio de trabajo, se mostrará un formulario para Oracle Application Express, fig. 1.5.

Para saltarse los pasos de autorización del usuario del SISTEMA y pasar al formulario fig. 1.5, copie y guarde la URL de este formulario (por ejemplo, http://127.0.0.1:8080/apex/f?p=4550:1:494885012264286) y utilícelo en un navegador web para comenzar a trabajar directamente con la autorización forma.


Después de iniciar sesión en el espacio de trabajo de Oracle Application Express, se abre la página de inicio, en la que se encuentran los controles principales: Application Builder, SQL Workshop, Team Development, Administration icons (Fig. 1.6).

Figura 1.6. Iconos de control de la página de inicio de Oracle Application Express Workspace

Al hacer clic en la imagen del icono, se produce una transición a una nueva página con iconos de operaciones permitidas. Al hacer clic en el icono del Taller de SQL, puede acceder a las herramientas para explorar los objetos de la base de datos (Explorador de objetos, Utilidades) y trabajar con ellos. Consultas SQL Comandos, Scripts SQL, Generador de Consultas (Fig. 1.7).

Arroz. 1.7. Herramientas para explorar objetos de base de datos y trabajar con consultas SQL

3.3. Acceso a datos con SQL

SQL es un lenguaje no procedimental para el acceso a bases de datos. Las declaraciones SQL están diseñadas para realizar varias tareas, como recuperar datos de tablas en Oracle Database XE. Todas las operaciones de la base de datos se realizan mediante sentencias SQL. Puede realizar las siguientes operaciones utilizando sentencias SQL:

    consultar, insertar y actualizar datos en tablas; dar formato a datos, realizar cálculos basados ​​en datos, almacenar e imprimir resultados de consultas; estudiando la estructura de las tablas y definiendo los objetos de la base de datos.

Creación de consultas de obtención de datos

Sintaxis de la declaración SELECT para seleccionar todos los registros de la tabla


Puede especificar un alias después del nombre de la columna en la lista de selección, usando un espacio como delimitador. Si el alias contiene espacios o caracteres especiales, como el signo de número # o el signo de dólar $, o si distingue entre mayúsculas y minúsculas, escriba el alias entre comillas "". Ejemplo:

SELECCIONE employee_id "Número de identificación del empleado",

last_name "Apellido del empleado",

first_name "Nombre del empleado"

Límite de muestreo de fila

Puede limitar el número de filas que se recuperan de la base de datos utilizando la cláusula WHERE en la instrucción SQL. Al agregar una cláusula WHERE, puede especificar una condición que debe cumplirse y solo se devolverán las filas que coincidan con la condición.

Al usar la cláusula WHERE:

    la cláusula WHERE sigue inmediatamente a la cláusula FROM en la sintaxis de la instrucción SQL; la cláusula WHERE consta de la palabra clave WHERE y una condición (o varias condiciones); la condición de la cláusula WHERE especifica una comparación de valores que limita el número de filas devueltas por la consulta.

fusionando tablas

A veces se hace necesario mostrar datos de varias tablas. Para hacer esto, la cláusula FROM de la instrucción SELECT especifica una lista de nombres de tablas de los que recuperar datos. Si la información proviene de más de una tabla, las tablas se fusionan.


Por ejemplo, en la tabla EMPLOYEES, la columna DEPARTMENT_ID representa el número de departamento del empleado. La tabla DEPARTAMENTOS tiene una columna DEPARTMENT_ID así como una columna DEPARTMENT_NAME. Puede combinar datos de las tablas EMPLOYEES y DEPARTMENTS utilizando la columna DEPARTMENT_ID y generar un informe que mostrará los nombres de los empleados y los nombres de los departamentos.

Uniones de tablas internas

Una combinación interna une columnas de tablas relacionadas en función de un campo común o una combinación de campos comunes. Con esta combinación, el conjunto de resultados no incluye filas de ninguna de las tablas que no tengan una coincidencia en otra tabla. En las uniones internas, la condición de unión debe observarse estrictamente.

unión natural

Una combinación natural le permite mostrar datos de dos tablas cuando un valor en una columna de una tabla coincide directamente con un valor en otra columna de la segunda tabla. Si dos tablas incluyen una o más columnas que tienen los mismos nombres y tipos de datos, una combinación natural devuelve todas las filas de las dos tablas que tienen los mismos valores en todas las columnas coincidentes. A menudo, este tipo de combinación incluye una clave principal y columnas de clave externa.

Sintaxis

Ejemplo:

SELECCIONE id_empleado, apellido, nombre, id_departamento,

nombre_departamento, id_gerente

DE empleados NATURAL ÚNETE departamentos

Unir dos tablas con la sentencia USING

La instrucción USING le permite especificar las columnas que se utilizarán para unir dos tablas. Los nombres de columna deben ser los mismos para ambas tablas y deben ser de tipos de datos compatibles. Utilice la declaración USING si sus tablas contienen más de una columna cuyos nombres coinciden y necesita definir claramente el nombre de la columna en la que desea unir las tablas.


Sintaxis


Unir tablas con identificación de columna. Declaración ON

La sentencia ON se utiliza para especificar una condición de combinación para dos tablas o una condición de autocombinación para una tabla. La declaración ON le permite escribir una condición de combinación para diferentes nombres de columna, pero los tipos de datos de esas columnas deben coincidir.

Sintaxis

DE empleados ÚNETE job_history

Aplicación de condiciones de unión adicionales

A menudo es necesario combinar datos de dos tablas para que se cumplan algunas condiciones adicionales. Por ejemplo, supongamos que desea mostrar el resultado de unir las tablas EMPLEADOS y DEPARTAMENTOS solo para el empleado cuyo ID es 149. Para agregar más condiciones al operador ON, puede agregar un operador AND. También puede usar la cláusula WHERE para aplicar condiciones adicionales para preseleccionar las filas de la tabla.

Usando el operador AND

y mi. gerente_id = 149

Usando la cláusula WHERE

SELECCIONE e. empleado_id e. apellido e. departamento_id,


d. departamento_id, d. ubicación_id

DE empleados e ÚNETE a departamentos d

ON (e.department_id = d.department_id)

DONDE e. gerente_id = 149

Alias ​​de tabla

Los ejemplos muestran cómo se utilizan los alias para identificar nombres de tablas. En la cláusula FROM, la abreviatura aparece después del nombre de la tabla. Este nombre abreviado se denomina alias. Una vez que se ha creado un alias en la cláusula FROM, se puede usar en cualquier parte de la cláusula SELECT.

Unirse a varias tablas

La unión de varias tablas se usa cuando la información necesaria se distribuye en más de dos tablas. Un ejemplo sería una combinación de tres vías: unir tres tablas. Supongamos que es necesario encontrar empleados, sus subordinados y los nombres de los departamentos de los empleados. Para ello es necesario acceder a tres tablas: - EMPLEADOS, DEPENDIENTES y DEPARTAMENTOS. Es posible unir tantas tablas como sea necesario para obtener información coherente.

Sintaxis

La cláusula FROM debe especificar las tablas que se unirán.

Ejemplo

SELECCIONE e. apellido, d. nombre, w. Nombre de Departamento
DE empleados e

UNIRSE dependientes d

ENCENDIDO id_relativo = e. ID de empleado

ÚNETE departamentos w

ENCENDIDO w. departamento_id = e. departamento_id

Mesas de unión automática

La declaración ON también se puede usar para unir columnas que tienen nombres diferentes (en la misma tabla o en otra tabla). Si se encuentran en la misma tabla columnas con diferentes nombres que se unirán, las tablas se unirán automáticamente. Por ejemplo, puede unirse a la tabla EMPLOYEES en función de las columnas EMPLOYEE_ID y MANAGER_ID.

Uniones exteriores de tablas

Una combinación externa también combina las filas de las tablas relacionadas en función de un campo común o una combinación de campos comunes. Sin embargo, el conjunto de resultados incluye filas de una de las tablas incluso si no tienen una coincidencia en otra tabla. Con las uniones externas, la condición de unión no se cumple estrictamente. Una de las tablas es obligatoria: el conjunto de resultados contendrá todas sus filas.

Sintaxis

LEFT es una combinación externa izquierda. Especifica que table1 es una tabla obligatoria (el conjunto de resultados contendrá todas sus filas) y table2 es opcional. Para aquellas filas en la tabla 1 que no coinciden en la tabla 2, se devuelve NULL.

RIGHT es una combinación externa derecha. Obligatorio tabla tabla2, tabla1 opcional.

FULL es una unión externa completa. Es una unión externa bidireccional. El conjunto resultante incluye:

    todas las filas de tablas internas se unen; filas en la tabla 1 que no coinciden en la tabla 2; filas en la tabla 2 que no coinciden en la tabla 1.

OUTER es una palabra clave opcional. Indica que hay una combinación externa en curso.

SELECCIONE empleados.*, job_history.*

FROM empleados LEFT JOIN job_history
EN empleados. fecha_contratación = historial_trabajo. fecha de inicio


operaciones de grupo

Las operaciones de grupo procesan varias filas y devuelven un resultado generalizado. De hecho, le permiten combinar de una forma u otra elementos similares de información devueltos por la base de datos. Para realizar operaciones de grupo, Oracle proporciona funciones genéricas e instrucciones de agrupación (GROUP BY, HAVING y otras).

La sintaxis de la mayoría de las funciones genéricas es:

función_genérica(expresión)

Generalizing_function: especifica el nombre de la función de generalización: COUNT (recuento), AVG (valor promedio), MAX (valor máximo), MIN (valor mínimo), STDDEV (desviación estándar estándar), SUM (suma), VARIANCE (estadística).

DISTINTO: indica que la función de generalización debe considerar solo valores no repetidos de la expresión.

TODO: indica que la función de generalización debe tener en cuenta todos los valores de la expresión, incluidos los duplicados. El valor predeterminado es usar TODO.

Expresión: especifica la columna o cualquier otra expresión sobre la que resumir.

Los valores NULL para expresión por funciones genéricas se ignoran y no se incluyen en el resultado.

Seleccione MAX (salario) de Empleados: encuentre el valor máximo para la columna de salario en toda la tabla EMPLEADOS.

Select count(*) from Regions: calcula el número de registros en la tabla REGIONS.

GRUPO POR instrucción

Usado junto con funciones de resumen, divide el conjunto de resultados en varios grupos y luego devuelve una línea de información de resumen para cada grupo. Si hay una combinación de genéricos y no genéricos en la lista SELECT, SQL considera que se realiza una operación Group by, por lo que las expresiones no genéricas también deben especificarse en la cláusula Group by. Si esto no se hace, Oracle emitirá un mensaje de error.


No está permitido usar una función de grupo (generalizar) en una cláusula GROUP BY.

Al agrupar por una columna que contiene valores NULL en algunas filas, todas las filas con valores NULL se colocan en un grupo y se presentan en la salida como una fila de resumen.

Para obtener resultados resumidos usando la cláusula GROUP BY, es posible filtrar los registros de la tabla usando la cláusula WHERE. Al ejecutar una instrucción SQL que contiene cláusulas WHERE y GROUP BY, Oracle primero aplica la cláusula WHERE y elimina las filas que no cumplen con la cláusula WHERE. Las filas que cumplen la cláusula WHERE se agrupan de acuerdo con la cláusula GROUP BY. La sintaxis SQL requiere que la cláusula WHERE preceda a la cláusula GROUP BY.

Tener instrucción

Se utiliza para aplicar un filtro a los grupos creados por la cláusula GROUP BY. Si la consulta contiene GROUP BY y HAVING, el conjunto de resultados contendrá solo aquellos grupos que cumplan la condición especificada en la instrucción HAVING. La sintaxis de la cláusula HAVING es similar a la sintaxis de la cláusula WHERE. Pero hay una limitación para la instrucción HAVING. Esta condición (especificada en la cláusula HAVING) solo se puede aplicar a expresiones de lista SELECT o la cláusula GROUP BY. Si HAVING contiene algo que no está en SELECT o GROUP BY, se emitirá un mensaje de error.

El orden de las sentencias GROUP BY y HAVING en la sentencia SELECT no importa.

Puede usar las declaraciones WHERE y HAVING en la misma consulta. Es importante entender cómo una instrucción afecta a otra. La cláusula WHERE se ejecuta primero y las filas que satisfacen la cláusula WHERE se pasan a la cláusula GROUP BY. La cláusula GROUP BY colapsa los datos filtrados en grupos y luego la cláusula HAVING se aplica a los grupos para eliminar los grupos que no cumplen con la cláusula HAVING.


Sintaxis para consultas con funciones de generalización y agrupación

3.4. Herramientas para crear y ejecutar consultas SQL

En Oracle Database XE, puede escribir y ejecutar sentencias SQL utilizando herramienta SQL Commands (editor de consultas SQL), o puede usar la herramienta Query Builder (diseñador de consultas) para crear consultas con una interfaz gráfica (Fig. 1.7).

Iniciar el Editor de consultas SQL: Haga clic en el icono Comandos SQL.

Ingresar y ejecutar una consulta SQL: en la página de Comandos SQL, escriba los textos de la consulta -> seleccione la consulta que necesita ejecutar -> haga clic en el botón Ejecutar. El resultado de la ejecución de la consulta se encuentra en la parte inferior de la ventana (Fig. 1.8).

Arroz. 1.8. Ingresar y ejecutar consultas SQL en la página de Comandos SQL

Oracle Database XE tiene una práctica herramienta gráfica para crear consultas SQL: Query Builder. Inicio del Generador de consultas: Al hacer clic en el ícono del Generador de consultas (Fig. 1.7) o en el mismo elemento en la lista desplegable del Taller de SQL -> se abre una página del navegador con el formulario del Generador de consultas. En el panel izquierdo hay una lista de mesas disponibles. Haga clic en el nombre de la tabla -> el formulario de tabla con la lista de columnas disponibles se coloca en el panel superior derecho. En el formulario de la tabla, marque aquellas columnas para las cuales se deben incluir datos en el conjunto resultante (Fig. 1.9).


Arroz. 1.9. Creación de consultas SQL en la página Query Builder

Las pestañas en el panel inferior derecho son:

Condiciones: condiciones impuestas a las columnas de la tabla. Le permite establecer alias de columna, ingresar las condiciones para seleccionar filas de acuerdo con los datos de la columna, determinar el tipo y el orden de clasificación, la visibilidad del resultado, la función aplicada a la columna, la necesidad de agrupación.

SQL: el texto de la consulta SQL generada.

Resultados: el resultado de ejecutar la consulta SQL. Para obtenerlo, haga clic en el botón Ejecutar.

SQL guardado: consultas SQL guardadas. Para guardar la consulta, haga clic en el botón Guardar.

El generador de consultas le permite unir tablas visualmente. Para fusionar dos tablas, debe: seleccionar dos tablas -> marcar columnas para el resultado en sus formularios -> colocar el cursor sobre la columna vinculada de la tabla secundaria (PAÍSES) -> presionar el botón derecho del mouse y arrastrar la imagen del enlace a la columna vinculada de la tabla principal (REGIONES)) (Fig. 1.10).

Arroz. 1.10. Diseño de consultas SQL para unir tablas

Si pasa el cursor sobre la imagen del enlace, aparece una información sobre herramientas con la condición del enlace. Al hacer clic en un enlace, aparece un menú emergente: eliminar enlace, establecer combinación externa izquierda o derecha. De forma predeterminada, una relación define una combinación interna de tablas.

3.5. Información sobre los objetos de la base de datos

Oracle almacena toda la información sobre los objetos de la base de datos en diccionario especial datos (diccionario de datos). El diccionario contiene descripciones de cómo se organizan los datos reales. Un diccionario se compone de tablas y vistas que se pueden consultar como cualquier otra tabla y vista en la base de datos. Estas vistas son propiedad de un usuario de Oracle llamado SYS. Las vistas de tipo user_* contienen información sobre los objetos que es el usuario actual. Puede utilizar las siguientes vistas para obtener información sobre los objetos de usuario:

    User_tables: tablas relacionales propiedad del usuario actual; User_views - vistas propiedad del usuario actual; User_tab_comments: comentarios para las tablas que pertenecen al usuario actual; User_tab_columns: columnas de todas las tablas propiedad del usuario actual; User_col_comments: comentarios para columnas de tablas y vistas propiedad del usuario actual; User_indexes - índices de tablas del usuario actual; User_cons_columns: columnas en las restricciones del usuario actual; User_constraints: restricciones en las tablas del usuario actual; User_triggers: activadores de base de datos propiedad del usuario actual.

Oracle Database XE tiene herramientas para explorar y generar informes sobre los objetos de la base de datos.

Acceso a la herramienta de exploración de objetos de la base de datos: el icono del Explorador de objetos (Fig. 1.7) o el elemento correspondiente en la lista desplegable del Taller SQL. De forma predeterminada, se produce la transición a la lista de tablas (se puede seleccionar otro tipo de objetos de base de datos para la investigación de la lista desplegable). Luego, después de seleccionar un objeto específico, se muestran sus propiedades. La vista de la página para mostrar las propiedades de la tabla DEPARTAMENTOS (pestaña Tabla: muestra la lista de columnas y sus propiedades) se muestra en la fig. 1.11.

Arroz. 1.11. Pantalla de propiedades de la tabla: lista de columnas

Si va a la pestaña Modelo, puede ver el modelo de datos, una representación visual de los enlaces de la tabla en estudio con otras tablas de la base de datos (Fig. 1.12).


Figura 1.12. Asignación de modelos de datos: relaciones de tablas

El modelo de datos que se muestra en la figura muestra que las tablas UBICACIONES y EMPLEADOS son el padre de la tabla DEPARTAMENTOS en cuestión. Se muestran en el modelo encima de la tabla en estudio. La tabla DEPARTAMENTOS en sí misma es el padre de las tablas JOB_HISTORY y EMPLOYEES (ubicadas debajo de la tabla DEPARTAMENTOS). Se puede ver información similar sobre las tablas principales (en relación con las estudiadas) en la pestaña Dependencias (lista de Referencias).

Acceso a los informes: icono de Utilidades (Fig. 1.7) o el elemento correspondiente de la lista desplegable de SQL Workshop -> elemento de lista (o icono) Objeto Informes -> elemento de lista por el parámetro de interés. Por ejemplo, para la lista de informes de tablas: columnas, comentarios, restricciones, etc. (Fig. 1.13).

Arroz. 1.13. Informes de objetos

Con estas herramientas, puede obtener información bastante completa sobre los principales objetos disponibles en la base de datos.


Medidas de seguridad

En tiempo de ejecución necesitas:

    observar las reglas para encender y apagar equipos informáticos; no conecte cables, conectores y otros equipos a la computadora que no estén relacionados con la instalación del laboratorio; cuando la tensión de red esté encendida, no desconecte, conecte ni toque los cables que conectan varios dispositivos computadora; en caso de mal funcionamiento en el funcionamiento del equipo o violación de las reglas, informe al jefe del trabajo de laboratorio; no intente reparar fallas en el funcionamiento del equipo por su cuenta; al finalizar el trabajo, ordenar el lugar de trabajo.

¡ATENCIÓN! Cuando trabaje en una computadora, debe recordar: el voltaje potencialmente mortal está conectado a cada lugar de trabajo. ¡Por lo tanto, durante la operación, debe tener mucho cuidado y cumplir con todos los requisitos de seguridad!

Ejercicio
Inicie un navegador de Internet, por ejemplo, Google Chrome. Inicie la página de inicio de Oracle Application Express en http://127.0.0.1:8080/apex/ . Inicie sesión en la base de datos como usuario de recursos humanos. Usando el Editor de consultas SQL, cree y ejecute una consulta para seleccionar datos de la tabla EMPLOYEES usando la instrucción de clasificación por nombres de empleados. Mediante el generador de consultas SQL, cree y ejecute una consulta para seleccionar datos de la tabla DEPARTAMENTOS utilizando la instrucción de ordenación por nombre de departamento. Usando el editor de consultas SQL, cree y ejecute una consulta para seleccionar datos de las tablas relacionadas DEPARTAMENTOS y EMPLEADOS usando alias de columnas rusas y clasificación. La consulta debe devolver los nombres de todos los departamentos, los nombres completos de los responsables de estos departamentos, sus direcciones de correo electrónico /text/category/zarabotnaya_plata/" rel="bookmark">salario por departamento, salario medio por departamento. Obtenga información completa sobre objetos de la base de datos: tablas, columnas, restricciones, vistas, incluidos todos los comentarios y tipos de datos Basándose en esta información, construya un modelo de datos en el que mostrar todas las tablas y las relaciones entre ellas.

Direcciones:

    obtener información general sobre las relaciones entre tablas utilizando la herramienta Examinador de objetos; información detallada obtener información sobre las relaciones entre tablas mediante una consulta

seleccione uc. table_name "Tabla",

uc. constrict_name "Restricción de clave externa",

ucc1.column_name "Campo de clave externa",

ucc2.table_name "Genera una tabla",

uc. r_constraint_name "Ogro en RT",

ucc2.column_name "Campo clave en RT"

de user_constraints uc

únase a user_cons_columns ucc1 en ucc1.constraint_name = uc. nombre_restricción

únase a user_cons_columns ucc2 en ucc2.constraint_name = uc. r_restricción_nombre

donde uc. restricción_tipo="R";

    presente el modelo de datos en forma gráfica utilizando MS Word, MS Visio o ERWin Data Modeller.

Requisitos para el contenido y diseño del informe

El informe debe completarse en editor de texto MS Word. El informe debe contener:

    Breve información teórica, Modelo gráfico de datos, Textos de todas las consultas SQL con comentarios de cada instrucción utilizada en la consulta, Tablas de resultados con datos de todas las consultas ejecutadas, Conclusiones del trabajo realizado.
preguntas de examen

7.1. ¿Cuál es el propósito de Oracle Database XE?

7.2. ¿Cómo se conecta un usuario a una base de datos Oracle Database XE?

7.3. que herramientas hace interfaz de usuario¿Base de datos Oracle Database XE para trabajar con consultas SQL?

7.4. ¿Qué herramientas proporciona la interfaz de usuario de la base de datos Oracle Database XE para explorar los objetos de la base de datos?

7.5. ¿Cuál es la sintaxis de la sentencia SELECT?

7.6. ¿Cuál es el propósito de la cláusula WHERE?

7.7. ¿Cuáles son los tipos de combinaciones de tablas?

7.8. ¿Cuál es la diferencia entre las uniones de tablas internas y externas?

7.9. ¿Para qué se utilizan las operaciones de grupo?

7.10. ¿Cómo se deben usar las sentencias GROUP BY y HAVING?

Esta es la segunda parte del tutorial sobre cómo crear una base de datos. La lección es práctica, durante la lección se utilizará el servidor Oracle, que se instaló en la primera lección. Entonces empecemos:

El Asistente de configuración de base de datos (dbca) se utiliza para crear la base de datos. Como la mayoría de las utilidades, se encuentra en el directorio bin del servidor de Oracle. En la consola ejecutamos:

[correo electrónico protegido]: cd /u01/app/oracle/producto/11.1.0/db_1/bin
[correo electrónico protegido]:./dbca

Habrá un lanzamiento aplicación gráfica en el que trabajar. Oracle le permite crear una base de datos "a mano", sin usar varias utilidades, pero hablaremos de eso más adelante.

La primera pantalla simplemente informa sobre el lanzamiento de la utilidad, su propósito. Inmediatamente procedemos al segundo paso haciendo clic en siguiente.

El segundo paso es seleccionar la acción a tomar. Si no hay otras bases de datos en la computadora, algunas opciones no estarán disponibles. Por ejemplo, como eliminar una base de datos o configurar. Ahora nos interesa la creación, así que seleccionamos la opción "Crear base de datos" y seguimos.

Ahora se nos pide que elijamos una plantilla de base de datos que se usará durante la creación. General es una plantilla común para la mayoría de las bases de datos. Almacén de datos: un almacén de datos diseñado para almacenar datos y una pequeña cantidad de transacciones. Base de datos personalizada: base de datos totalmente personalizable para sus necesidades, según la situación.
Seleccione Propósito general del procesamiento transaccional y continúe.

Este paso le solicita que especifique el Nombre de la base de datos global (Nombre de la base de datos global) y el SID (Identificador del sistema). Normalmente, el nombre global es un SID con un nombre de dominio. El identificador del sistema identifica de forma exclusiva la base de datos. Su longitud no debe exceder los 8 caracteres y no puede comenzar con un número. Elegí el nombre "testdb" y el nombre global "testdb.all-oracle.ru" para mi base de datos. Vamonos.

Especifique las opciones que se incluirán en la base de datos que se está creando. Al especificar "Configurar Enterprise Manager", la opción "Configurar control de base de datos para administración local" se marca automáticamente. Si tiene Grid configurado, entonces la configuración será diferente. La tecnología de red se discutirá más adelante.

Además, si es necesario, habilitamos la notificación por Email y copia de seguridad automática del Área de Recuperación. Dejé estas opciones sin marcar porque la máquina de prueba no tiene acceso a Internet para enviar mensajes y no hay necesidad de una copia de seguridad. Si lo desea, puede incluir estas opciones en su base de datos. Para ello, marque e indique la información necesaria. Para el servidor SMTP de notificación por correo electrónico y la dirección a la que enviar. Para tiempo de respaldo y credenciales para autorización a nivel de sistema operativo. Vamonos.

Este paso le solicita que proporcione contraseñas para las cuentas de Oracle integradas. Puede especificar contraseñas individuales para cada cuenta, o puede seleccionar la opción "Usar una sola contraseña para todas las cuentas". Cabe señalar que antes de Oracle 11g, todo estaba en mayúsculas y los inicios de sesión con contraseña no distinguían entre mayúsculas y minúsculas. A partir de la versión 11g, el registro comenzó a diferir en términos de requisitos de seguridad. Por compatibilidad con Versión anterior Es posible establecer el nivel de seguridad.

Aquí seleccionamos almacenamiento. Sistema de archivos ofrecido (Sistema de archivos), Administración automática de almacenamiento - ASM (Administración automática de almacenamiento) o Dispositivos sin procesar (literalmente dispositivos sin procesar). En nuestro caso, elegimos sistema de archivos y seguir adelante. Hablaremos de otros métodos de almacenamiento más adelante.

Especifique la ubicación de los archivos de la base de datos. Puede elegir entre una plantilla ofrecida por Oracle, una ubicación común para todos los archivos de la base de datos o usar archivos administrados por Oracle.

Especifique la ubicación del área de recuperación flash y su tamaño. Anteriormente, creamos un directorio para FRA y ahora especificamos la ruta, el tamaño no cambia.

Flash Recovery Area es una nueva opción disponible desde la versión 10g y es la base de una característica llamada recuperación basada en disco automatizada. FRA: parte del espacio en disco para almacenar y administrar archivos. Es completamente independiente de otros componentes de la base de datos, como archivos de datos, registros de rehacer y archivos de control. La utilidad Oracle Recovery Manager (RMAN) utiliza el Área de recuperación flash para garantizar que la base de datos se pueda recuperar en función de los archivos guardados en el Área de recuperación flash. El área de recuperación flash se analizará con más detalle en las clases de recuperación de bases de datos.

En la misma pantalla, puede hacer clic en el botón Variables de ubicación de archivos... para ver un informe resumido de las ubicaciones de archivos de Oracle, incluida la configuración actual de ORACLE_BASE.

En este paso, se propone instalar esquemas con ejemplos y ejecutar cualquiera de sus scripts, si corresponde. Especificar para instalar ejemplos y seguir adelante. Los necesitará en lecciones posteriores.

Ahora se propone especificar la configuración de la memoria, el tipo de conexión al servidor, la codificación. Dado que ahora solo estamos creando una base de datos de muestra y no nos propusimos la tarea de ajustar, dejamos los valores predeterminados. En la pestaña Modo de conexión, seleccione "Modo de servidor dedicado": el modo de servidor dedicado. Al hacer clic en el botón "Todos los parámetros de inicialización...", puede ver los parámetros de inicialización. Se mostrarán en una tabla:

Aquí podemos cambiar los parámetros según sea necesario. Si no se requiere nada, cierre la ventana y continúe.

Configuraciones de seguridad. Se le solicitará que seleccione la configuración anterior a la versión 11g o las nuevas que se introdujeron desde la versión 11g. La principal diferencia para el usuario es la distinción entre mayúsculas y minúsculas. Indicamos usar la nueva configuración y continuar.

En esta etapa, se propone activar las tareas de mantenimiento automático. Por ejemplo, recopilar estadísticas. Desactivar y seguir adelante.

Especifique la ubicación de los archivos de datos, archivos de registro, archivos de control. Si todo encaja, entonces sigue adelante.

El paso final es completar la creación de la base de datos. Además, si puede guardar la base de datos creada como plantilla. Esto es relevante si creó una base de datos específica con un montón de configuraciones para un caso específico y, en el futuro, a menudo creará bases de datos de acuerdo con una plantilla.

Haga clic en el botón "Finalizar" y comenzará el proceso de creación de la base de datos. Esto llevará algún tiempo, dependiendo de la configuración de la base de datos que se esté creando y de la potencia de la computadora, de diez minutos a una hora.

Si la creación de la base de datos se completa con éxito, aparecerá la siguiente ventana:

Aquí están los principales parámetros de la base de datos, un enlace para trabajar con Enterprise Manager. Además, al hacer clic en el botón "Administración de contraseñas...", puede establecer contraseñas para cuentas integradas, establecer o eliminar bloqueos de usuario.

Después de cambiar las contraseñas, si las hay, haga clic en "Salir", esto completa la creación de la base de datos.

Esto concluye la lección. En la cuarta lección, aprenderemos cómo detener e iniciar una instancia de base de datos, qué es un oyente y cómo conectarse a una base de datos desde sqlplus.

Si es un administrador de sistemas o desarrollador de Linux, llega un momento en que necesita administrar una base de datos de Oracle que pueda ejecutarse en su entorno.

En este caso, es importante comprender algunas de las actividades básicas de DBA de Oracle. En este tutorial, le mostraremos cómo crear una base de datos Oracle desde la línea de comandos.

Cuando instale el software Oracle, le dará la opción de crear una nueva base de datos desde la interfaz de usuario.

Si decide no crear una nueva base de datos, sino instalar solo software Oracle, luego puede crear la base de datos por separado.

A crear base de datos oracle , tienes dos opciones:

  1. Use el Asistente de configuración de base de datos (DBCA) y cree una nueva base de datos usando la GUI. Es bastante sencillo.
  2. Utilice el comando "Crear base de datos" para crear una nueva base de datos Oracle desde la línea de comandos. Este método es útil cuando no tiene acceso a la consola del servidor para ejecutar DBCA. O, si su servidor no tiene la configuración correcta de Xterm, use este método.

1. Configuración de las variables de entorno de Oracle adecuadas

En primer lugar, debe establecer correctamente la variable de entorno adecuada en el servidor.

Este ejemplo asume que Oracle está instalado en el directorio /u01/aplicación/oráculo/producto. Cambie este valor para adaptarlo a su entorno.

exportar ORACLE_BASE=/u01/app/oracle exportar ORACLE_HOME=/u01/app/oracle/product/11.2.0

La mayoría parámetro importante es el ORACLE_SID que tendrá el nombre nueva base de datos oracle el que quieres crear. En este ejemplo, el nombre de la nueva base de datos se establece en "dev", como se muestra a continuación.

Exportar ORACLE_SID=dev

2. Cree el archivo ini-initdev.ora

Luego cree un archivo ora.ini para la nueva base de datos. Este es el archivo de inicialización para la nueva base de datos.

Según su versión de Oracle, es posible que vea un archivo init.ora de muestra en $ORACLE_HOME. Si lo tiene, utilícelo como base y edite los valores en consecuencia.

cd $ORACLE_HOME/dbs cp init.ora initdev.ora

Nota:

Como se muestra arriba, el archivo de inicialización para la nueva base de datos debe tener el siguiente formato: INIT (ORACLE_SID) .ora - Entonces, en este caso, el nombre del archivo será: initdev.ora

Si no ve la plantilla init.ora predeterminada en su $ORACLE_HOME/DBS, use el siguiente ejemplo.

*.db_name="dev" *.db_domain="" *.audit_file_dest="/u01/app/oracle/admin/dev/adump" *.audit_trail="db" *.compatible="11.2.0.0.0" * .memory_target=1G *.control_files="/u01/app/oracle/oradata/dev/control01.ctl","/home/oracle/u02/oradata/dev/control02.ctl" *.db_block_size=8192 *.diagnostic_dest= "/u01/app/oracle/admin/dev" *.open_cursors=250 *.processes=100 *.remote_login_passwordfile="EXCLUSIVO" *.undo_tablespace="UNDOTS"

Es necesario considerar algunos puntos en dicho archivo:

  • En el archivo especificado, asegúrese de establecer db_name en el nombre del ORACLE_SID establecido en el paso anterior
  • como se llame deshacer_tablespace, indicamos que debemos usar el nombre exacto en el comando CREATE DATABASE.
  • Cambie la ubicación de los directorios según corresponda según su sistema. No olvide cambiar "dev" en el directorio anterior a su nombre ORACLE_SID.

3. Crear archivo de parámetros de servicio (spfile)

El archivo SP significa archivo de parámetros del servidor. A diferencia del archivo sp, el archivo se inicializa en binario y no puede editar el SPFILE manualmente.

El archivo sp se crea a partir del archivo ini. La ventaja del archivo sp es que puede cambiar el valor de los parámetros de inicialización después de que la base de datos haya comenzado usando el comando ALTER SYSTEM.

En otras palabras, al usar el comando "ALTERAR SISTEMA" para cambiar cualquier valor de parámetro, los guarda en el archivo sp.

Luego, al iniciar la base de datos de Oracle, primero busca el archivo sp para el valor del parámetro. Si no puede encontrar el archivo sp, utilizará el texto basado en el archivo ini.

Para crear un archivo sp para nuestra nueva base de datos, use el siguiente comando.

Primer uso comando sqlplus y obtenga un indicador de SYSDBA Oracle desde donde crearemos una nueva base de datos.

$ sqlplus / as sysdba Conectado a una instancia inactiva. SQL>

Si observa en el resultado anterior, dice "Conectado a una instancia inactiva". Esto se debe a que nuestro ORACLE_SID actual está configurado en dev, que es una nueva base de datos que aún no hemos creado.

Entonces, el primer paso es crear un nuevo archivo sp basado en el archivo ini. spfile significa archivo ini. El siguiente comando creará un nuevo spfile.

SQL> CREAR SPFILE DESDE PFILE; Archivo creado.

Como puede ver a continuación, el comando ha creado automáticamente spfiledev.ora.

$ ls -1 $ORACLE_HOME/dbs/ initdev.ora spfiledev.ora

4. Ejecutar instancia inactiva

Antes de crear la base de datos, debemos iniciar una instancia para la base de datos "dev" con el comando STARTUP NOMOUNT. Como habrás adivinado, este comando no se conectará a la base de datos. Es sencillo iniciar una nueva instancia ORACLE_SID simple y vacía llamada "dev".

SQL> INICIO NOMOUNT; Instancia de ORACLE iniciada. Área global total del sistema 1258291200 bytes Tamaño fijo 1261564 bytes Tamaño variable 520093700 bytes Búfers de base de datos 721420288 bytes Búfers de rehacer 15515648 bytes

En el comando anterior, leerá el spfile predeterminado denominado spfile(ORACLE_SID).ora desde la ubicación predeterminada del spfile $ORACLE_HOME/dbs. Si spfile no existe, se establecerá de forma predeterminada en init (ORACLE_SID) .ora archivo de inicialización

Por alguna razón, si desea especificar la ubicación de su spfile, puede hacerlo pasando el parámetro spfile, como se muestra a continuación.

SQL> INICIO NOMOUNT PFILE=/tmp/initdev.ora

Además, puede obtener los siguientes ORA-01078 y LRM-00109 si el spfile o el archivo de inicialización no se encuentra en la ubicación predeterminada.

SQL> STARTUP NOMOUNT ORA-01078: falla en el procesamiento de los parámetros del sistema LRM-00109: no se pudo abrir el archivo de parámetros "/u01/app/oracle/product/11.2.0/dbs/initdev.ora"

5. Crear una nueva base de datos de Oracle

Utilice el siguiente comando CREATE DATABASE para crear una base de datos vacía.

SQL> CREAR BASE DE DATOS DEV USER SYS IDENTIFICADO POR DevSysPass USER SYSTEM IDENTIFICADO POR DevSystemPass LOGFILE GRUPO 1 ("/home/oracle/u02/oradata/dev/redomed_01.log") TAMAÑO 50M, GRUPO 2 ("/home/oracle/u02/ oradata/dev/redomed_02.log") TAMAÑO 50M, MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CONJUNTO DE CARACTERES US7ASCII CONJUNTO NACIONAL DE CARACTERES AL16UTF16 ARCHIVO DE DATOS "/home/oracle/u02/oradata/dev/system01.dbf" TAMAÑO 100M REUTILIZAR ARCHIVO DE DATOS SYSAUX "/home /oracle/u02/oradata/dev/sysaux01.dbf" TAMAÑO 100M REUTILIZAR EL ARCHIVO DE DATOS DE USUARIOS DE ESPACIO DE MESA PREDETERMINADO "/home/oracle/u02/oradata/dev/users01.dbf" TAMAÑO 50M REUTILIZAR AUTOAMPLACIÓN EN TAMAÑO MÁXIMO ILIMITADO ESPACIO DE MESA TEMPORAL PREDETERMINADO TEMPTS TEMPFILE "/ home/oracle/u02/oradata/dev/tempts01.dbf" TAMAÑO 30M REUTILIZAR DESHACER TABLESPACE DESHACER ARCHIVO DE DATOS "/home/oracle/u02/oradata/dev/undots01.dbf" TAMAÑO 100M REUTILIZAR AUTOAMPLIACIÓN EN MAXSIZE ILIMITADO;

En el comando anterior:

  • El comando Crear base de datos creará una base de datos Oracle llamada "dev"
  • La contraseña especificada en la 2ª línea se asignará al usuario SYS
  • La contraseña especificada en la 3ra línea será asignada al usuario del SISTEMA
  • Creamos dos registros repetidos con un tamaño de 100 MB cada uno.
  • MAXLOGFILES: el número máximo de archivos de registro se establece en 5
  • MAXDATAFILES: indica el número máximo de archivos de datos de Oracle que se pueden crear para esta base de datos.
  • ARCHIVO DE DATOS: apunta al archivo de datos que se utilizará en la tabla SISTEMA
  • ARCHIVO DE DATOS SYSAUX: esto indica que el archivo de datos se usará en el tablespace SYSAUX
  • El espacio de tabla predeterminado para esta base de datos se establece en USUARIOS
  • El tablespace temporal se establece en TEMPTS de forma predeterminada
  • Deshacer tablespace está configurado en UNDOTS

Nota:

Si establece DB_CREATE_FILE_DEST en el archivo de inicialización en una ubicación de directorio, entonces no necesita especificar la ubicación exacta y los nombres de archivo para todos los archivos de datos, Oracle se encarga de eso por usted.

Por ejemplo, si especificó esto en el archivo initdev.ora.

# vi initdev.ora DB_CREATE_FILE_DEST="/home/oracle/u02/oradata/dev"

En este caso, puede simplificar su comando CREAR BASE DE DATOS como se muestra a continuación.

SQL> CREAR BASE DE DATOS dev USUARIO SYS IDENTIFICADO POR DevSysPass USUARIO SISTEMA IDENTIFICADO POR DevSystemPass MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CONJUNTO DE CARACTERES US7ASCII CONJUNTO NACIONAL DE CARACTERES AL16UTF16 USUARIOS DE ESPACIO DE MESA POR DEFECTO POR DEFECTO TABLA TEMPORAL UNDOTS

Los comandos anteriores crearán los archivos de datos necesarios para todos los espacios de tablas (deshacer, temporales, etc.) según la ubicación especificada en el directorio DB_CREATE_FILE_DEST.

6. Cree un diccionario de datos de vistas

Como paso final, ejecute catalog.sql y catproc.sql. script de directorio creará todas las tablas de vocabulario, vistas relacionadas con el rendimiento, sinónimos públicos requeridos. También proporcionará acceso adecuado a todos los sinónimos que se hayan creado. El script catproc ejecuta todos los scripts necesarios para la funcionalidad PL/SQL.

SQL>@?/rdbms/admin/catalog.sql; SQL>@?/rdbms/admin/catproc.sql

Salida parcial de los comandos anteriores.

SQL>@?/rdbms/admin/catalog.sql; DOC>############################################ ##################### DOC>######################### ####################################### DOC> La siguiente declaración causará un error "ORA-01722: número no válido" DOC> y finalizar la sesión de SQLPLUS si el usuario no es SYS. DOC> Desconectar y volver a conectar con AS SYSDBA. DOC>############################################ ##################### DOC>######################### ######################################## DOC># ningún paquete de filas seleccionado creado. cuerpo del paquete creado. .. .. Sinónimo creado. Subvención tuvo éxito. Procedimiento PL/SQL completado con éxito. SQL > @?/rdbms/admin/catproc.sql .. .. Comentario creado. Sinónimo creado. Subvención tuvo éxito. Procedimiento PL/SQL completado con éxito.

Si está interesado, puede consultar el directorio y el script catproc para ver exactamente lo que hace.

Vi $ORACLE_HOME/rdbms/admin/catalog.sql; vi $ORACLE_HOME/rdbms/admin/catproc.sql

7. Inspección - Terminación y puesta en marcha

Y finalmente, realice apagados y arranques regulares para asegurarse de que todo funcione como se espera en esta nueva base de datos.

$sqlplus/as sysdba SQL> APAGAR INMEDIATO; base de datos cerrada. base de datos desmontada. Cierre de instancia de ORACLE. SQL> INICIO; Instancia de ORACLE iniciada. Área global del sistema total 1234563200 bytes Tamaño fijo 1262454 bytes Tamaño variable 522935700 bytes Búferes de base de datos 720583588 bytes Búfers de rehacer 12946358 bytes Base de datos montada.