miércoles, 28 de julio de 2021

3.5. Roles.

 

3.5.        Roles.







Un es un conjunto de privilegios que se asigna a un usuario o grupo de usuarios para permitir realizar determinadas tareas y gestionedeterminadas sesiones.



Los roles controlan a que secciones del panel del administrador puedan acceder los distintos tipos de usuarios.

·         Puede usar los roles de sistema para signar subconjuntos de privilegios administrativos a otrosusuarios. De este modo podrá delegar tareas administrativas rutinarias a otros usuarios.



Por ejemplo:

Puede otorgar a un profesor acceso a las páginas de administración de usuarios.



 



 

 

 

·         Solo un usuario con todos los privilegios de administrador puede asignar privilegios a los roles del sistema.



·         Los múltiples roles del sistema conceden al usuario la suma de sus privilegios.

 

ACERCA DE LOS ROLES PREDETERMINADOS DEL SISTEMA

 

 

Cada rol de sistema tiene un grupo de privilegios predefinidos. Se pueden agregar o eliminar privilegios en todos estos roles exceptoen los de administrador del sistema e invitado.



Los Roles, que son simplemente un conjunto de privilegios que se pueden otorgar a un usuario o a otro Rol. De esa forma sesimplifica 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 al 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 asignarle 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, CREATEDATABASE 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 asignarlo 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 ocupara 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 eldisco 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ían 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 delespacio en disco, se tendría que volver a generar un BD con las especificaciones necesarios para empresa causando pérdidas dedinero y tiempo para dicha empresa

3.4. Espacios para objetos de la base de datos.

 

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.

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 utilizadaspor las bases de datos pueden hacer que la gestión del almacenamiento impredecibles, 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 pueden 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.

 

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 se almacenados por más tiempo.

 

Algunos DBMS permiten al tamaño de los archivos temporales de expandirse y contraerse de forma automática. Dependiendo del tipoy 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. Muchasorganizaciones 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 usosmodernos. 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 lostemas 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 detransacciones. Cada una de estas entidades


probablemente requerirá un archivo separado o conjunto de datos, para el

almacenamiento persistente.

3.3. Asignación de cuotas de espacio para usuarios.

 

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 quota

 

PUNTOS

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.

 

Recomendación

 

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 Temporal o del tipo Undo.

 

Ejemplo creación de usuario

·         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 asignaUSERS. Para crear un nuevo tablespace.

·         TEMPORARY TABLESPACE: Definimos el tablespace temporal. Si no especificamosninguno se asigna TEMP.

·         QUOTA: Espacio que el usuario podrá utilizar en el sistema. Si no se especifica el espacio por defectoes 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 sesionesconcurrentes, 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 deforma inicial.

 

 

Tablespace

 

·         es una ubicación de almacenamiento donde pueden ser guardados los datos correspondientes a los objetos de una base de datos. Este provee una capa de abstracción entre los datos físicos y lógicos y sirve para asignar espacio

para todos los segmentos administrados del sistema de gestión de base de

datos (en inglés DBMS).


·         Un segmento es un objeto de la base de datos el cual ocupa espacio físico, como por ejemplo los datos de una tabla y los índices. Una vez creado, un tablespace puede ser referido por su nombre cuando se crean segmentos de la base de datos.

 

Características tablespace

 

·         Nombre: MiTablespace

 

 

·         Tamaño máximo 300MB

·         Creamos un nuevo usuario aitor con contraseña P@ssw0rd. Este usuario será el que trabajará coneste nuevo tablespace.

 

Ejemplo

 

·         CREATE TABLESPACE MiTablespace DATAFILE'D:\tabspace\mitablespace.DBF' SIZE 300M;

 

·         CREATE USER aitor IDENTIFIED BY P@ssw0rd DEFAULT TABLESPACEMiTablespace;

 

·         GRANT dba, connect, resource TO aitor;

 

·         GRANT CREATE ANY VIEW TO aitor WITH ADMIN OPTION;


·         //Al acceder al sistema con el usuario aitor y contraseña P@ssw0rd, ya

podremos trabajar con el nuevo tablespace creado.

3.2. Definición y creación del espacio asignado para cada base de datos.

 

3.2.        Definición y creación del espacio asignado para cada base de   datos.





Una base de datos se divide en unidades lógicas denominadas TABLESPACES. Un tablespace no es un archivo físico en el disco,simplemente es el nombre que tiene un conjunto de propiedades de almacenamiento que se aplican a los objetos (tablas,secuencias…) que se van a crear en la base de datos bajo el tablespace indicado (tablas, secuencias…). Un espacio de tablas puedepertenecer sólo a una BD.


Un objeto en la base de datos debe estar almacenado obligatoriamente dentro de un

tablespace.


Cuando se crea una tabla se debe indicar el espacio de tablas (Tablespace) al que se destina. Por defecto se depositan en el espacio detablas SYSTEM.

 

Cuando se crea un nuevo Tablespace, la capacidad total del tablespace coincidirá con la suma de los tamaños de los archivos de datos(datafiles) asociados.

 

Por ejemplo:

create tablespace app_data

datafile ‘/u03/oradata/ userdata01. dbf ’ size 100m, datafile ‘/u03/oradata/ userdata02. dbf size 250m;

 

En este caso se crea un tablespace app_data asociado a dos archivos con una capacidad total de 350M.

 

Si se quiere incrementar el tamaño de la base, se puede hacer incrementando el tamaño de un archivo de datos (data files) de unTablespace en particular.

 

Por ejemplo:

alter database datafile ‘/u03/oradata/ userdata02. dbf’ resize 200m;

 

 

Si no se tiene espacio libre en la partición del disco, entonces se puede agregar otro archivo de datos (data files) sobre otra partición de disco para un Tablespace en particular.

 

Por ejemplo:

alter tablespace app_data add datafile ‘/u01/oradata/ userdata03. dbf’ size 200m;

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 lotanto, 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 ordenespecí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, puede solicitar que se almacene en más de un dispositivo de base de datos, con una cantidad de espacio diferente encada 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, labase 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.

6.2 Auditoria

  6.2 Auditoria Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la información almacenada en las ...