UNIDAD III. CONFIGURACION Y ADMINISTRACION DE ESPACIO EN EL DISCO

 

publicado por  Ervin Aldo D.J. el 28 de julio, 2021.

INTRODUCCIÓN

El espacio en disco es muy importante en las bases de datos para almacenar grandes cantidades de datos de forma permanente.

Algunas de las razones por las cuales se almacenan las bases de datos en memorias secundarias es por el gran tamaño de las bases de datos en memorias secundarias es por el gran tamaño de las bases de datos para ser guardadas en memoria principal.

Otra de las causas para utilizar la memoria secundaria es porque suele ser más barata que la memoria primaria.

Las bitácoras tienen una principal función que es recuperar información ante incidentes de seguridad, etc.

Una de las ventajas de crear particiones en una base de datos es a causa de que mejora el rendimiento y simplifica el mantenimiento.

Un segmento es un conjunto de extensiones que contiene todos los datos para un espacio de tabla dentro de una estructura de almacenamiento lógico.

3.1. DEFINICIÓN DE ESPACIO DE ALMACENAMIENTO.

En informática, el espacio de almacenamiento usualmente hace referencia a la cantidad de datos disponibles o libres en un medio de almacenamiento. Para no confundir a los usuarios lo mejor es hablar de "espacio libre de almacenamiento", pero no es necesario la palabra "libre" en realidad, dado que, por definición, "espacio" significa algo vacío.

El espacio de almacenamiento, al igual que la capacidad de almacenamiento, suele medirse en byte, kilobyte, megabyte, gigabyte, etc.

Por ejemplo, tenemos un medio de almacenamiento (un disco duro) de 500 gigabytes, de los cuales tenemos ocupados 100 gigabytes. Por lo tanto, el espacio libre de almacenamiento en ese disco duro será de 400 gigabytes.

Distinción entre capacidad y espacio de almacenamiento

Capacidad de almacenamiento no es lo mismo que espacio de almacenamiento:

La capacidad de almacenamiento hace referencia al total de almacenamiento que puede guardar un medio de almacenamiento, es decir, es la suma de espacio libre y espacio ocupado.

En tanto decir "espacio de almacenamiento" usualmente hace referencia al espacio libre o sin utilizar de un medio de almacenamiento.

De todas maneras, como hemos aclarado, puede decir también "espacio libre de almacenamiento" para que no haya confusiones (Alegsa, 2013).

3.2. DEFINICIÓN Y CREACIÓN DEL ESPACIO ASIGNADO PARA CADA BASE DE DATOS.

Las bases de datos se almacenan en ficheros o archivos, existen diferentes formas de organizaciones primarias de archivos que determinan la forma en que los registros de un archivo se colocan físicamente en el disco y, por lo tanto, cómo se accede a éstos.

Las distintas formas de organizaciones primarias de archivos son:

  • Archivos de Montículos (o no Ordenados): esta técnica coloca los registros en el disco sin un orden específico, añadiendo nuevos registros al final del archivo.
  • Archivos Ordenados (o Secuenciales): mantiene el orden de los registros con respecto a algún valor de algún campo (clave de ordenación).
  • Archivos de Direccionamiento Calculado: utilizan una función de direccionamiento calculado aplicada a un campo específico para determinar la colocación de los registros en disco.
  • Árboles B: se vale de la estructura de árbol para las colocaciones de registros.

