Clase 4 Configuración de Oracle Database

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 28

Administración de base de

Datos

TEMA:
Configuración Inicial de Base de Datos
Oracle

Ing. Carlos Viteri Chávez, Mgs.


[email protected]
Objetivos específicos

Elementos de gestión de BD Oracle

Descripción general de SQL plus

Cuentas administrativas, roles y privilegios

Creación de usuarios, permisos y tablespace


Elementos de gestión de servidores
de Oracle
En la configuración y gestión de SistemasOracle Database
tenemos diversos elementos a tener en cuenta:
•Instancia de Oracle.
•Listener. Proceso encargado de permitir las conexiones.
•Interfaz de gestión. Software que nos permite realizar tareas
sobre el servidor Oracle: SQL Developer, SQL*Plus, Oracle
Enterprise Database Control, DataGrip, etc.
Acceso a Database Control
Database Control es parte del Oracle Eterprise Manager, es una consola
gráfica que permite gestionar bases de datos Oracle independientes (que no
funcionan de forma distribuida).
Normalmente Database Control está disponible en
https://localhost/5500/em
Si no se ha arrancado, el comando de arranque es:
emctl start dbconsole
El comando para detener Database Control es:
emctl stop dbconsole
El comado para ver el estado de Database Control es:
emctl status dbconsole
Descripción general de SQL * Plus
• SQL * Plus es una herramienta de consulta interactiva y por lotes que se
instala con cada instalación de Oracle Database. Tiene una interfaz de
usuario de línea de comandos.
• SQL * Plus tiene sus propios comandos y entorno, y proporciona acceso a
la base de datos Oracle. Le permite ingresar y ejecutar SQL, PL / SQL, SQL
* Plus y comandos del sistema operativo para realizar lo siguiente:
• Formatee, realice cálculos, almacene e imprima a partir de los resultados de la
consulta
• Examinar las definiciones de tablas y objetos
• Desarrollar y ejecutar scripts por lotes
• Realizar la administración de la base de datos
Acceso mediante SQL*Plus
Desde la línea de comandos, en el servidor, disponemos del comando sqlplus. Lo normal
es conectar en modo anónimo:
Pero podemos conectar indicando usuario y contraseña. Posibilidades:
• sqlplus usuario. Conecta con Oracle usando el nombre de usuario indicado. Se pedirá
por teclado la contraseña del usuario.
• sqlplus usuario/contraseña. Conecta usando el usuario y contraseña indicados.
• sqlplus / as sysdba. Conecta usando el usuario del Sistema Operativo (que deberá
tener rol de administrador en Oracle).
También es posible, tras conectar con Oracle, cambiar de usuario con el
comando connect. Este comando tiene las mismas posibilidades:
• connect usuario
• connect usuario/contraseña
• connect / as sysdba
CONN[ECT] [logon] [AS {SYSOPER | SYSDBA | SYSBACKUP | SYSDG | SYSKM | SYSRAC}]
Acceso mediante SQL*Plus
SQL*Plus admite lanzar scripts, código SQL, al conectar.
Ejemplo:
Este comando conecta con el usuario hr (su contraseña también es hr) y
lanza las instrucciones SQL contenidas en el archivo inicio.sql.
sqlplus hr/hr @inicio.sql

Si ya estamos dentro de SQL*Plus:

SQL>@inicio.sql
Acerca del inicio de una instancia
Con SQL * Plus y Oracle Restart, puede iniciar una instancia en varios modos:

• NOMOUNT: Inicia la instancia sin montar una base de datos. Esto no permite el acceso a la
base de datos y normalmente se haría solo para la creación de la base de datos o la
recreación de archivos de control.
• MOUNT—Inicie la instancia y monte la base de datos, pero déjela cerrada. Este estado
permite ciertas actividades de DBA, pero no permite el acceso general a la base de datos.
• OPEN—Inicie la instancia, monte y abra la base de datos. Esto se puede hacer en modo no
restringido, permitiendo el acceso a todos los usuarios, o en modo restringido, permitiendo el
acceso solo a los administradores de la base de datos.
• FORCE: Obliga a que la instancia se inicie después de un problema de inicio o apagado.
• OPEN RECOVER: Inicie la instancia y haga que la recuperación de medios completa
comience de inmediato.
Inicio de la instancia
Para iniciar la base de datos se usa el comando STARTUP seguido del
nombre del estado deseado. Por ejemplo:
STARTUP MOUNT

