Administración de Bases de Datos Oracle: Copias de Seguridad, Tablespaces, Usuarios y Privilegios

Francés8,69 KB

Copias de Seguridad en Bases de Datos (Backups)

Physical Backups (Copias Físicas)

Son copias físicas de los ficheros que componen la base de datos (data files, control files y archived redo logs).

Logical Backups (Copias Lógicas)

Solo contienen la información lógica, es decir, los metadatos necesarios para recrear los objetos de la base de datos.

Clasificación de los Backups Físicos

Contenido del Backup

  • Backup completo: toda la base de datos.
  • Backup parcial.

Tipo de Backup

  • Full backup: completo de cada bloque.
  • Incremental backup: solo se hace copia de los bloques que han sido modificados desde un backup previo (nivel 0, 1).

Consistencia del Backup

  • Backup offline (frío o consistente): mientras la base de datos está apagada.
  • Backup online (caliente o inconsistente): mientras la base de datos está arrancada.

Ficheros Generados por Backups Físicos

  • Image copies: duplicados exactos de los ficheros copiados.
  • Backup sets: colecciones de uno o más ficheros binarios de la base de datos.

RMAN (Recovery Manager)

Componente de Oracle Database utilizado para las operaciones de backup y recuperación.

Acceder a RMAN

  • RMAN nocatalog: indica que utiliza RMAN sin conexión al catálogo.

Conexión a la Base de Datos

  • CONNECT TARGET;

Channels (Canales)

Conexión a una base de datos mediante la cual se llevan a cabo la mayor parte de las tareas de backup y recuperación.

Gestión de Tablespaces

Tipos Principales de Tablespaces

  • SYSAUX: tablespace auxiliar en el que se alojan diferentes componentes como, por ejemplo, los datos históricos de AWR.
  • SYSTEM: este tablespace es utilizado por la base de datos para albergar el diccionario de datos, en el esquema SYS. También puede funcionar como un tablespace temporal.
  • TEMP: es el tablespace temporal por defecto, se utiliza para aquellas operaciones que requieran la creación de segmentos temporales.
  • UNDOTBS1: en un entorno RAC se crean tantos tablespaces UNDO como instancias disponibles. Almacena la información de undo (información necesaria para deshacer aquellos cambios de una transacción, que hacen rollback si la gestión automática de undo está establecida; solo puede haber un único tablespace de undo por instancia).
  • USERS: tablespace destinado a albergar los objetos y datos de usuarios. Si no se especifica un tablespace durante la creación del usuario, utilizará este tablespace por defecto.

Ventajas de Usar Varios Tablespaces para Datos de Usuario

  1. Separar los datos de usuario de los del diccionario.
  2. Separar los datos de cada aplicación.
  3. Optimizar el rendimiento.
  4. Restaurar los datos contenidos en un único tablespace desde un backup.

Tipos de Tablespaces según su Permanencia

  • Permanent tablespace (Data tablespace): albergan objetos persistentes (data e index segments) y se almacenan en data files.
    ;
  • Undo tablespace: albergan undo segments y se almacenan en data files. Su creación sigue las mismas normas que la de los tablespaces permanentes, excepto que incluye la cláusula UNDO.
    CREATE UNDO TABLESPACE pruebaundo2;
  • Temporary tablespace: albergan temporary segments que solo permanecen durante la sesión y se almacenan en temp files.

    El tablespace temporal por defecto, al igual que el de undo, se puede modificar:

    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE <nombre>;

Modificación de Tablespaces

Es posible pasar un tablespace a estado offline, estas son las diferentes razones:

  1. Impedir el acceso a una parte determinada de la base de datos de manera temporal.
  2. Realizar un backup en frío del tablespace, aunque lo habitual es hacerlo en caliente, esto es, sin apagar.
  3. Permitir el mantenimiento de la aplicación a la que pertenecen los objetos contenidos en el tablespace.
  4. Para renombrar o mover los data files del tablespace.