Existe una segunda forma de acceder a los datos llamada:
Organización secundaria o estructura de acceso auxiliar: Estas permiten que los accesos a los registros de un archivo basado en campos alternativos, sean más eficientes que los que han sido utilizados para la organización primaria de archivos.
El DBMS asigna espacio de almacenamiento a las bases de datos cuando los usuarios introducen create database o alter database.
El primero de los comandos puede especificar uno o más dispositivos de base de datos, junto con la cantidad de espacio en cada uno de ellos que será asignado a la nueva base de datos.
Si se utiliza la palabra clave default o se omite completamente la cláusula on, el DBMS pone la base de datos en uno o más de los dispositivos predeterminados de base de datos especificados en master…sysdevice.
Para especificar un tamaño (en este ejemplo, 4MB) para una base de datos que se va a almacenar en una ubicación predeterminada, utilice on default = size de esta forma: create database newpubs on default = 4
Para situar la base de datos en dispositivos específicos, dé el nombre del dispositivo o dispositivos en que desea almacenarla. Como la sintaxis indica, se puede solicitar que se almacene en más de un dispositivo de base de datos, con una cantidad de espacio diferente en cada uno. Todos los dispositivos mencionados en create database deben estar enumerados en sysdevices. En otras palabras, deben haberse inicializado con disk init.
La instrucción siguiente crea la base de datos newdb y asigna 3MB en mydata y 2MB en newdata. Como en el ejemplo anterior, la base de datos y el diario de transacciones no se separan:
create database newdb on mydata = 3, newdata = 2
Nota: A menos que cree una base de datos pequeña o que no sea crucial, sitúe siempre el diario en un dispositivo de base de datos aparte.
Si la cantidad de espacio solicitada a un dispositivo específico de base de datos no está disponible, el DBMS crea la base de datos con tanto espacio como sea posible en cada dispositivo y muestra un mensaje informando el espacio asignado en cada uno (Esto no se considera un error).
Si hay menos espacio del mínimo necesario para una base de datos en el dispositivo especificado (o en el predeterminado, si no se especifica un nombre), el comando create database falla.(Aylin Salazar A, 2017)

3.3 Asignación de cuotas de espacio para usuarios

Por defecto ningún usuario tiene cuota en los Tablespaces y se tienen tres opciones para poder proveer a un usuario de una cuota sin límite, que permite al usuario usar todo el espacio disponible de un Tablespace.

Por medio de un valor, que puede ser en kilobytes o megabytes que el usuario puede usar. Este valor puede ser mayor o menor que el tamaño del Tablespace asignado a él.

Por medio del privilegio UNLIMITED TABLESPACE, se tiene prioridad sobre cualquier cuota dada en un Tablespace por lo que tienen disponibilidad de todo el espacio incluyendo en SYSTEM y SYSAUX.

No se recomienda dar cuotas a los usuarios en los Tablespaces SYSTEM y SYSAUX, pues típicamente sólo los usuarios SYS y SYSTEM pueden crear objetos en éstos. Tampoco dar cuotas en los Tablespaces Temporales o del tipo Undo.

CREATE USER nombre IDENTIFIED BY contraseña [DEFAULT TABLESPACE nombreTableSpace] [TEMPORARY TABLESPACE nombreTemp] [QUOTA INT {K|M} | UNLIMITED ON nombreTableSpace] [PROFILE perfil] [PASSWORD EXPIRE] [ACCOUNT {LOCK | UNLOCK}]

CREATE USER: Nos permite especificar el nombre del usuario

IDENTIFIED BY: Nos permite especificar su contraseña

DEFAULT TABLESPACE: Definimos el tablespace por defecto. Si no se especifica se asigna USERS. Para crear un nuevo tablespace.

TEMPORARY TABLESPACE: Definimos el tablespace temporal. Si no especificamos ninguno se asigna TEMP.

QUOTA: Espacio que el usuario podrá utilizar en el sistema. Si no se especifica el espacio por defecto es 0 con lo cual el usuario no podrá crear nada.

PROFILE: Permite especificar el perfil por defecto. Si no se especifica se asigna DEFAULT: Es utilizado para controlar el acceso a los recursos, por ejemplo, el número de sesiones concurrentes, uso de CPU, etc.

 PASSWORD EXPIRE: Especifica que la contraseña asignada al usuario expirará, de esta forma, el propio usuario o el DBA deberá asignar una nueva antes de acceder al sistema.

ACCOUNT LOCK/UNLOCK: Podemos decidir si el usuario tendrá la cuenta bloqueada o no de forma inicial.



3.4  Espacios para objetos de la base de datos. 

Los DBMS se basan en archivos para almacenar datos, y estos archivos, o conjuntos de datos, residen en medios de almacenamiento, o dispositivos. Una buena parte del trabajo del DBA implicará la planificación para el almacenamiento real de la base de datos.