Sin indicar estado alguno (escribiendo STARTUP, a secas), se inicia


Oracle en modo OPEN.
El comando ALTER DATABASE seguido del estado permite cambiar de
estado (solo podremos cambiar hacia estados superiores). Ejemplo:
ALTER DATABASE OPEN;
Modo de sesión restringida
Es un modo especial de trabajo en el que la base de datos está
abierta, pero solo se permite el acceso a usuarios con
permiso RESTRICTED (lo poseen los administradores) para hacer
tareas especiales de administración. Uso:
STARTUP RESTRICTED

Si la instancia ya estaba abierta es: ALTER SYSTEM ENABLE RESTRICTED SESSION;

Y si lo que queremos es desactivar el modo restringido para


pasar a modo normal: ALTER SYSTEM DISABLE RESTRICTED SESSION;
Cerrar una base de datos
Cuando Oracle Restart no está en uso, puede cerrar una instancia de base de datos con SQL * Plus mediante la
conexión como SYSOPER, SYSDBA, SYSBACKUP, o SYSDG y emitiendo el comando SHUTDOWN. Si su base de datos está
siendo administrada por Oracle Restart, la forma recomendada de cerrar la base de datos es con el comando
srvctl stop database
•Apagado con el modo normal (SHUTDOWN)
Cuando apaga una base de datos con el modo normal, la base de datos espera a que todos los usuarios conectados
se desconecten antes de apagarse. El modo normal es el modo de apagado predeterminado.
•Apagado con el modo inmediato (SHUTDOWN INMEDIATE)
Cuando apaga una base de datos con el modo inmediato, Oracle Database finaliza cualquier instrucción SQL en
ejecución y desconecta a los usuarios. Las transacciones activas se terminan y los cambios no confirmados se
revierten.
•Cierre con el modo transaccional (SHUTDOWN TRANSACTIONAL)
Cuando cierra una base de datos con el modo transaccional, la base de datos evita que los usuarios inicien nuevas
transacciones, pero espera a que se completen todas las transacciones actuales antes de cerrar. Este modo puede
llevar una cantidad significativa de tiempo dependiendo de la naturaleza de las transacciones actuales.
•Apagado con el modo de cancelación (SHUTDOWN ABORT)
Puede apagar una base de datos instantáneamente cancelando la instancia de la base de datos.
Identificación de la versión
de software
Oracle produce periódicamente nuevas versiones. No todos los clientes se
suscriben inicialmente a una nueva versión o requieren un mantenimiento
específico para su versión existente.
Como resultado, existen múltiples lanzamientos del producto simultáneamente.
Es posible que se requieran hasta cinco números para identificar completamente
una versión. La importancia de estos números se analiza en las secciones
siguientes.

Formato de número de versión

Comprobación de su número de versión actual