No es posible pasar a offline los siguientes tablespaces:

  1. SYSTEM
  2. Tablespaces de UNDO
  3. Tablespaces temporales

Gestión de Usuarios

Perfiles de Usuario (User Profiles)

Los perfiles son un conjunto de directivas sobre el uso de recursos y el comportamiento de las contraseñas. Cada usuario puede disponer de un único perfil, bien sea el por defecto (DEFAULT) o uno específico.

Los perfiles pueden definir las siguientes directivas:

Parámetros de Recursos

Limitan el uso de determinados recursos. El valor por defecto es UNLIMITED.

  • SESSIONS_PER_USER: especifica el número de sesiones concurrentes que puede establecer el usuario.
  • CPU_PER_SESSION: especifica el tiempo máximo de CPU, en centésimas de segundo, que puede utilizar el usuario.
  • CPU_PER_CALL: especifica el tiempo máximo de CPU, en centésimas de segundo, que puede utilizar el usuario en una única petición.
  • CONNECT_TIME: especifica el tiempo máximo de conexión para una sesión del usuario, en minutos.
  • IDLE_TIME: especifica el tiempo máximo de inactividad, en minutos, para una sesión del usuario.
  • LOGICAL_READS_PER_SESSION: especifica el número máximo de bloques leídos en una sesión del usuario.
  • LOGICAL_READS_PER_CALL: especifica el número máximo de bloques leídos para una petición (call).
  • PRIVATE_SGA: solo es válido para servidores compartidos, donde la memoria privada del usuario (UGA).
  • COMPOSITE_LIMIT: es un valor expresado en service units para cada sesión y que se calcula a partir del uso de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA.

Parámetros de Passwords

Los parámetros que hacen referencia a tiempo se expresan en días.

  • FAILED_LOGIN_ATTEMPTS: especifica el número de intentos fallidos consecutivos de logins permitidos antes de que el usuario pase a estar bloqueado.
  • PASSWORD_LIFE_TIME: especifica el número de días que puede usarse una contraseña antes de caducar.
  • PASSWORD_REUSE_TIME y PASSWORD_REUSE_MAX: determinan el número de días y el número de veces que se ha de cambiar antes de reutilizar una contraseña.
  • PASSWORD_LOCK_TIME: especifica el número de días que una cuenta permanecerá bloqueada después de incumplir el número máximo de logins fallidos.
  • PASSWORD_GRACE_TIME: especifica el número de días tras los cuales comienza el período de gracia, durante el cual se ofrecerán mensajes de advertencia indicando que se ha de modificar la contraseña.

Privilegios

Los privilegios son los permisos que se asignan a los usuarios y que permiten implementar la seguridad relacionada con el control de acceso a objetos y de ejecución.

GRANT <privilegio> TO <usuario/rol> [WITH ADMIN OPTION];

Para quitar un privilegio de sistema a un usuario o un rol, se utiliza la siguiente sentencia:

REVOKE <privilegio> FROM <usuario/rol>;
GRANT <privilegio> ON <objeto> TO <usuario/rol> [WITH GRANT OPTION];

Roles

Los roles son agrupaciones de privilegios, que presentan los siguientes beneficios:

  • Facilitan el manejo de privilegios: evitan la asignación de los mismos privilegios a diferentes usuarios.
  • Permiten la modificación dinámica de privilegios: la modificación del privilegio de un rol afecta a todos los usuarios a los que ha sido asignado el rol.
  • Disponibilidad selectiva del privilegio: los roles pueden ser habilitados o deshabilitados para activar o desactivar privilegios temporalmente.

La asignación de un rol a un usuario se ejecuta mediante la siguiente sentencia:

GRANT <rol> TO <usuario>;

Para quitar un rol a un usuario (u otro rol) se utiliza la siguiente sentencia:

REVOKE <rol> FROM <usuario>;

Descargar

PDF Word HTML