El rendimiento de la base de datos depende de la entrada y salida a disco. La cantidad de datos almacenados es mayor que nunca antes, y los datos son almacenados por más tiempo.

Algunas tecnologías de almacenamiento son más adecuadas que otras. Sin embargo, la naturaleza mecánica de la unidad de disco los hace más vulnerables al fracaso de los componentes de otro equipo. Además, las formas en que las unidades de disco son utilizados por las bases de datos pueden hacer que la gestión del almacenamiento sea impredecible, como la barra lateral "Modern DBMS de uso de disco“ Puede usarse RAID para mejorar la seguridad de los datos.

Para aplicaciones de misión crítica la integridad de los datos puede ser más importante que la disponibilidad de datos. Si el soporte es poco fiable y un fallo de las causas de corrupción de datos, los datos perdidos puede ser más de un problema que el tiempo de inactividad. Es imperativo, por tanto, que las soluciones de almacenamiento de base de datos para protegerlos a toda costa. La recuperación de datos desde medios de almacenamiento lleva mucho más tiempo en completarse que la recuperación de datos desde la memoria caché o la memoria.

Algunos DBMS permiten al tamaño de los archivos temporales de expandirse y contraerse de forma automática. Dependiendo del tipo y la naturaleza de las operaciones de base de datos en proceso, esta fluctuación puede provocar picos de uso del disco.

El crecimiento de la capacidad de almacenamiento aumenta aún más la complejidad de la gestión de datos y bases de datos. Muchas organizaciones están implementando nuevas tecnologías de almacenamiento, tales como almacenamiento en red (NAS) y redes de área de almacenamiento (SAN), para ayudar a controlar la cantidad cada vez mayor de almacenamiento necesario para los usos modernos. La gestión del almacenamiento en el entorno dinámico de hoy es una tarea difícil DBA. Hay muchos problemas de almacenamiento que deben ser resueltos antes de que un DBA pueda crear una base de datos. Uno de los temas más importantes es la cantidad de espacio para permitir la base de datos.

El cálculo espacial debe tener en cuenta no sólo tablas, índices, sino también, y dependiendo del DBMS, el registro de transacciones. Cada una de estas entidades probablemente requerirá un archivo separado o conjunto de datos, para el almacenamiento persistente. El DBA debe separar en diferentes discos a los archivos para:

* Mejorar el rendimiento.

* Separar índices de datos.

* Aislar los datos en otro disco.




3.5. Roles

Los roles son un conjunto de privilegios que se pueden otorgar a un usuario o a otro Rol. De esa forma se simplifica el trabajo del DBA en esta tarea.

Por default cuando creamos un usuario desde el Enterprise Manager se le asigna el permiso de connect, lo que permite al usuario conectarse a la BD y crear sus propios objetos en su propio esquema. De otra manera, debemos asignarlos en forma manual.

Para crear un Rol y asignarlo a un usuario se hace de la siguiente manera:

SQL> CREATE ROLE appl_dba;

Opcionalmente, se puede asignar una clave al Rol:

SQL> SET ROLE appl_dba IDENTIFIED BY app_pwd;

Para asignar este Rol a un usuario:

SQL> GRANT appl_dba TO jperez;

Otro uso común de los roles es asignar privilegios a nivel de Objetos, por ejemplo, en una Tabla de Facturas en donde sólo queremos que se puedan hacer Querys e Inserts:

SQL> CREATE ROLE consulta;

SQL> GRANT SELECT,INSERT on analista.factura TO consulta;

Y finalmente asignamos ese rol con este “perfil” a distintos usuarios finales:

SQL> GRANT consulta TO ahernandez;

Nota: Existen algunos roles predefinidos, tales como:

CONNECT, CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SYNONYM, CREATE SEQUENCE, CREATE DATABASE LINK, CREATE CLUSTER,

ALTER SESSION, RESOURCE, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, CREATE TYPE, CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR SCHEDULER, CREATE ANY JOB, CREATE JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM, MANAGE SCHEDULER, etc.