SELECT * FROM PRODUCT_COMPONENT_VERSION;
Seguridad y privilegios del
administrador de la base de datos
• Para realizar las tareas administrativas de un DBA de Oracle Database,
necesita privilegios específicos dentro de la base de datos y posiblemente en el
sistema operativo del servidor en el que se ejecuta la base de datos.
• El acceso a la cuenta de un administrador de base de datos debe estar
estrictamente controlado.
• Las siguientes cuentas de usuario administrativo se crean automáticamente
cuando se instala Oracle Database:
• SYS
• SYSTEM
• SYSBACKUP
• SYSDG
• SYSKM
• SYSRAC
Cuenta SYS
• Cuando crea una base de datos Oracle, el usuario SYS se crea automáticamente y se
le otorga el DBArol.
• Todas las tablas y vistas base para el diccionario de datos de la base de datos se
almacenan en el esquema SYS.
• Estas vistas y tablas base son críticas para el funcionamiento de Oracle Database.
• Para mantener la integridad del diccionario de datos, SYSsolo la base de datos
manipula las tablas del esquema.
• Nunca deben ser modificados por ningún usuario o administrador de base de datos, y
nadie debe crear tablas en el esquema de usuario SYS.
• Asegúrese de que la mayoría de los usuarios de bases de datos nunca puedan
conectarse a Oracle Database utilizando la cuenta SYS
Cuenta System
• Cuando crea una base de datos de Oracle, el usuario SYSTEM también se crea
automáticamente y se le otorga el rol DBA
• El nombre de usuario SYSTEM se utiliza para crear tablas y vistas adicionales
que muestran información administrativa, y tablas y vistas internas utilizadas
por diversas opciones y herramientas de Oracle Database.
• Nunca use el esquema SYSTEM para almacenar tablas de interés para
usuarios no administrativos.
Cuentas SYSBACKUP, SYSDG,
SYSKM, y SYSRAC.
Cuando se crea una base de datos Oracle, los siguientes usuarios se crean automáticamente para
facilitar la separación de funciones para los administradores de bases de datos:
• SYSBACKUP facilita las operaciones de copia de seguridad y recuperación de Oracle Recovery
Manager (RMAN), ya sea desde RMAN o SQL * Plus.
• SYSDG facilita las operaciones de Data Guard. El usuario puede realizar operaciones con Data
Guard Broker o con la DGMGRLinterfaz de línea de comandos.
• SYSKM facilita las operaciones del almacén de claves de Cifrado transparente de datos.
• SYSRAC facilita las operaciones de Oracle Real Application Clusters (Oracle RAC) al conectarse a la
base de datos mediante el agente de Clusterware en nombre de las utilidades de Oracle RAC como
SRVCTL.
El privilegio administrativo SYSRAC no se puede otorgar a los usuarios de la base de datos y no se
admite en un archivo de contraseña. El privilegio administrativo SYSRAC solo lo utiliza el agente de
Oracle de Oracle Clusterware para conectarse a la base de datos mediante la autenticación del
sistema operativo.
Taller
• Crea una tabla relativa con usuarios y permisos asignados
respetivamente
Operaciones SYSD SYSOFER SYSBACKUP SYSDG SYSKM SYSRAC
autorizadas BA
•Realizar STARTUPy SH X X
UTDOWNoperaciones
•ALTER DATABASE: X
abrir, montar, hacer
una copia de seguridad
o cambiar el conjunto
de caracteres

