INTRODUCCION
La base de datos oracle 9i es un manejador de base de datos relacional que hace uso de los recursos del sistema informático en todas las arquitecturas de hardware, para garantizar su aprovechamiento al máximo en ambientes cargados de información.
Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. También es el conjunto de datos que proporciona la capacidad de almacenar y acudir a estos de forma recurrente con un modelo definido como relacional. Además es una suite de productos que ofrece una gran variedad de herramientas.
OBJETIVOS
El objetivo principal de Oracle 9i SQL, mejorar constantemente la tecnología del servidor de datos y conocer el concepto de base de datos relacional, así como el lenguaje de programación SQL. Asimismo, crear y mantener objetos de bases de datos, almacenar, recuperar y manipular datos, para resolver complejos retos en el manejo de información para empresas de todos los tipos y tamaños.
PRIVILEGIOS DEL SISTEMA
Privilegios de sistema son permisos para realizar ciertas operaciones en la base de datos. El modo de asignar un privilegio es a través de la instrucción GRANT y el modo de cancelar un privilegio es a través de la instrucción REVOKE.
Se utilizan para distribuir la disponibilidad de los comandos del sistema utilizados para gestionar la BD. Los privilegios más comunes están en la siguiente tabla. En ella se distinguen entre privilegios de manejo de objetos y de gestión de la BD. La palabra clave ANY significa que ese usuario tiene el privilegio para todos los esquemas en la BD.
Instrucción GRANT:
GRANT [privilegios_de_sistema
roles] TO [usuarios
roles
PUBLIC] { WITH ADMIN OPTION };
WITH ADMIN OPTION permite que el privilegio/rol que se ha concedido,pueda ser concedido a otros usuarios por el usuario al que se le está asignando.
Instrucción REVOKE:
REVOKE [privilegios_de_sistema
roles] FROM [usuarios
roles
PUBLIC];
Los privilegios sobre objetos consienten que un objeto (creado por un usuario) pueda ser accedido por otros usuarios. Y el nivel de acceso depende del permiso que puede ser de SELECT, de UPDATE, de DELETE, de INSERT o de todos ellos.
La sintaxis es:
GRANT [ALL {PRIVILEGES}
SELECT
INSERT
UPDATE
DELETE]
ON objetoTO [usuario
rol
PUBLIC] {WITH ADMIN OPTION};
De igual manera para eliminar privilegios sobre objetos se tiene la instrucción
REVOKE:
REVOKE [ALL {PRIVILEGES}
SELECT
INSERT
UPDATE
DELETE]
ON objeto FROM [usuario
rol
PUBLIC] {WITH ADMIN OPTION};
Hay que hacer notar que ANY y PUBLIC no son sinónimos.
Privilegio Capacidades
CREATE ANY INDEX Crear cualquier índice.
CREATE [PUBLIC] SYNONYM Crear sinónimos [públicos].
CREATE [ANY] TABLE Crear tablas. El usuario debe tener cuota en el espacio de tablas, o ha de tener asignado el privilegio UNLIMITED TABLESPACE.
CREATE [ANY] VIEW Crear vistas.
ALTER ANY INDEX Alterar cualquier índice.
ALTER ANY TABLE Alterar cualquier tabla
DROP ANY INDEX Borrar cualquier índice.
DROP ANY SYNONYM Borrar cualquier sinónimo.
DROP PUBLIC SYNONYM Borrar sinónimos públicos.
DROP ANY VIEW Borrar cualquier vista.
DROP ANY TABLE Borrar cualquier tabla.
SELECT ANY TABLE Efectuar selecciones de cualquier tabla o vista.
INSERT ANY TABLE Insertar en cualquier tabla o vista.
DELETE ANY TABLE Borrar filas de cualquier tabla o vista, y también truncar.
ALTER SESSION Alterar los parámetros de la sesión.
CREATE SESSION Conectarse a la BD.
Gestión de la BD ...
CREATE PROFILE Crear perfiles de usuario.
CREATE ROLE Crear roles.
CREATE ROLLBACK SEGMENT Creación de segmentos de rollback.
CREATE TABLESPACE Crear espacios de tablas.
DROP ANY ROLE Borrar cualquier rol.
DROP ROLLBACK SEGMENT Borrar un segmento de rollback existente.
DROP TABLESPACE Borrar un espacio de tablas.
DROP USER Borrar un usuario. Añadir CASCADE si el usuario posee objetos.
ALTER DATABASE Permite una sentencia ALTER DATABASE.
GRANT ANY PRIVILEGE Otorgar cualquiera de estos privilegios.
GRANT ANY ROLE Otorgar cualquier rol a un usario.
UNLIMITED TABLESPACE Puede usar una cantidad de almacenamiento ilimitada.
DROP PROFILE Borrar un perfil existente.
PRIVILEGIOS DE ROLES
Roles permite asignar un grupo de permisos a un usuario, y poder modificar este grupo de permisos sin tener que ir modificando todos los usuarios. Si asignamos un rol con 10 permisos a 300 usuarios, y posteriormente añadimos un permiso nuevo al rol, no será necesario ir añadiendo este nuevo permiso a los 300 usuarios, ya que el rol se encarga automáticamente de propagarlo. La sintaxis básica es:
CREATE ROLE nombre_rol { [NOT IDENTIFIED
IDENTIFIED [BY clave
EXTERNALLY};
Una vez que el rol ha sido creado será necesario añadirle permisos a través de instrucciónGRANT.
Rol predefinido Descripción
CONNECT : Todos los permisos necesarios para iniciar una sesión en Oracle
RESOURCE : Todos los permisos necesarios para tener recursos para la creación de objetos
DBA: Todos los permisos para un administrador de base de datos (DBA)
EXP_FULL_DATABASE Permisos para poder exportar toda la base de datos.
IMP_FULL_DATABASE: Permisos para poder importar toda la base de datos.
Podemos decir que un usuarios normal, debe tener al menos los permisos de CONNECT (para conectarse) y de RESOURCE (para poder crear objetos).
Ejemplos:
CREATE ROL CONTROL_TOTAL; CREATE ROL BASICO; CREATE ROL ACCESO_CONTABILIDAD;
Retirada de privilegios de sistema o roles a los usuarios
REVOKE {PRIV_SISTEMA
ROL} [,{PRIV_SISTEMA
ROL}]…
FROM {USUARIO
ROL
PUBLIC} [,{USUARIO
ROL
PUBLIC}]…;
Roles
Conjunto de privilegios agrupados. Formato:
CREATE ROLE NOMBREROL [IFENTIFIED BY CONTRASEÑA];
Supresión de privilegios en los roles
REVOKE NOMBREPRIVILEGIO ON NOMBRETABLA FROM NOMBREROL;
REVOKE NOMBREPRIVILEGIO FROM NOMBREROL;
Supresión de un rol
DROP ROLE NOMBREROL;
Establecer un rol por defecto
ALTER USER NOMBREUSUARIO
DEFAULT {[ROLE NOMBRE_ROL]
[NONE]};
Los privilegios de OSOPER son STARTUP, SHUTDOWN, ALTER DATABASE OPEN/MOUNT, ALTER DATABASE BACKUP, ARCHIVE LOG, RECOVER y RESTRICTED SESSION.
Se pueden crear nuevos roles. Por ejemplo, creadorCuentas que sólo pueda crear usuarios y no pueda realizar ninguna otra operación de DBA. Las sentencias que permiten hacer esto son las siguientes:
SVRMGR> create role creadorCuentas;
Statement processed.
SVRMGR> grant create session, create user to creadorCuentas;
Statement processed.
Oracle incluye otros tres roles de sistema: CONNECT, RESOURCE y DBA, cuyos privilegios son:
Rol Privilegios
CONNECT alter session, create session, create cluster, create table, create view, create synonym, create sequence, create database link
RESOURCE create cluster, create table, create procedure, create sequence, create trigger
DBA todos los privilegios de sistema con la opcion with admin option
TABLESPACE
El concepto básico de Tablespace fue explicado brevemente en la sección de creación y eliminación de usuarios. Las propiedades que se asocian a un tablespace son y cuando un objeto es creado dentro de un tablespace, hereda todas estas propiedades:
• Localización de los ficheros de datos.
• Especificación de máximas cuotas de consumo de disco.
• Control de la disponibilidad de los datos (en línea o fuera de línea).
• Backup de datos.
Es la capacidad de un usuario dentro de la base de datos a realizar determinadas operaciones o acceder a determinados objetos de otros usuarios.
Privilegios
Nos permite acceder y realizar cambios en los datos de otros usuairo. Ejemplo: El privilegio de consultar la tabla de otro usuario es un privilegio sobre objetos.
GRANT {PRIV_OBJETO [, PRIV_OBJETO]…
ALL [PRIVILEGES]}
[(COL [,COL]…)]
ON [USUARIO] OBJETO
TO {USUARIO
ROL
PUBLIC} [,{USUARIO
ROL
PUBLIC}…]
[WITH GRANT OPTION];
ON= Especifica el objeto sobre el que se dan los privilegios.
TO= Identifica a los usuarios o roles a los que se conceden los privilegios.
ALL= Concede todos los privilegios sobre el objeto especificado.
WITCH GRANT OPTION= Permite que el receptor del privilegio o rol se lo asigne a otros usuarios o roles.
PUBLIC= Asigna los privilegios a todos los usuarios actuales y futuros de la base de datos
CREATE USER nombre_usuario IDENTIFIED [ BY clave
EXTERNALLY ] { DEFAULT TABLESPACE tablespace_por_defecto } { TEMPORARY TABLESPACE tablespace_temporal } { DEFAULT ROLE [ roles, ALL [EXCEPT roles], NONE ] };
La cláusula IDENTIFIED BY permite indicar el tipo de autorización que se utilizará: • Interna de Oracle: una clave para cada usuario de base de datos. • Interna del SO: utilizando la seguridad del SO.
La cláusula DEFAULT TABLESPACE será el //tablespace //por defecto en la creación de objetos del usuario que estamos creando. Si se omite se utilizará el //tablespace// SYSTEM.
La cláusula TEMPORARY TABLESPACE indica el //tablespace //que se utilizará para la creación de objetos temporales en la operaciones internas de Oracle. Si se omite se utilizará el //tablespace //SYSTEM.
La cláusula DEFAULT ROLE asigna roles de permisos durante la creación del usuario.
V$FILESTAT - V$SESSTAT - V$SYSSTAT - V$DATAFILE - DBA DATA FILES
Determinar transacciones de espacio y activas están haciendo uso de un segmento de rollback específico se debe utilizar la vista.
DBA ROLLBACK SEGS - V$ACTIVE TRANSACTION - V$SESSION - V$ROLLSTAT
V$SESSION - V$TRANSACTION - V$ROLLSTAT - V$ROLLNAME - V$OPEN
El DBA sabe que la tabla se encuentra en el tablespace admin data pero este tablespace tiene asociados cinco datafiles. Para conocer en cual de estos datafiles efectivamente se encuentran los datos deberá utilizar la vista.
DBA OBJECTS - DBA SEGMENTS - DBA TABLESPACES - DBA TABLES
Seleccione la vista o conjunto de vistas del diccionario de datos que permitan obtener
el nombre los objetos actualmente bloqueados y el dueño del bloqueo desde la cual se ejecuto la instruccion bloqueante:
V$LOCK, V$SESSION - V$ACCESS - V$ACCESS,V$SESSION - V$TRANSACTION ENQUEUE, V$SESSION - V$TRANSACTION, V$TRANSACTION ENQUEUE, V$SESSION
DATAFILE
Un datafile son los "ficheros de datos" donde se almacena la información físicamente, este puede tener cualquier nombre y extensión (siempre dentro de las limitaciones del SO), y puede estar localizado en cualquier directorio del disco duro, además está asociado a un solo tablespace y un tablespace está asociado a uno o varios datafiles
Los datafiles tienen una propiedad llamada AUTOEXTEND, que en dado caso de que está activa, esta se encarga de que el datafile crezca automáticamente) cada vez que se necesite espacio y no exista.
Aunque el datafile este vacio, este tiene el tamaño en disco que ha sido indicadoen su creación o el que el sistema le ha dado por defecto. Oracle hace esto para direccionar espacio continuo en disco y evitar así la fragmentación. Conforme se vayan creando objetos en ese tablespace, se irá ocupando el espacio direccionado.
Privilegios
System: Que permiten al usuario hacer ciertas tareas sobre la base de datos, como por ejemplo crear un tablespace. Estos permisos son otorgados por el administrador o por alguien que haya recibido el permiso para administrar ese tipo de privilegio. Existen como 100 tipos distintos de privilegios de este tipo.
En general los permisos de sistema, permiten ejecutar comandos del tipo DDL (Data definition Language), como CREATE, ALTER y DROP o del tipo DML (Data Manipulation Language). Oracle 10G tiene m{as de 170 privilegios de sistema los cuales pueden ser vistos mediante la vista SYSTEM_PRIVILEGE_MAP
Entre todos los privilegios de sistema que existen, hay dos que son los más fuertes: SYSDBA y SYSOPER. Estos prácticamente son dados a los administradores de base de datos.
Object: Este tipo de permiso le permite al usuario hacer cierta acción en un objeto de la base de datos, como puede ser una tabla, vista, función etc. Si a un usuario no se le dan estos permisos solo podrías acceder a sus propios objetos. Y este tipos de permisos los da el dueño del objeto, el administrador o alguien que haya recibido este permiso explícitamente.
permisos GRANT SELECT,INSERT,UPDATE,DELETE ON marco TO tbl_ventas;
Si quisieramos que tambien el usuario marco pudiera dar permisos sobre la tabla venta anexariamos WITH GRANT OPTION GRANT SELECT,INSERT,UPDATE,DELETE ON marco TO tbl_ventas WITH GRANT OPTION;
CONEXIÓN TNS
TNS significa transparente Red sustrato. Esto significa que es el software de Oracle utiliza para administrar las conexiones. Es decir, puede utilizar TCP / IP en la red, pero los mapas de Oracle que genéricamente de lo que habla. Eso le permite conectar de la misma manera en todas partes (Oracle era escribir una vez, ejecuta en todas partes antes de que se enfríe.
Un servicio es lo que Oracle pide que se conecte a nada, aunque sea detrás de las escenas. Si está utilizando procedimientos externos C, que está utilizando el servicio EXTPROC. Cuando se conecta a una base de datos, está utilizando un servicio de base de datos y el archivo tnsnames.ora es donde se define sus servicios. Este archivo normalmente reside en el directorio $ ORACLE_HOME / network / directorio ADMIN
CONFIGURACIÓN DE AGENTE
Al agregar un sistema de control de la red, entré en todos los detalles etc.
Se completó la instalación (y aparece en la red de control).
Sin embargo, cuando llega a la final de la instalación, se produce un error el Agente
Asistente de configuración.
Salida generada a partir de asistente de configuración "de configuración del agente
Asistente:
Comando = oracle.sysman.emcp.agent.AgentPlugIn
Este archivo puede ser utilizado para ejecutar estas información fuera de la OUI asistentes.
El "/ home/oracle/OracleHomes/agent10g/cfgtoollogs / configToolFailedCommands "script contiene todos los comandos que no, se han omitido o se cancelaron.
Sin embargo por encima de la secuencia de comandos de fracaso - ¿A dónde voy a cambiar el contraseñas? todos los thats en el configToolFailedCommands es la siguiente:
# More / home/oracle/OracleHomes/agent10g/cfgtoollogs /configToolFailedCommands
El UltraBac Oracle Agent permite la copia de seguridad de bases de datos Oracle sin necesidad de apagar los servicios de Oracle antes de la copia. El agente puede realizar ya sea en caliente "o" frío "copias de seguridad en función de la modalidad de las bases de datos Oracle:
• copia de seguridad de agua caliente - base de datos de Oracle se debe establecer en "ARCHIVELOG modo", y la base de datos de Oracle no se desmontarán durante copia de seguridad.
• copia de seguridad Fría - Banco de datos de Oracle se debe establecer en "NOARCHIVELOG modo". La base de datos Oracle será automáticamente desmontado antes, y vuelven a montar después de copia de seguridad.
• Tabla: Agente de Oracle de opciones de configuración
Nombre de usuario: Muestra el nombre de usuario para la instancia de Oracle.
Contraseña: Muestra la contraseña del nombre de usuario de Oracle instancia.
Confirma la contraseña: Muestra de nuevo la contraseña para confirmarla
Utilice catálogo de recuperación: Indica que se va a utilizar el catálogo de recuperación de Oracle.
TNS nombre : Muestra el nombre del servicio de red de Oracle.
Nombre de usuario: Muestra el nombre de usuario para el catálogo de recuperación de Oracle.
Contraseña: Muestra la contraseña para el catálogo de recuperación de Oracle.
Confirma la contraseña: Muestra la contraseña para el catálogo de recuperación de nuevo para confirmar.
Media nombre del servidor o dirección IP: Muestra el nombre o la dirección IP del servidor de copia de seguridad Exec en la que desea enviar el DBA iniciado tareas de respaldo.
Empleo nombre de la plantilla: Muestra el nombre de la copia de seguridad de empleo Exec plantilla que desea que el DBA iniciadas trabajo que deben usarse para backup y restauración.
COMCEPTO
Este sistema consite en definir su nombre, nombre del archivo ejecutable, fecha de creación, nombre del usuario, número de la versión, fecha de la última modificación, directorio de ubicación y su identificación.
Items Define las opciones del menú y su correspondiente acción. Un ítem puede llamar a otro menú, ejecutar un comando o un módulo de Oracle, así como cualquier otro programa. Para cada ítem se define su posición en el menú, tipo de comando, permisos de los usuarios, texto de identificación y la línea del comando a realizar.
Parámetros Variable que se carga en el momento de ejecución del menú y para la cual se definen un nombre de dos letras, cantidad máxima de caracteres, texto en pantalla en el momento de su ingreso, si es o no obligatorio, con o sin conversión a mayúsculas y su valor por defecto.