DBA: Tiene la mayoría de los privilegios, no es recomendable asignar a usuarios que no son administradores.

SELECT_CATALOG_ROLE: No tiene privilegios de sistema, pero tiene cerca de 1600 privilegios de objeto.

Para consultar los roles definidos y los privilegios otorgados a través de ellos, utilice las vistas:

SQL> select * from DBA_ROLES;

SQL> select * from DBA_ROLE_PRIVS order by GRANTEE;

Importancia al momento de crear una base de datos

Es importante que a la hora de crear una BD el DBA configure y asigne el espacio de disco que ocupará la BD para que así no haya complicaciones en caso de que la cantidad de información almacenada sea en volumen muy grande y llegara a faltar espacio en el disco para ese volumen de información, así como la importancia de tener bien administrada la BD ya que de no ser así pueden existir errores que causaría el colapso de dicha BD.

Porque el administrador debe contemplar la configuración y administración del espacio

El DBA debe de contemplar estos aspectos ya que de lo contrario no estaría bien el BD ya que no se tiene considerado el espacio de disco que se ocupara y en dado caso que se requiera más espacio no se podría tener más espacio ya que en un principio no se consideró ni la configuración ni la administración del espacio en disco, se tendría que volver a generar un BD con las especificaciones necesarios para empresa causando pérdidas de dinero y tiempo para dicha empresa.


Conclusión

En conclusión, podemos mencionar que las bases de datos se almacenan en archivos o ficheros, y en esto hay 4 tipos, los no ordenados que se van agregando de forma aleatoria, la secuencial es decir que lleva un orden, de direccionamiento calculado donde se calcula el espacio donde se deben acomodar, Árboles B se vale de la estructura de árbol para las colocaciones de registros.
La administración del espacio en disco sirve principalmente para tener respaldada  toda la información en buen estado las bases de datos ya que existe un respaldo para las bases de datos que contienen mucha información, sin el riesgo de perderla si se ha guardado correctamente y si se ha hecho un buen mantenimiento de las particiones y crear correctamente el respaldo de las bases de datos.

Referencias.

Silva, J. (2019, julio). Unidad III. Unidad III: Configuración y administración del espacio en disco. https://confyadmindelespacioendisco.blogspot.com/2019/04/3.html 

UNIDAD 3 :: Administracion Bases de Datos. (2020). Administración Bases de Datos. https://proyecto359.webnode.mx/unidad3/ 

Aylin Salazar A. (2017, May 15). 3.1.2. Definición y Creación del espacio asignado para cada base de datos. Blogspot.com; Blogger. https://linslz.blogspot.com/2017/05/312-definicion-y-creacion-del-espacio.html 

Unidad 3: Configuración y Administración del Espacio en Disco - Administración de Bases de Datos. (2019). Administración de Bases de Datos. https://sites.google.com/site/itjabd23/home/asignatura/plan-de-estudios/unidad-3- configuracion-y-administracion-del-espacio-en-disco 

kitos-man. (2017, June 4). 3.4. Espacios para objetos de la base de datos. Blogspot.com; Blogger. http://administrasiondebasededatos123456789.blogspot.com/2017/06/34-espacios- para-objetos-de-la-basede.html#:~:text=Los%20DBMS%20se%20basan%20en,de%20la%20base%20de %20datos. 

VHugoBarnes. (2020, April 24). Configuración y administración del espacio en disco. Víctor Hugo; Víctor Hugo. https://vhugobarnes.wordpress.com/2020/04/24/configuracion-y-administracion-delespacio-en-disco/ 

Alegsa, L. (2013, August). Definición de espacio de almacenamiento. Alegsa.com.ar; Alegsa.com.ar. https://www.alegsa.com.ar/Dic/espacio_de_almacenamiento.php#:~:text=En%20 inform%C3%A1tica%2C%20el%20espacio%20de,en%20un%20medio%20de% 20almacenamiento.&text=Por%20lo%20tanto%20el%20espacio,duro%20ser%C 3%A1%20de%20400%20gigabytes.

Comentarios