https://docs.oracle.com/en/database/oracle/oracle-database/21/admin/getting-started-with-database-
administration.html#GUID-10287280-C2E4-4FB1-ABF9-993327419603
Arquitectura multiusuario
• La opción multiusuario representa uno de los mayores cambios arquitectónicos en la historia
de la base de datos Oracle. La opción introdujo los conceptos de Container Database (CDB) y
Pluggable Database (PDB).
• Base de datos de contenedores (CDB): en la superficie, esto parece muy similar a una base de
datos convencional de Oracle, ya que contiene la mayoría de las partes de trabajo con las que
ya estará familiarizado (archivos de control, archivos de datos, deshacer, archivos temporales,
registros de rehacer, etc.). También alberga el diccionario de datos para aquellos objetos que
son propiedad del contenedor raíz y aquellos que son visibles para todos los PDB.
• Base de datos conectable (PDB): dado que la CDB contiene la mayoría de las partes de trabajo
para la base de datos, la PDB solo necesita contener información específica para sí misma. No
necesita preocuparse por los archivos de control, rehacer registros y deshacer, etc. En su lugar,
se compone de archivos de datos y archivos temporales para manejar sus propios objetos. Esto
incluye su propio diccionario de datos, que contiene información sobre solo aquellos objetos
que son específicos de la PDB. Desde Oracle 12.2 en adelante, un PDB puede, y debe, tener un
espacio de tabla de deshacer local.
Arquitectura multiusuario
Arquitectura
multiusuario
Usuarios comunes
• Oracle proporciona dos tipos de usuarios comunes: usuarios comunes de CDB y
usuarios comunes de aplicaciones.
• Un usuario común de CDB es un usuario de base de datos cuya identidad y
contraseña únicas se conocen en la raíz de CDB y en todas las bases de datos
conectables (PDB) existentes y futuras, incluidas las raíces de cualquier aplicación.
• Todas las cuentas de usuario administrativo proporcionadas por Oracle,
como SYSy SYSTEM, son usuarios comunes de CDB y pueden navegar por el
contenedor del sistema. Los usuarios comunes de CDB pueden tener diferentes
privilegios en diferentes PDB.
• Un usuario común de CDB puede realizar todas las tareas que puede realizar un
usuario común de la aplicación, siempre que se le hayan otorgado los privilegios
adecuados.
• el usuario común de la aplicación no tiene acceso a todo el entorno de CDB como
los usuarios comunes de CDB
Usuarios locales
En un entorno de múltiples inquilinos, un usuario local es un usuario de base de datos que existe solo en un
único PDB.
Los usuarios locales pueden tener privilegios administrativos, pero estos privilegios se aplican solo en el PDB
en el que se creó la cuenta de usuario local. Una cuenta de usuario local tiene las siguientes características,
que la distingue de las cuentas de usuario comunes:
• Las cuentas de usuarios locales no pueden crear cuentas de usuario comunes ni otorgarles privilegios
comúnmente. Un usuario común con los privilegios adecuados puede crear y modificar cuentas de
usuario comunes o locales y otorgar y revocar privilegios, de manera común o local. Un usuario local
puede crear y modificar cuentas de usuario local o conceder privilegios localmente a usuarios comunes o
locales en un PDB determinado.
• Puede otorgar roles comunes a las cuentas de usuario locales. Sin embargo, los privilegios asociados con
el rol común solo se aplican a la PDB del usuario local.
• La cuenta de usuario local debe ser única solo dentro de su PDB.
• Con los privilegios adecuados, un usuario local puede acceder a objetos en el esquema de un usuario
común. Por ejemplo, un usuario local puede acceder a una tabla dentro del esquema de un usuario
común si el usuario común le ha otorgado privilegios de acceso al usuario local.
• Puede habilitar ediciones una cuenta de usuario local pero no una cuenta de usuario común.
Acceder a un PDB
SQL> sh con_name
SQL> show PDBS;

Cambiar el repositorio a PDB


SQL> alter session set container=xepdb1;
Creación de un table space
• Create tablespace (nombre)
• Datafile ´nombre.dat’
• Size (tamaño en M)
• online
Ver los tablespace actuales
SQL> select tablespace_name from dba_tablespaces;
SQL> create tablespace OPERADOR
2 DATAFILE
'C:\app\ing_c\product\18.0.0\oradata\XE\XEPDB1\OPERADOR.dbf’
3 Size 100m
4 Autoextend on next 10m
5 Maxsize 200m
6 Online;
Creación de tablespace

Para borrar un tablespace


Drop tablespace (nombre)
Including contens and datafiles;
Creación de usuarios
Cuando crea un usuario de base de datos (cuenta), especifica los siguientes
atributos del usuario:
• Nombre de usuario

• Método de autentificación
• Espacio de tabla predeterminado

• Espacio de tabla temporal


• Otros espacios de tabla y cuotas
• Perfil del usuario
Creación de usuario
1.- Crear Usuario
SQL> create user (usuario) identified by (clave)
Para usuario local default tablespace (NOMBRE)
2.- Asignar permisos
SQL> select grantee, privilege from dba_sys_privs
SQL> GRANT (PERMISO) to (usuario)
SQL> GRANT connect to (usuario)
SQL> GRANT create table to OPE1

SQL> select grantee, privilege from dba_sys_privs where grantee=‘USUARIO’;


Errores comunes
ERROR DESCRIPCIÓN Solución

ORA-65096: invalid common user or role name Show con_name


SELECT PDB_ID,
PDB_NAME, STATUS
FROM DBA_PDBS ORDER
BY PDB_ID;

ALTER SESSION SET


CONTAINER = XEPDB1;
ORA-01045 significa que el usuario que intentó conectarse a la grant create session to
base de datos no tiene privilegios para conectarse (user)

También podría gustarte