Sie sind auf Seite 1von 52

selec

ORACLE: Seguridad
La informacin dicen que es poder, y como las BD son un almacn de informacin tambin almacenan poder, por lo que han sido objeto de intentos de acceso no autorizados desde su nacimiento. Por eso, las BD se han dotado de unos mecanismos que hacen posible la gestin de la seguridad en el acceso a la informacin que almacenan.

ndice
1 Posibilidades 1.1 Seguridad de Cuentas 1.2 Seguridad de Objetos 1.3 Roles del Sistema 2 Implementacin de Seguridad 2.1 Creacin de Usuarios 2.2 Eliminacin de Usuarios 2.3 Privilegios del Sistema 2.4 Perfiles de Usuario 2.5 Cuentas BD sobre Cuentas SO 2.6 Protegidos por passwords 2.7 Gestionando Privilegios 2.8 Listar Privilegios Otorgados 3 Encriptacin de passwords y Trucos 3.1 Almacenamiento de Passwords 3.2 Passwords Imposibles 3.3 Convertirse en otro Usuario 4 Auditora de Seguridad 4.1 Auditando Conexiones 4.2 Auditando Acciones 4.3 Auditando Objetos 4.4 Protegiendo los Registros de Auditora

1 Posibilidades
Oracle pone al alcance del DBA varios niveles de seguridad:

Seguridad de cuentas para la validacin de usuarios. Seguridad en el acceso a los objetos de la base de datos. Seguridad a nivel de sistema para la gestin de privilegios globales.

1.1 Seguridad de Cuentas

Para acceder a los datos en una BD Oracle, se debe tener acceso a una cuenta en esa BD. Cada cuenta debe tener una palabra clave o password asociada. Una cuenta en una BD puede estr ligada con una cuenta de sistema operativo. Los passwords son fijados cuando se crea un usuario y pueden ser alterados por el DBA o por el usuario mismo. La BD almacena una versin encriptada del password en una tabla del diccionario llamada dba_users. Si la cuenta en la BD est asociada a una cuenta del sistema operativo puede evitarse la comprobacin del password, dndose por vlida la comprobacin de la identidad del usuario realizada por el SO.

1.2 Seguridad de Objetos


El acceso a los objetos de la BD se realiza via privilegios. Estos permiten que determinados comandos sean utilizados contra determinados objetos de la BD. Esto se especifica con el comando GRANT, conceder. Los privilegios se pueden agrupar formando lo que se conoce por roles. La utilizacin de los roles simplifica la administracin de los privilegios cuando tenemos muchos usuarios. Los roles pueden ser protegidos con passwords, y pueden activarse y desactivarse dinmicamente, con lo que constituyen una capa ms de seguridad en el sistema.

1.3 Roles del Sistema


Los roles se pueden utilizar para gestionar los comandos de sistema disponibles para los usuarios. Estos incluyen comandos como CREATE TABLE o SELECT ANY TABLE. Todos los usuarios que quieran acceder a la BD deben tener el rol CONNECT; aquellos que necesiten crear segmentos necesitaran el rol RESOURCE. Un usuario con el rol DBA tiene derecho para ver y manejar todos los datos de la BD. En Oracle CONNECT, RESOURCE y DBA son roles de sistema. Las acciones contra cada tipo de objeto son autorizadas por privilegios separados. As, un usuario puede tener concedido el privilegio CREATE TABLE, pero no el ALTER TABLE.

2 Implementacin de Seguridad
No se podr acceder a la BD a menos que se acceda primero al servidor en el que la BD est ejecutndose. El primer paso en la seguridad de la BD es asegurar la plataforma en la que reside. Una vez que esto ha sido conseguido, se debe considerar la seguridad del sistema operativo. Oracle utiliza una serie de ficheros

a los que los usuario no tienen porque acceder de manera directa. Por ejemplo, los ficheros de datos o los de redo log son escritos y leidos slo por los procesos Oracle. As, slo los DBAs que han creado estos ficheros necesitan acceder directamente a ellos a nivel del sistema operativo.

2.1 Creacin de Usuarios


El objetivo de la creacin de usuarios es establecer una cuenta segura y til, que tenga los privilegios adecuados y los valores por defecto apropiados. En Oracle se puede especificar todo lo necesario para abrir una cuenta con el comando CREATE USER. Los parmetros que se le pueden pasar son:
Parmetro
Username Password Default Tablespace Temporary Tablespace Quota Profile

Significado Nombre del Usuario (Esquema) Palabra clave de la cuenta. Puede ser asociada directamente a una cuenta del sistema operativo. Espacio de tablas por defecto en el que los objetos de este usuario sern creados. Esto no da al usuario derechos de crear objetos. El espacio de tablas en el que se almacenarn los segmentos temporales de las ordenaciones. Espacio mximo que puede ocupar en un espacio de tablas. Asigna un perfil al usuario. Los perfiles se utilizan para restringir el uso de recursos como el tiempo de CPU.
USER

A continuacin se puede ver un ejemplo de uso del comando CREATE que se crea una cuenta para el usuario :

en el

Grant (dar permisos)


Esta sentencia sirve para dar permisos (o privilegios) a un usuario o a un rol. Un permiso, en oracle, es un derecho a ejecutar un sentencia (system privileges) o a acceder a un objeto de otro usuario (object privileges). El conjunto de permisos es fijo, esto quiere decir que no se pueden crear nuevos tipos de permisos. Si un permiso se asigna a rol especial PUBLIC significa que puede ser ejecutado por todos los usuarios.

Permisos para acceder a la base de datos (permiso de sistema):


GRANT CREATE SESSION TO miusuario;

Permisos para usuario de modificacin de datos (permiso sobre objeto):


GRANT SELECT, INSERT, UPDATE, DELETE ON T_PEDIDOS TO miusuario;

Permisos de solo lectura para todos:


GRANT SELECT ON T_PEDIDOS TO PUBLIC;

Permisos de sistema (system privileges)


Los permisos de sistema mas importantes son CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE USER, ...
Sintaxis:
GRANT system_priv(s) TO {user, | role, |PUBLIC} [IDENTIFIED BY password] [WITH ADMIN OPTION] GRANT role TO {user, | role, |PUBLIC} [IDENTIFIED BY password] [WITH ADMIN OPTION] GRANT ALL PRIVILEGES TO {user, | role, |PUBLIC} [IDENTIFIED BY password] [WITH ADMIN OPTION]

Podemos obtener la lista de permisos del sistema asi:


select * from system_privilege_map;

Los permisos de sistema son auditables.


GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE,CREATE SYNONYM, ALTER TABLE, ALTER VIEW, ALTER PROCEDURE,ALTER SYNONYM, DROP TABLE, DROP VIEW, DROP PROCEDURE,DROP SYNONYM TO programador;

Permisos sobre objetos (object privileges)


Los permisos sobre objetos mas importantes son: SELECT, UPDATE, INSERT, DELETE, ALTER, DEBUG, EXECUTE, INDEX, REFERENCES
GRANT object_priv [(column, column,...)] ON [schema.]object TO {user, | role, |PUBLIC} [WITH GRANT OPTION] [WITH HIERARCHY OPTION] GRANT ALL PRIVILEGES [(column, column,...)] ON [schema.]object TO {user, | role, |PUBLIC} [WITH GRANT OPTION] [WITH HIERARCHY OPTION] GRANT object_priv [(column, column,...)] ON DIRECTORY directory_name

TO {user, | role, |PUBLIC} [WITH GRANT OPTION] [WITH HIERARCHY OPTION] GRANT object_priv [(column, column,...)] ON JAVA [RE]SOURCE [schema.]object TO {user, | role, |PUBLIC} [WITH GRANT OPTION] [WITH HIERARCHY OPTION]

Con la opcion WITH HIERARCHY OPTION damos permisos sobre todos los subojetos, incluso sobre los que se creen despues de ejecutar el GRANT. Con la opcin WITH GRANT OPTION damos permiso para que el que los recibe los pueda a su vez asignar a otros usuarios y roles. La opcin "GRANT ALL PRIVILEGES..." se puede escribir tambien como "GRANT ALL..."
Podemos obtener la lista de permisos de las tablas asi:
select * from all_tab_privs_made;

Notas
Los permisos del sistema pueden ser:
CREATE SESSION - Permite conectar a la base de datos UNLIMITED TABLESPACE - Uso de espacio ilimitado del tablespace. SELECT ANY TABLE - Consultas en tables, views, or mviews en cualquier esquema UPDATE ANY TABLE - Actualizar filas en tables and views en cualquier esquema INSERT ANY TABLE - Insertar filas en tables and views en cualquier esquema Permisos de administrador para CREATE, ALTER o DROP: cluster, context, database, link, dimension, directory, index, materialized view, operator, outline, procedure, profile, role, rollback segment, sequence, session, synonym, table, tablespace, trigger, type, user, view.

Los roles predefindos son:


SYSDBA, SYSOPER, OSDBA, OSOPER, EXP_FULL_DATABASE, IMP_FULL_DATABASE SELECT_CATALOG_ROLE, EXECUTE_CATALOG_ROLE, DELETE_CATALOG_ROLE AQ_USER_ROLE, AQ_ADMINISTRATOR_ROLE - manejo de la cola SNMPAGENT - Agente inteligente. RECOVERY_CATALOG_OWNER - rman HS_ADMIN_ROLE - servicios heterogeneos

mas cualquier rol de usuario que halla disponible Los roles CONNECT, RESOURCE y DBA ya no deben usarse (aunque estan soportados).
Es posible asignar varios Object_Privs en un solo comando GRANT.

GRANT SELECT (empno), UPDATE (sal) ON pepe.tabla TO miusuario

Permisos del rol SYSDBA:


CREATE DATABASE CREATE SPFILE STARTUP and SHUTDOWN ALTER DATABASE: open, mount, back up, or change character set ARCHIVELOG and RECOVERY Includes the RESTRICTED SESSION privilege

Permisos del rol SYSOPER:


CREATE SPFILE STARTUP and SHUTDOWN ALTER DATABASE: open, mount, back up ARCHIVELOG and RECOVERY Includes the RESTRICTED SESSION privilege

Cada tipo de objeto tiene su propio conjunto de permisos: Tables: select, insert, update, delete, alter, debug, flashback, on commit refresh, query rewrite, references, all Views: select, insert, update, delete, under, references, flashback, debug Sequence: alter, select Packeges, Procedures, Functions (Java classes, sources...): execute, debug Materialized Views: delete, flashback, insert, select, update Directories: read, write Libraries:execute User defined types: execute, debug, under Operators: execute Indextypes: execute

Create User
Esta sentencia sirve para crear un usuario oracle. Un usuario es un nombre de acceso a la base de datos oracle. Normalmente va asociado a una clave (password).

Lo que puede hacer un usuario una vez ha accedido a la base de datos depende de los permisos que tenga asignados ya sea directamente (GRANT) como sobre algun rol que tenga asignado (CREATE ROLE). El perfil que tenga asignado influye en los recursos del sistema de los que dispone un usuario a la hora de ejecutar oracle (CREATE PROFILE).
La sintaxis es: CREATE USER username IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS 'external_name'} options; Donde options: DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace QUOTA int {K | M} ON tablespace QUOTA UNLIMITED ON tablespace PROFILE profile_name PASSWORD EXPIRE ACCOUNT {LOCK|UNLOCK} Crea un usuario sin derecho a guardar datos o crear objetos: CREATE USER usuariolimitado IDENTIFIED BY miclavesecreta; Crea un usuario con todos los derechos para guardar datos o crear objetos: DROP USER miusuario CASCADE; CREATE USER miusuario IDENTIFIED BY miclavesecreta DEFAULT TABLESPACE data TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON data; CREATE ROLE programador; GRANT CREATE session, CREATE table, CREATE view, CREATE procedure,CREATE synonym, ALTER table, ALTER view, ALTER procedure,ALTER synonym, DROP table, DROP view, DROP procedure,DROP synonym, TO conn; GRANT programador TO miusuario;

Es neceario crear el usuario antes de asignar permisos con GRANT o un ROLE por defecto.

Si no se especifica un perfil, se aplica el perfil por defecto de la BD, que se llama DEFAULT y tiene asignados todos los lmites a UNLIMITED. Si no se especifca una cuota el usuario no puede crear objetos.

Create Role

Esta sentencia sirve para crear un rol de usuario. Un rol es una forma de agrupar permisos (o privilegios) para asignarlos luego a los usuarios. Cada usuario puede tener varios roles.
Ejemplo de creacin de un rol: CREATE ROLE MI_PROPIO_ROLE Crea un rol sin password: CREATE ROLE role NOT IDENTIFIED Crea un rol con password: CREATE ROLE role IDENTIFIED BY password Crea un rol de aplicacin: CREATE ROLE role IDENTIFIED USING [schema.]package Crea un rol basado en uno del S.O.: ALTER ROLE role IDENTIFIED EXTERNALLY Crea un rol basado en el servicio de directorio: ALTER ROLE role IDENTIFIED GLOBALLY Ejemplo para crear un script que asigna todos los permisos de actual esquema SELECT decode(object_type, 'TABLE','GRANT SELECT, INSERT, UPDATE, DELETE , REFERENCES ON'||&OWNER||'.', 'VIEW','GRANT SELECT ON '||&OWNER||'.', 'SEQUENCE','GRANT SELECT ON '||&OWNER||'.', 'PROCEDURE','GRANT EXECUTE ON '||&OWNER||'.', 'PACKAGE','GRANT EXECUTE ON '||&OWNER||'.', 'FUNCTION','GRANT EXECUTE ON'||&OWNER||'.' )||object_name||' TO MI_PROPIO_ROLE ;' FROM user_objects WHERE OBJECT_TYPE IN ( 'TABLE', 'VIEW', 'SEQUENCE', 'PROCEDURE', 'PACKAGE','FUNCTION') ORDER BY OBJECT_TYPE

Create profile
Esta sentencia sirve para crear un perfil de usuario. Un perfil de usuario es una forma de limitar los recursos que puede utilizar un usuario. Cada usuario puede tener un nico perfil. Antes de asignar un perfil a un usuario es necesario que este perfil exista en la base de datos. Un perfil se asigna en la creacin de un usuario CREATE USER o modificandolo ALTER USER.
Un ejemplo de script sera:

CREATE PROFILE app_user LIMIT SESSIONS_PER_USER 2 CPU_PER_SESSION 10000 CPU_PER_CALL 1 CONNECT_TIME UNLIMITED IDLE_TIME 30 LOGICAL_READS_PER_SESSION DEFAULT LOGICAL_READS_PER_CALL DEFAULT -- COMPOSITE_LIMIT DEFAULT PRIVATE_SGA 20M FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LIFE_TIME 30 PASSWORD_REUSE_TIME 12 PASSWORD_REUSE_MAX UNLIMITED PASSWORD_LOCK_TIME DEFAULT PASSWORD_GRACE_TIME 2 PASSWORD_VERIFY_FUNCTION NULL; ---------------decimas de segundo decimas de segundo minutos minutos DB BLOCKS DB BLOCKS

dias dias dias

Los recursos que limitamos son recursos del kernel: uso de la CPU, duracin de sesion,... Y tambien limites de uso de las claves de acceso (passwords): duracin, intentos de acceso, reuso, ...
Por ejemplo: ALTER PROFILE default LIMIT IDLE_TIME 20;

Limita el perfil por defecto a 20 minutos. IDLE_TIME: Es el tiempo que puede estar una sesin sin hacer nada antes de ser cerrada.

2.2 Eliminacin de Usuarios


Los usuarios pueden ser eliminados de la BD utilizando el comando DROP USER. Este comando tiene un nico parmetro, CASCADE, el cual permite borrar todos los objetos del usuario antes de eliminar el usuario. A continuacin un ejemplo en el que eliminamos al usuario Prez: drop user perez cascade; Si a continuacin se crea otro usuario con el mismo nombre no hereda los objetos del anterior usuario con ese nombre. La razn estriba en que Oracle asigna a cada cuenta un nmero adems del nombre, y utiliza ese nmero para determinar el propietario de todos los objetos que crea esa cuenta, y no utiliza el nombre sino

para la comunicacin con los usuarios. De este modo al crear un nuevo usuario, aunque sea con el mismo nombre, no puede heredar los objetos que antes eran de otro usuario con el mismo nombre.

2.3 Privilegios del Sistema


Los roles de sistema se utilizan para distribuir la disponibilidad de los comandos del sistema utilizados para gestionar la BD. Los privilegios ms comunes estn en la siguiente tabla. En ella se distinguen entre privilegios de manejo de objetos y de gestin de la BD. La palabra clave ANY significa que ese usuario tiene el privilegio para todos los esquemas en la BD. Hay que hacer notar que ANY y PUBLIC no son sinnimos.
Privilegio Manejo de Objetos
CREATE ANY INDEX CREATE [PUBLIC] SYNONYM CREATE [ANY] TABLE CREATE [ANY] VIEW ALTER ANY INDEX ALTER ANY TABLE DROP ANY INDEX DROP ANY SYNONYM DROP PUBLIC SYNONYM DROP ANY VIEW DROP ANY TABLE SELECT ANY TABLE INSERT ANY TABLE DELETE ANY TABLE ALTER SESSION

Capacidades ... Crear cualquier ndice. Crear sinnimos [pblicos]. Crear tablas. El usuario debe tener cuota en el espacio de tablas, o ha de tener asignado el privilegio UNLIMITED TABLESPACE. Crear vistas. Alterar cualquier ndice. Alterar cualquier tabla Borrar cualquier ndice. Borrar cualquier sinnimo. Borrar sinnimos pblicos. Borrar cualquier vista. Borrar cualquier tabla. Efectuar selecciones de cualquier tabla o vista. Insertar en cualquier tabla o vista. Borrar filas de cualquier tabla o vista, y tambin truncar. Alterar los parmetros de la sesin.

CREATE SESSION

Conectarse a la BD.

Gestin de la BD ... CREATE PROFILE Crear perfiles de usuario.


CREATE ROLE CREATE ROLLBACK SEGMENT CREATE TABLESPACE CREATE USER ALTER PROFILE ALTER ANY ROLE ALTER ROLLBACK SEGMENT ALTER TABLESPACE ALTER USER DROP PROFILE DROP ANY ROLE DROP ROLLBACK SEGMENT DROP TABLESPACE DROP USER ALTER DATABASE GRANT ANY PRIVILEGE GRANT ANY ROLE UNLIMITED TABLESPACE DROP PROFILE

Crear roles. Creacin de segmentos de rollback. Crear espacios de tablas. Crear usuarios. Alterar perfiles existentes. Alterar cualquier rol. Alterar segmentos de rollback. Alterar espacios de tablas. Alterar usuarios. Borrar un perfil existente. Borrar cualquier rol. Borrar un segmento de rollback existente. Borrar un espacio de tablas. Borrar un usuario. Aadir CASCADE si el usuario posee objetos. Permite una sentencia ALTER DATABASE. Otorgar cualquiera de estos privilegios. Otorgar cualquier rol a un usario. Puede usar una cantidad de almacenamiento ilimitada. Borrar un perfil existente.

Los privilegios se pueden agrupar en roles, para as satisfacer a distintos tipos de usuarios. En la instalacin se crea un rol llamado OSOPER que sirve para los operarios de la mquina donde est la BD y permite realizar copias de seguridad en frio y en caliente. 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, podemos crear un rol llamado creadorCuentas que slo pueda crear usuarios y no pueda realizar

ninguna otra operacin 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
CONNECT RESOURCE DBA

Privilegios
alter session, create session, create cluster, create table, create view, create synonym, create sequence, create database link create cluster, create table, create procedure, create sequence, create trigger

todos los privilegios de sistema con la opcion with admin option

2.4 Perfiles de Usuario


Los perfiles se utilizan para limitar la cantidad de recursos del sistema y de la BD disponibles para un usuario. Si no se definen perfiles para un usuario se utiliza el perfil por defecto, que especifica recursos ilimitados. Los recursos que pueden ser limitados via perfil son los siguientes:
Recurso
SESSIONES_PER_USER CPU_PER_SESSION CONNECT_TIME IDLE_TIME LOGICAL_READS_PER_S ESSION LOGICAL_READS_PER_C ALL PRIVATE_SGA

Descripcin El nmero de sesiones concurrentes que un usuario puede tener en una instancia. El tiempo de CPU, en centenas de segundos, que una sesin puede utilizar. El nmero de minutos que una sesin puede permanecer activa. El nmero de minutos que una sesin puede permanecer sin que sea utilizada de manera activa. El nmero de bloques de datos que se pueden leer en una sesin. El nmero de bloques de datos que se pueden leer en una operacin. La cantidad de espacio privado que una sesin puede reservar en

la zona de SQL compartido de la SGA. El nmero de total de recursos por sesin, en unidades de servicio. Esto resulta de un calculo ponderado de CPU_PER_SESSION, CONNECT_TIME,LOGICAL_READS_PER_SESS ION y PRIVATE_SGA, cuyos pesos se pueden variar con el comando ALTER RESOURCE COST.
PROFILE,

COMPOSITE_LIMIT

Los perfiles se pueden crear via el comando CREATE modificar con la sentencia ALTER PROFILE.

y se pueden

En general, el perfil por defecto debe ser adecuado para los usuarios normales; los usuarios con requerimientos especiales deberan tener perfiles especiales.

2.5 Cuentas BD sobre Cuentas SO


Los usuarios pueden entrar en la BD una vez que han dado un nombre de usuario y una palabra de paso. Sin embargo, es posible aprovecharse del Sistema Operativo para obtener un nivel adicional de autentificacin. La cuenta de la BD y del SO pueden relacionarse de manera que la de la BD se diferencie slo en un prefijo de la cuenta del SO. Este prefijo se fija en el parmetro OS_AUTHENTIC_PREFIX del fichero init.ora. Por defecto esta puesto a "OPS$", pero puede tomar cualquier forma, incluso ser la cadena nula, "", con lo que no existe prefijo que diferencie las cuentas en la BD y en el SO. Por ejemplo, consideremos la cuenta del SO llamada alu10. La correspondiente cuenta en la BD sera OPS$ALU10. Cuando el usuario alu10 est en activo en el SO, puede acceder a su cuenta OPS$ALU10 sin especificar elpassword, como se muestra a continuacin: $ sqlplus / En este caso el carcter "/" toma el lugar de la combinacin del nombre de usuario y del password que debera aparecer. Las cuentas pueden ser creadas con passwords aunque no vaya a ser utilizado. Ya que de este modo ser posible acceder a la cuenta de OPS$ALU10 desde otra cuenta diferente a la alu10 del SO. La sentencia de creacin de la cuenta OPS$ALU10 puede ser la siguiente:

SVRMGR> create user ops$alu10 2> identified by 01ula 3> default tablespace users 4> temporary tablespace temp; As, la forma de conectarse como OPS$ALU10 desde una cuenta del SO diferente es: $ sqlplus ops$alu10/01ula Existen dos formas de evitar este problema. La primera es creando el usuario BD sin especificar un password, utilizando la clasula IDENTIFIED EXTERNALLY. De esta manera evitamos la necesidad de expecificar un password para la cuenta, obligando a la conexin entre las cuentas de la BD y del SO: SVRMGR> create user ops$alu10 2> identified externally 3> default tablespace users 4> temporary tablespace temp; La otra manera de evitar el problema es crear una cuenta con un password imposible, aspecto este que se explicar ms adelante.

2.6 Protegidos por passwords


Los passwords puede proteger tanto cuentas como roles. Los passwords se fijan a la hora de la creacin de ambos y se pueden modificar con los comandos ALTER USER y ALTER ROLE, respectivamente. No es necesario asignar un password a un rol, pero si tiene uno debe ser especificado por el usuario cuando se asigna ese rol.

2.7 Gestionando Privilegios


Los privilegios dan acceso a los usuarios a los datos que no poseen. Los roles con grupos de privilegios que facilitan la administracin de los privilegios. Pero los privilegios se pueden manejar de manera explcita en algunas circunstancias.

Los privilegios se crean via el comando GRANT y son registrados en el diccionario de datos. Los privilegios que pueden otorgarse sobre objetos son los siguientes:
Privilegio
SELECT INSERT UPDATE DELETE ALTER INDEX REFERENCES EXECUTE

Capacidades Otorgadas Puede consultar a un objeto. Puede insertar filas en una tabla o vista. Puede especificarse las columnas donde se permite insertar dentro de la tabla o vista. Puede actualizar filas en una tabla o vista. Puede especificarse las columnas donde se permite actualizar dentro de la tabla o vista. Puede borrar filas dentro de la tabla o vista. Puede alterar la tabla. Puede crear ndices de una tabla. Puede crear claves ajenas que referencie a esta tabla. Puede ejecutar un procedimieto, paquete o funcin.

Haciendo un privilegio PUBLIC lo hace disponible a todos los usuarios de la BD. Aunque los privilegios se puedan otorgar individualmente, no resulta razonable basar la gestin de los privilegios en su asignacin individual. La gestin de los privilegios se facilita con la utilizacin de los roles. A continuacin se puede ver como se crean dos roles, el ALUMNOS que permite establecer una sesin, y el rol INSERTA_PEREZ que permite insertar y seleccionar en la tabla emp de perez: SVRMGR> create role alumnos; Statement processed. SVRMGR> grant create session to alumnos; Statement processed. SVRMGR> create role inserta_perez; Statement processed. SVRMGR> grant select, insert on perez.emp to inserta_perez; Statement processed. Se pueden asignar roles a roles: SVRMGR> grant usuarios to inserta_perez;

Los roles pueden asignarse a los usuarios. As, podemos asignar el rol INSERTA_PEREZ al usuario alu20: SVRMGR> grant inserta_perez to alu20; Los roles se pueden denegar con el comando REVOKE.

2.8 Listar Privilegios Otorgados


La informacin de los privilegios otorgados se almacena en el diccionario de datos. Estos datos son accesibles a travs de las siguientes vistas del diccionario de datos:
Vista
DBA_ROLES DBA_ROLES_PRIVS DBA_SYS_PRIVS DBA_TAB_PRIVS DBA_COL_PRIVS ROLE_ROLE_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS

Contenidos Nombres de los roles y su estado del password. Usuarios a los que han sido otorgados roles. Usuarios a los que han sido otorgados privilegios del sistema. Usuarios a los que han sido otorgados privilegios sobre objetos. Usuarios a los que han sido otorgados privilegios sobre columnas de tablas. Roles que han sido otorgados a otros roles. Privilegios de sistema que han sido otorgados a roles. Privilegios de tabla que han sido otorgados a roles.

3 Encriptacin de Passwords y Trucos


Conocer el modo en que se encriptan y se tratan los passwords puede posiblitar al DBA la realizacin de ciertas tareas que de otro modo le resultaran imposibles. Esto incluye el establecer passwords imposibles y la habilidad de convertirse en otro usuario.

3.1 Almacenamiento de Passwords

Cuando se especifica un password para un usuario o rol, la BD almacena la versin encriptada del mismo en el diccionario de datos. El mismo password para diferentes usuarios genera diferentes versiones encriptadas. stas estn compuestas por una cadena de 16 caractres alfanumricos (con las letras en maysculas). El proceso de validacin de los passwords es sencillo, ya que cuando un usuario introduce su password es encriptado y comparado lo almacenado en el diccionario de datos. Si son iguales el password es correcto; incorrecto en otro caso. Se puede echar un vistazo a los passwords mirando en la tabla DBA_USERS: SQL> select username, password from dba_users;

3.2 Passwords Imposibles


Qu puede pasar si en vez de especificar el password especificamos su versin encriptada, y esa versin encriptada no sigue las normas de generacin de passwords encriptados? El resultado es que tendremos una cuenta a la que nunca se podr entrar, ya que ningn password generar la versin encriptada que est almacenada en el diccionario de datos. Esto se puede hacer utilizando una forma no comentada del comando CREATE USER como se indica a continuacin: SVRMGR> create user perez identified by values '123AB456CD789EF0'; Una buena manera de crear una versin encriptada que no coincida con ningn password es poner menos de 16 caractres, de esta manera tendremos un password imposible. Los efectos de este comando se ven cuando el usuario perez intenta acceder introduciendo su password, desde otra cuenta por ejemplo. Como la versin encriptada del password no va a coincidir con la almacenada, se obliga al usuario perez a entrar desde su cuenta del SO, proceso que no comprueba el password de la BD. De este modo se impide que un usuario pueda suplantar a otro desde una cuenta de SO no apropiada.

3.3 Convertirse en otro Usuario


Como se puede fijar la versin encriptada de un password, es posible tomar una cuenta temporalmente, cambiando su password original, para restaurarlo a continuacin. Esto permite que el DBA se convierta temporalmente en otro usuario. Esto se puede hacer siguiendo los siguientes pasos: 1. Consultar la tabla DBA_USERS para conseguir la versin encriptada del password actual del usuario que vamos a utilizar. 2. Generar el comando alter user que permita restaurar el password original, guardandolo en un fichero para su posterior ejecucin. 3. Cambiar el password de la cuenta y acceder a ella. 4. Cuando el trabajo como el otro usuario haya acabado, ejecutar el comando alter user creado antes para restaurar el valor original del password. Esto se puede ver en el siguiente script: REM * REM * Este script genera los comandos necesarios para convertirse REM * temporalmente en otro usuario. REM * REM * Solo para DBAs REM * set pagesize 0 set verify off set feedback off set echo off REM * REM * Preguntar por el usuario a manipular. REM * accept user prompt 'Usuario? ' set termout off

REM * REM * Crear el fichero llamado reset.sql REM * spool reset.sql REM * REM * seleccionar el password encriptado de DBA_USERS. REM * select 'alter user &&user identified by values '||''''||password||''''||';' from dba_users where username= upper('&&user'); prompt ! rm reset.sql prompt exit REM * REM * Cerrar el fichero llamado reset.sql REM * spool off REM * REM * Cambiar el password a user REM * set termout on accept clave prompt 'Nueva Clave para &&user? ' REM * REM * Cambiar la clave para el usuario REM * alter user &&user identified by &&clave; connect &&user/&&clave; prompt *** prompt *** Ahora es &&user prompt *** No olvide ejecutar reset.sql al final

prompt *** La ejecucin de este script produce otro script llamado reset.sql con el siguiente contenido: alter user pepe identified by values '742A081355525D4E'; ! rm reset.sql exit El script reset.sql se ejecutar con la orden $ sqlplus system/manager @reset.sql

4 Auditora de Seguridad
Montando el escenario, probando la auditora de Oracle
En primer lugar accederemos a Oracle con un usuario con privilegios suficientes para crear usuarios y establecer permisos. Con este usuario crearemos un usuario en Oracle, para ello utilizaremos los cuatro comandos SQL siguientes: CREATE USER "ALONSO" PROFILE "DEFAULT" IDENTIFIED BY "xxx" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK; GRANT "CONNECT" TO "ALONSO"; GRANT CREATE TABLE TO "ALONSO"; ALTER USER "RAFAEL" QUOTA 100M ON "USERS"; A continuacin accederemos a Oracle con el usuario "alonso" y crearemos una tabla para las pruebas, llamada "facturas", con el comando: create table facturas ( codigo number primary key, fecha date default sysdate); Accederemos a Oracle con un usuario con privilegios suficientes para activar sucesos de auditora y ejecutaremos el comando: audit session by alonso; para auditar el inicio de sesin de los usuarios. Y ejecutaremos el comando:

audit all on facturas by access; para auditar auditar los cambios realizados en la tabla "facturas" (update, delete, insert, select). Volveremos a acceder a Oracle con el usuario "alonso" y realizaremos algunas inserciones, eliminaciones y select en la tabla "facturas": insert into facturas (codigo) values (1); insert into facturas (codigo) values (2); insert into facturas (codigo) values (3); select * from facturas; delete facturas where codigo=2; update facturas set codigo=33 where codigo=2; Ahora volveremos a acceder con un usuario con privilegios suficientes para consultar las vistas de auditora y ejecutaremos la sentencia SQL para ver los accesos del usuario "alonso":

select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, DECODE (Returncode, '0', 'Conectado', '1005', 'Fallo - Null', 1017, 'Fallo', Returncode) Tipo_Suceso, TO_CHAR(Timestamp, 'DD-MM-YY HH24:MI:SS') Hora_Inicio_Sesion, TO_CHAR(Logoff_Time, 'DD-MM-YY HH24:MI:SS') Hora_Fin_Sesion from DBA_AUDIT_SESSION where Username="ALONSO";
y esta otra para ver las acciones realizadas a la tabla "facturas":

select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, Owner Propietario_Objeto, Obj_Name Nombre_Objeto, Action_Name Accion, DECODE (Returncode, '0', 'Realizado', 'Returncode') Tipo_Suceso, TO_CHAR (Timestamp, 'DD-MM-YY HH24:MI:SS') Hora from DBA_AUDIT_OBJECT where Obj_Name = "FACTURAS";

El SGBD Oracle tienen la capacidad de auditar todas las acciones que tienen lugar en la BD. Se pueden auditar tres tipos de acciones:

intentos de entrada en cuentas de la BD. accesos a los objetos de la BD. acciones sobre la BD.

La BD registra todos los intentos de accin, tanto los exitosos como los infructuosos, aunque es un parmetro configurable. Para habilitar la capacidad de auditora, se debe fijar el parmetro AUDIT_TRAIL en el fichero init.ora. Los registros de auditora se almacenan en la tabla SYS.AUD$ o bien su gestin se deja al SO. Cuando se decide utilizar la tablaSYS.AUD$ esta debe revisarse peridicamente, por si hiciera falta truncarla debido a que su aumento de tamao puede causar problemas de espacio en el tablespace SYSTEM. Los valores del parmetro AUDIT_TRAIL son los que se exponen en la siguiente tabla:
Valor
NONE BD OS

Descripcin Deshabilita la auditora Habilita la auditora, escribiendo en la tabla SYS.AUD$. Habilita la auditora, dejando al SO su gestin.

4.1 Auditando Conexiones


Todo intento de conexin con la BD ser registrado. El comando para iniciar la auditora es SVRMGR> audit session; Para determinar si se deben registrar slo los xitos, o slo los fracasos se pueden utilizar los siguientes comandos: SVRMGR> audit session whenever successful; SVRMGR> audit session whenever not successful; Si los registros de auditora se almacenan en la tabla SYS.AUD$, entonces pueden verse a travs de la vista DBA_AUDIT_SESSION. select os_username, /* nombre de usuario SO */ username, /* nombre de usuario BD */ terminal, decode(returncode,'0','Conectado', '1005','Solo username, sin password',

'1017','Password incorrecto', returncode), /* comprobacion de error */ to_char(timestamp,'DD-MON-YY HH24:MI:SS'), /* hora de entrada */ to_char(logoff_time,'DD-MON-YY HH24:MI:SS') /* hora de salida */ from dba_audit_session; Para deshabilitar la auditoria de las conexiones basta con ejecutar la siguiente sentencia: SVRMGR> noaudit session;

4.2 Auditando Acciones


Se puede auditar cualquier accin que afecte a cualquier objeto de la BD. Para facilitar la gestin, las acciones a auditar se encuentran agrupadas segn los grupos que se muestran en la siguiente tabla:
Grupo
CLUSTER DATABASE LINK EXISTS INDEX NOT EXISTS PROCEDURE PROFILE PUBLIC DATABASE LINK PUBLIC SINONYM ROLE ROLLBACK SEGMENT SEQUENCE SESSION SYNONYM SYSTEM AUDIT SYSTEM GRANT TABLE

Comandos Auditados Todas las sentencias que afecten a clusters. Todas las sentencias que afecten a enlaces de BD. Todas las sentencias que fallen porque ya existe un objeto en la BD. Todas las sentencias que afecten a ndices. Todas las sentencias que fallen porque un determinado objeto no existe. Todas las sentencias que afecten a procedimientos. Todas las sentencias que afecten a perfiles. Todas las sentencias que afecten a enlaces pblicos de BD. Todas las sentencias que afecten a sinnimos pblicos. Todas las sentencias que afecten a roles. Todas las sentencias que afecten a segmentos de rollback. Todas las sentencias que afecten a secuencias. Todas las sentencias de acceso a la BD. Todas las sentencias que afecten a sinnimos. Todas las sentencias AUDIT y NOAUDIT. Todas las sentencias afecten a privilegios. Todas las sentencias que afecten a tablas.

TABLESPACE TRIGGER USER VIEW

Todas las sentencias que afecten a espacios de tablas. Todas las sentencias que afecten a disparadores. Todas las sentencias que afecten a las cuentas de usuarios. Todas las sentencias que afecten a vistas.

Por ejemplo, para auditar todas acciones que tienen que ver con las tablas sirve el siguiente comando: SVRMGR> audit table; Y para deshabilitar la auditora se utilizar el siguiente comando: SVRMGR> noaudit table; Tambin se puede afinar un poco ms en la auditora fijando un usuario concreto al que seguir la pista: SVRMGR> audit table by perez; Cada accin auditada recibe un cdigo numrico al que se puede acceder a travs de la vista AUDIT_ACTIONS. Una vez que conocemos el cdigo de la accin, podemos utilizarlo para determinar como dicha accin ha afectado a un objeto, consultado la vista DBA_AUDIT_OBJECT.

4.3 Auditando Objetos


Adems de la auditora de acciones sobre los objetos, se puede seguir el rastro a las operaciones de manipulacin de tablas: SELECT, INSERT, UPDATE y DELETE. Estas auditoras se pueden hacer por sesin o por acceso. Un ejemplo de sentencias de auditoras sobre objetos se puede ver en el siguiente grupo de sentencias: SVRMGR> audit insert on perez.emp; SVRMGR> audit all on perez.emp by session; SVRMGR> audit delete on perez.emp by access;

Los registros de auditora se pueden ver en la misma vista DBA_AUDIT_OBJECT anteriormente mencionada.

4.4 Protegiendo los Registros de Auditora


Los registros de la tabla SYS.AUD$ pueden ser objeto de intentos de acceso para ser eliminados ya que pueden reflejar acciones no autorizadas en la BD. As, resulta interesante reflejar ese tipo de acciones. Esto se consigue con el siguiente comando: SVRMGR> audit all on sys.aud$ by access; De este modo cualquier accin contra la tabla SYS.AUD$ quedar registrado. Adems, las acciones contra la tabla SYS.AUD$ slo pueden ser borradas por los usuarios que puedan conectarse como INTERNAL.

Gua de instalacin de Oracle Solaris 10 9/10: Instalaciones JumpStart personalizadas y avanzadas

Previous: Creacin del archivo rules

Next: Comprobacin de un perfil

Creacin de un perfil
Un perfil consiste en un archivo de texto que define la forma de instalar el software de Solaris en un sistema. Un perfil define elementos de la instalacin, como el grupo de software que se va a instalar. Cada regla especifica un perfil que define cmo hay que instalar un sistema. Se pueden crear diferentes perfiles para cada regla o usar el mismo perfil en ms de una regla. Un perfil se compone de una o varias palabras clave de perfil y de sus valores. Cada palabra clave de perfil es un comando que controla un aspecto de cmo debe instalar el programa JumpStart el software Solaris en un sistema. Por ejemplo, el valor y la palabra clave del perfil siguiente especifican que el programa JumpStart debe realizar una instalacin de servidor:

system_type

server

Nota Los perfiles de ejemplo ya se encuentran en el directorio JumpStart si ha creado el directorio JumpStart utilizando cualquiera de estos procedimientos:

Creacin de un servidor de perfiles para sistemas conectados en red Creacin de un disquete de perfiles para sistemas autnomos

Sintaxis de perfiles
Un perfil debe contener los elementos siguientes:

La palabra clave de perfil install_type como primera entrada Una palabra clave por lnea La palabra clave root_device, si los sistemas que se estn actualizando por el perfil tienen ms de un sistema de archivos raz (/) que se pueda actualizar

Un perfil puede incluir:

Texto comentado El programa JumpStart trata como comentario cualquier texto que vaya despus del smbolo # en una lnea. Si una lnea empieza con el smbolo #, la lnea entera se tratar como un comentario.

Una o varias lneas en blanco

Para crear un perfil


1. Use un editor de texto para crear un archivo de texto. Asigne al archivo un nombre descriptivo. Tambin puede abrir un perfil de ejemplo en el directorio JumpStart que ha creado.

Nota El nombre del perfil debe reflejar el uso que se le va a dar al perfil para instalar el software Solaris en un sistema. Por ejemplo, puede asignar los siguientes nombres a los perfiles: basic_install, eng_profile o user_profile.

2.

Agregue al perfil palabras clave y valores de perfil. Para obtener una lista de las palabras clave de perfil y los valores, consulte Valores y palabras clave de perfiles.

Nota

Las palabras clave y sus valores distinguen entre maysculas y minsculas.

3. 4. 5.

Guarde el perfil en el directorio JumpStart. Cercirese de que root tenga el perfil y de que los permisos se fijen en 644. Compruebe el perfil (opcional). Comprobacin de un perfil contiene informacin acerca de la comprobacin de perfiles.

Ejemplos de perfiles
Los ejemplos siguientes de perfiles muestran la manera de utilizar distintos valores de perfiles y palabras clave de perfil para controlar la forma de instalar el software de Solaris en un sistema. Valores y palabras clave de perfiles contiene una descripcin de las palabras clave y valores de perfil.

Nota Si instala una agrupacin raz de ZFS de Solaris, consulte el Captulo 9Instalacin de una agrupacin raz ZFS con JumpStart para conocer las limitaciones y obtener ejemplos de perfiles.

Ejemplo 32 Montaje de sistemas de archivos remotos y adicin y borrado de paquetes

# profile keywords # ----------------install_type system_type partitioning filesys cluster package cluster

profile values ----------------initial_install standalone default any 512 swap SUNWCprog SUNWman delete SUNWCacc # specify size of /swap

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
La palabra clave install_type es necesaria en todos los perfiles.

system_type
La palabra clave system_type determina que se realizar una instalacin de sistema autnomo.

partitioning
Los segmentos del sistema de archivos estn determinados por el software que se va a instalar, con el valor default. El tamao del archivo swap se fija en 512 Mbytes y se instala en cualquier disco, valor any.

cluster
El grupo de software de Solaris para desarrolladores, SUNWCprog, se instala en el sistema.

package
Si las pginas de comando man estndar se montan desde el servidor de archivos, s_ref, en la red; los paquetes de pginas de comando man no se deben instalar en el sistema. Los paquetes que contienen las utilidades de contabilidad del sistema estn seleccionados para instalarse en ste.

Ejemplo 33 Montaje de sistemas de archivos remotos y adicin de paquetes de terceros

# profile keywords # ----------------install_type system_type partitioning filesys cluster cluster package timeout 5

profile values ----------------initial_install standalone default any 512 swap SUNWCprog SUNWCacc apache_server \ http://package.central/packages/apache # specify size of /swap

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
La palabra clave install_type es necesaria en todos los perfiles.

system_type
La palabra clave system_type determina que se realizar una instalacin de sistema autnomo.

partitioning

Los segmentos del sistema de archivos estn determinados por el software que se va a instalar, con el valor default. El tamao del archivo swap se fija en 512 Mbytes y se instala en cualquier disco, valor any.

cluster
El grupo de software de Solaris para desarrolladores, SUNWCprog, se instala en el sistema.

package
Un paquete de terceros se instala en el sistema que se encuentra en el servidor HTTP.

Ejemplo 34 Especificacin de la ubicacin de instalacin de los sistemas de archivos

# profile keywords # ---------------install_type system_type partitioning filesys filesys filesys cluster

profile values ------------------initial_install standalone explicit c0t0d0s0 auto / c0t3d0s1 auto swap any auto usr SUNWCall

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

partitioning
Los segmentos del sistema de archivos estn determinados por las palabras clave filesys, valor explicit. El tamao del sistema de archivos raz (/) se basa en el software seleccionado, valor auto y se instala en c0t0d0s0. Se fija el tamao del archivo swap necesario y se instala en c0t3d0s1. usr se basa en el software seleccionado y el programa de instalacin determina dnde hay que instalar usr de acuerdo con el valor any.

cluster
El grupo de software de Solaris de distribucin completa, SUNWCall, se instala en el sistema.

Ejemplo 35 Actualizacin e instalacin de parches

# profile keywords # ---------------install_type root_device backup_media package package cluster

profile values ------------------upgrade c0t3d0s2 remote_filesystem timber:/export/scratch SUNWbcp delete SUNWxwman add SUNWCacc add

patch patch_list nfs://patch_master/Solaris_10/patches \ retry 5 locale de

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil actualiza un sistema mediante la reasignacin del espacio en el disco. En este ejemplo, el espacio en el disco debe reasignarse porque algunos sistemas de archivos no tienen espacio suficiente para la actualizacin.

root_device
El sistema de archivos raz de c0t3d0s2 se actualiza.

backup_media
Se usa un sistema remoto denominado timber para realizar una copia de seguridad durante la asignacin del espacio de disco. Para obtener ms valores de palabra clave de medios de copia de seguridad, consulte Palabra clave de perfil backup_media.

package
El paquete de compatibilidad binaria, SUNWbcp, no est instalado en el sistema despus de la actualizacin.

package
El cdigo garantiza que las pginas de comando man del sistema X Window y las utilidades de contabilidad del sistema se instalen, si no estn ya instaladas. Todos los paquetes que hay ya en el sistema se actualizan automticamente.

patch
Una lista de los parches instalados con la actualizacin. La lista de revisiones est ubicada en un servidor NFS denominadopatch_master bajo los directorios Solaris_10/patches. Si el montaje falla, el montaje NFS se intenta cinco veces.

entorno_nacional

Los paquetes de localizacin alemanes se deben instalar en el sistema.

Ejemplo 36 Reasignacin de espacio en el disco para una actualizacin

# profile keywords # ---------------install_type root_device backup_media layout_constraint layout_constraint layout_constraint package package cluster locale

profile values ------------------upgrade c0t3d0s2 remote_filesystem timber:/export/scratch c0t3d0s2 changeable 100 c0t3d0s4 changeable c0t3d0s5 movable SUNWbcp delete SUNWxwman add SUNWCacc add de

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil actualiza un sistema mediante la reasignacin del espacio en el disco. En este ejemplo, el espacio en el disco debe reasignarse porque algunos sistemas de archivos no tienen espacio suficiente para la actualizacin.

root_device
El sistema de archivos raz de c0t3d0s2 se actualiza.

backup_media
Se usa un sistema remoto denominado timber para realizar una copia de seguridad durante la asignacin del espacio de disco. Para obtener ms valores de palabra clave de medios de copia de seguridad, consulte Palabra clave de perfil backup_media.

layout_constraint
Las palabras clave layout_constraint determinan que, al reasignar el espacio en el disco para la actualizacin, la disposicin automtica puede:

Cambiar los segmentos 2 y 4. Los segmentos se pueden mover a otra ubicacin y el tamao se puede cambiar. Mover el segmento 5. El segmento se puede mover a otra ubicacin, pero su tamao no se puede modificar.

package
El paquete de compatibilidad binaria, SUNWbcp, no se instala en el sistema despus de la actualizacin.

package
El cdigo garantiza que las pginas de comando man del sistema X Window y las utilidades de contabilidad del sistema se instalen, si no estn ya instaladas. Todos los paquetes que hay ya en el sistema se actualizan automticamente.

entorno_nacional
Los paquetes de localizacin alemanes se deben instalar en el sistema.

Ejemplo 37 Recuperacin de un archivo de almacenamiento Solaris Flash desde un servidor HTTP

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizada recupera el archivo de almacenamiento Solaris Flash de un servidor HTTP.

# profile keywords # ---------------install_type

profile values ------------------flash_install

archive_location http://192.168.255.255/flasharchive/solarisarchive partitioning filesys filesys filesys explicit c0t1d0s0 4000 / c0t1d0s1 512 swap c0t1d0s7 free /export/home

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil instala un archivo de almacenamiento Solaris Flash en el sistema clnico. Se sobrescriben todos los archivos como en una instalacin inicial.

archive_location
El archivo de almacenamiento Solaris Flash se recupera de un servidor HTTP.

partitioning
Los segmentos del sistema de archivos estn determinados por las palabras clave filesys, valor explicit. El tamao de raz (/) est basado en el del archivo de almacenamiento flash de

Solaris. El sistema de archivos raz se instala en c0t1d0s0. Se fija el tamao del archivo swap necesario y se instala en c0t1d0s1. /export/home se basa en el espacio de disco libre./export/home se instala en c0t1d0s7.

Ejemplo 38 Recuperacin de un archivo de almacenamiento Solaris Flash desde un servidor HTTP seguro

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizada recupera el archivo de almacenamiento Solaris Flash de un servidor HTTP seguro.

# profile keywords # ---------------install_type archive_location partitioning filesys filesys filesys

profile values ------------------flash_install https://192.168.255.255/solarisupdate.flar explicit c0t1d0s0 4000 / c0t1d0s1 512 swap c0t1d0s7 free /export/home

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil instala un archivo de almacenamiento Solaris Flash en el sistema clnico. Se sobrescriben todos los archivos como en una instalacin inicial.

archive_location
El archivo de almacenamiento comprimido Solaris Flash se recupera de un servidor HTTP seguro.

partitioning
Los segmentos del sistema de archivos estn determinados por las palabras clave filesys, valor explicit. El tamao de raz (/) est basado en el del archivo de almacenamiento flash de Solaris. Se fija el tamao del archivo swap necesario y se instala enc0t1d0s1. /export/home se basa en el espacio de disco libre. /export/home se instala en c0t1d0s7.

Ejemplo 39 Recuperacin de un archivo de almacenamiento Solaris Flash e instalacin de un paquete de terceros

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizada recupera el archivo de almacenamiento Solaris Flash de un servidor HTTP.

# profile keywords # ---------------install_type

profile values ------------------flash_install

archive_location http://192.168.255.255/flasharchive/solarisarchive partitioning filesys filesys filesys package timeout 5 explicit c0t1d0s0 4000 / c0t1d0s1 512 swap c0t1d0s7 free /export/home SUNWnew http://192.168.254.255/Solaris_10

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil instala un archivo de almacenamiento Solaris Flash en el sistema clnico. Se sobrescriben todos los archivos como en una instalacin inicial.

archive_location
El archivo de almacenamiento Solaris Flash se recupera de un servidor HTTP.

partitioning
Los segmentos del sistema de archivos estn determinados por las palabras clave filesys, valor explicit. El tamao de raz (/) est basado en el del archivo de almacenamiento flash de Solaris. El sistema de archivos raz se instala en c0t1d0s0. Se fija el tamao del archivo swap necesario y se instala en c0t1d0s1. /export/home se basa en el espacio de disco libre./export/home se instala en c0t1d0s7.

package
El paquete SUNWnew se agrega desde el directorio Solaris_10 del servidor HTTP 192.168.254.255.

Ejemplo 310 Recuperacin de un archivo de almacenamiento diferencial Solaris Flash desde un servidor NFS

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizada recupera el archivo de almacenamiento Solaris Flash de un servidor NFS. La palabra clave flash_update indica que ste es un archivo de almacenamiento diferencial. Un archivo de almacenamiento diferencial slo instala las diferencias entre las dos imgenes.

# profile keywords # ---------------install_type

profile values ------------------flash_update

archive_location nfs installserver:/export/solaris/flasharchive \ /solarisdiffarchive no_master_check


La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil instala un archivo de almacenamiento diferencial Solaris Flash en el sistema clnico. Slo se instalan los archivos que especifica el archivo de almacenamiento.

archive_location
El archivo de almacenamiento Solaris Flash se recupera de un servidor NFS.

no_master_check
No se comprueba en el sistema clnico una imagen vlida del sistema. La imagen vlida del sistema se habra construido desde el sistema principal original.

Ejemplo 311 Creacin de un entorno de inicio vaco

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizada crea un entorno de inicio vaco. Un entorno de inicio vaco no contiene ningn sistema de archivos y no se produce ninguna copia del entorno de inicio actual. Este entorno de inicio vaco se puede llenar posteriormente con un archivo de almacenamiento Solaris Flash y despus activar.

# profile keywords # ---------------install_type system_type partitioning filesys filesys filesys cluster

profile values ------------------initial_install standalone explicit c0t0d0s0 auto / c0t3d0s1 auto swap any auto usr SUNWCall

bootenv createbe bename second_BE \ filesystem /:/dev/dsk/c0t1d0s0:ufs \ filesystem -:/dev/dsk/c0t1d0s0:swap \

filesystem /export:shared:ufs
La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

partitioning
Los segmentos del sistema de archivos estn determinados por las palabras clave filesys, valor explicit. El tamao del sistema de archivos raz (/) se basa en el software seleccionado, valor auto y se instala en c0t0d0s0. Se fija el tamao del archivo swap necesario y se instala en c0t3d0s1. usr se basa en el software seleccionado y el programa de instalacin determina dnde hay que instalar usr de acuerdo con el valor any.

cluster
El grupo de software de Solaris de distribucin completa, SUNWCall, se instala en el sistema.

bootenv createbe
Se configura un entorno de inicio vaco e inactivo en el disco c0t1d0. Se crean los sistemas de archivos raz (/), de intercambio y/export, pero se dejan vacos. Este segundo entorno de inicio se puede instalar ms adelante con un archivo de almacenamiento Solaris Flash. A continuacin se puede activar el nuevo entorno de inicio para que pase a ser el nuevo entorno de inicio. Para conocer los valores de la palabra clave y una explicacin sobre el uso de la misma, consulte estas referencias:

Para obtener descripciones de los valores de las palabras clave, consulte Valores y palabras clave de perfiles. Para obtener informacin acerca de la utilizacin de Actualizacin automtica de Solaris que crea, actualiza y activa entornos de inicio inactivos, consulte el Captulo 2, Actualizacin automtica de Solaris (descripcin general) de Gua de instalacin de Oracle Solaris 10 9/10: Actualizacin automtica de Solaris y planificacin de la actualizacin . Para obtener informacin acerca de la utilizacin de un archivo de almacenamiento Solaris Flash, consulte el Captulo 1, Solaris Flash (descripcin general) de Gua de instalacin de Oracle Solaris 10 9/10: archivos de almacenamiento de Solaris (creacin e instalacin) .

Ejemplo 312 Creacin de volmenes RAID-1 cuando se instala un archivo de almacenamiento Solaris Flash

En el siguiente ejemplo, el perfil indica que el programa JumpStart utiliza la tecnologa Solaris Volume Manager para crear volmenes RAID-1 (reflejos) para los sistemas de archivos raz (/), swap, /usr y /export/home. Un archivo de almacenamiento Solaris Flash se instala en el entorno de inicio.

# profile keywords # ----------------

profile values -------------------

install_type

flash_install

arhcive_location nfs server:/export/home/export/flash.s10.SUNWCall partitioning filesys filesys filesys filesys filesys metadb explicit mirror:d10 c0t0d0s0 c0t1d0s0 4096 / mirror c0t0d0s1 2048 swap mirror:d30 c0t0d0s3 c0t1d0s3 4096 /usr mirror:d40 c0t0d0s4 c0t1d0s4 4096 /usr mirror:d50 c0t0d0s5 c0t1d0s5 free /export/home c0t1d0s7 size 8192 count 3

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

install_type
El perfil instala un archivo de almacenamiento Solaris Flash en el sistema clnico. Se sobrescriben todos los archivos como en una instalacin inicial.

archive_location
El archivo de almacenamiento Solaris Flash se recupera de un servidor NFS.

partitioning
Los segmentos del sistema de archivos estn determinados por las palabras clave filesys, valor explicit.

filesys
Se crea el sistema de archivos raz (/) y se refleja en los segmentos c0t1d0s0 y c0t0d0s0. El tamao del sistema de archivos raz (/) queda establecido en 4096 MB. El volumen RAID-1 que refleja c0t1d0s0 y c0t0d0s0 recibe el nombre de d10.

filesys
Se crea el sistema de archivos swap, se refleja en el segmento c0t0d0s1 y se le otorga un tamao de 2048 MB. El programa JumpStart personalizado asigna un nombre a los dos reflejos.

filesys
Se crea el sistema de archivos /usr y se refleja en los segmentos c0t1d0s3 y c0t0d0s3. El tamao del sistema de archivos/usr queda establecido en 4096 Mbytes. El volumen RAID-1 se denomina d30.

filesys
Se crea el sistema de archivos /usr y se refleja en los segmentos c0t1d0s4 y c0t0d0s4. El tamao del sistema de archivos/usr queda establecido en 4096 Mbytes. El volumen RAID-1 se denomina d40.

metadb
Se instalan tres repeticiones de bases de datos de estado (metadbs) en el segmento c0t1d0s7 y se les otorga un tamao de 8192 bloques (4 Mbytes).

Para obtener una descripcin general sobre la creacin de sistemas de archivos reflejados durante la instalacin, consulte el Captulo 9,Creacin de volmenes RAID-1 (reflejos) durante la instalacin (informacin general) de Gua de instalacin de Oracle Solaris 10 9/10: planificacin de la instalacin y la actualizacin. Para obtener informacin sobre las directrices y los requisitos para crear sistemas de archivos reflejados, consulte el Captulo 10,Creacin de volmenes RAID-1 (reflejos) durante la instalacin (planificacin) de Gua de instalacin de Oracle Solaris 10 9/10: planificacin de la instalacin y la actualizacin. Para obtener descripciones de los valores de palabra clave, consulte Palabra clave filesys (creacin de volmenes RAID-1) y Palabra clave de perfil metadb (creacin de repeticiones de bases de datos de estado).

Ejemplo 313 Creacin de un volumen RAID-1 para reflejar el sistema de archivos raz

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizada utiliza la tecnologa de Solaris Volume Manager para crear un volumen RAID-1 (reflejo) en el sistema de archivos raz (/).

# profile keywords # ---------------install_type cluster filesys filesys metadb metadb

profile values ------------------initial_install SUNWCXall mirror:d30 c0t1d0s0 c0t0d0s0 c0t0d0s3 512 swap c0t0d0s4 size 8192 count 4 c0t1d0s4 size 8192 count 4 /

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

cluster
El grupo de distribucin completa del software de Solaris ms OEM, SUNWCXall, se instala en el sistema.

filesys
Se crea el sistema de archivos raz (/) y se refleja en los segmentos c0t1d0s0 y c0t0d0s0. El volumen RAID-1 que reflejac0t1d0s0 y c0t0d0s0 recibe el nombre de d30. El programa de instalacin JumpStart personalizada asigna nombres a los dos subreflejos.

filesys
Se crea el sistema de archivos swap, se refleja en el segmento c0t0d0s3 y se le otorga un tamao de 512 MB.

metadb
Se instalan cuatro repeticiones de bases de datos de estado (metadbs) en el segmento c0t0d0s4 y se les otorga un tamao de 8192 bloques (4 MB).

metadb
Se instalan cuatro repeticiones de bases de datos de estado (metadbs) en el segmento c0t1d0s4 y se les otorga un tamao de 8192 bloques (4 MB).

Para obtener una descripcin general sobre la creacin de volmenes RAID-1 durante la instalacin, consulte el Captulo 9, Creacin de volmenes RAID-1 (reflejos) durante la instalacin (informacin general) de Gua de instalacin de Oracle Solaris 10 9/10: planificacin de la instalacin y la actualizacin. Para saber cules son las directrices y los requisitos para la creacin de volmenes RAID-1, consulte el Captulo 10, Creacin de volmenes RAID-1 (reflejos) durante la instalacin (planificacin) de Gua de instalacin de Oracle Solaris 10 9/10: planificacin de la instalacin y la actualizacin. Para obtener descripciones sobre valores de palabras clave, consulte Palabra clave filesys (creacin de volmenes RAID-1) yPalabra clave de perfil metadb (creacin de repeticiones de bases de datos de estado).

Ejemplo 314 Creacin de volmenes RAID-1 para reflejar varios sistemas de archivos

En el ejemplo siguiente, el perfil indica que el programa de instalacin JumpStart personalizado utiliza la tecnologa de Solaris Volume Manager para crear volmenes RAID-1 (reflejos) en los sistemas de archivos raz (/), de intercambio y /usr.

# profile keywords # ---------------install_type cluster filesys filesys filesys filesys metadb filesys filesys filesys

profile values ------------------initial_install SUNWCXall mirror:d100 c0t1d0s0 c0t0d0s0 200 / c0t1d0s5 500 /var c0t0d0s5 500 mirror c0t0d0s1 512 swap c0t0d0s3 size 8192 count 5 mirror c0t1d0s4 c0t0d0s4 2000 /usr c0t1d0s7 free /export/home c0t0d0s7 free

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

cluster
El grupo de distribucin completa del software de Solaris ms OEM, SUNWCXall, se instala en el sistema.

filesys
Se crea el sistema de archivos raz (/) y se refleja en los segmentos c0t1d0s0 y c0t0d0s0. El tamao del sistema de archivos raz (/) queda establecido en 200 MB. El volumen RAID-1 que refleja c0t1d0s0 y c0t0d0s0 recibe el nombre de d100.

filesys
El sistema de archivos /var est instalado en el segmento c0t1d0s5 y tiene un tamao de 500 MB. Se crea el sistema de archivos raz (/) y se refleja en los segmentos c0t1d0s0 y c0t0d0s0. El tamao del sistema de archivos raz (/) queda establecido en 200 MB. El volumen RAID-1 que refleja c0t1d0s0 y c0t0d0s0 recibe el nombre de d100.

filesys
Se crea el sistema de archivos swap, se refleja en el segmento c0t0d0s1 y se le otorga un tamao de 512 MB. El programa JumpStart personalizado asigna un nombre a los dos reflejos.

metadb
Se instalan cinco repeticiones de bases de datos de estado (metadbs) en el segmento c0t0d0s3 y se les otorga un tamao de 8192 bloques (4 MB).

filesys
Se crea el sistema de archivos /usr y se refleja en los segmentos c0t1d0s4 y c0t0d0s4. El tamao del sistema de archivos/usr queda establecido en 2000 MB. El programa JumpStart personalizado asigna un nombre a los dos reflejos.

Para obtener una descripcin general sobre la creacin de sistemas de archivos reflejados durante la instalacin, consulte el Captulo 9,Creacin de volmenes RAID-1 (reflejos) durante la instalacin (informacin general) de Gua de instalacin de Oracle Solaris 10 9/10: planificacin de la instalacin y la actualizacin. Para obtener informacin sobre las directrices y los requisitos para crear sistemas de archivos reflejados, consulte el Captulo 10,Creacin de volmenes RAID-1 (reflejos) durante la instalacin (planificacin) de Gua de instalacin de Oracle Solaris 10 9/10: planificacin de la instalacin y la actualizacin. Para obtener descripciones de los valores de palabra clave, consulte Palabra clave filesys (creacin de volmenes RAID-1) y Palabra clave de perfil metadb (creacin de repeticiones de bases de datos de estado).

Ejemplo 315 x86: Uso de la palabra clave fdisk

# profile keywords # ---------------install_type system_type fdisk fdisk cluster cluster

profile values ------------------initial_install standalone c0t0d0 0x04 delete c0t0d0 solaris maxfree SUNWCall SUNWCacc delete

La siguiente lista describe algunas de las palabras claves y valores del ejemplo.

fdisk
Todas las particiones fdisk de tipo DOSOS16 (04 hexadecimal) se borran del disco c0t0d0.

fdisk
Una particin fdisk de Solaris se crea en el espacio libre ms grande contiguo en el disco c0t0d0.

cluster
El grupo de software de distribucin completa, SUNWCall, se instala en el sistema.

cluster
Las utilidades de contabilidad del sistema, SUNWCacc, no se instalan en el sistema.

Cmo activar y desactivar el modo de archive log de una base de datos Oracle 10G Mostramos cmo activar y desactivar el modo de archivelog (archivado automtico) de una base de datos Oracle Database 9i. Utilizando "SQL*Plus" y el comando "alter database archivelog". Cmo activar el modo de archive log (archivado automtico) de una base de datos Oracle Este manual muestra y explica cmo activar el modo de archivelog de una base de datos Oracle

Abriremos la aplicacin SQL Plus de Oracle desde una ventana de MS-DOS ("Inicio" "Ejecutar" - "cmd"): sqlplus /nolog Nos conectamos con un usuario con suficientes privilegios a la base de datos Oracle a la que queramos activarle el modo Archive Log (ARCHIVELOG), con el comando: connect usuario/contrasea@NOMBRE_BASE_DATOS as sysdba Si ejecutamos este comando y la base de datos est en modo OPEN (abierta): alter database archivelog; Nos dar el siguiente error: alter database archivelog * ERROR at line 1: ORA-01126: database must be mounted EXCLUSIVE and not open for this operation Indicando que para poder cambiar la base de datos Oracle a modo archivado (archive log) hay que iniciarla en modo "mount" (montado). Para ello hay que detenerla e iniciarla con los siguientes comandos: shutdown immediate; Resultado comando: Database closed. Database dismounted. ORACLE instance shut down. La iniciamos en modo "mount" con el comando: startup mount;

Resultado comando: ORACLE instance started. Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes

Redo Buffers 667648 bytes Database mounted. Para cambiar a modo archivado ejecutaremos el siguiente comando: alter database archivelog; Resultado comando: Database altered. Volveremos a inciar la base de datos: alter database open; Resultado comando: Database altered. Para activar el archivado automtico comprobamos el valor del parmetro "log_archive_start", si est a "false" lo pondremos a "true". Para consultar el valor actual del parmetro ejecutaremos el siguiente comando: show parameter log_archive_start; Devolver el siguiente resultado: NAME TYPE VALUE ------------------- -------- -------log_archive_start boolean FALSE Modificaremos el parmetro "log_archive_start" a "true" con el siguiente comando: alter system set LOG_ARCHIVE_START=TRUE SCOPE=spfile; Resultado comando: System altered. Al ejecutar "SCOPE=spfile" haremos que los cambios se guarden definitivamente. Para que los cambios tengan efecto es recomendable parar y volver a iniciar la base de datos: shutdown immediate;

Iniciaremos la base de datos en modo normal: startup; Notas: * Para comprobar en qu modo est la base de datos: select log_mode from v$database; Resultado: LOG_MODE ------------------------NOARCHIVELOG (est en modo no archivado) select log_mode from v$database; LOG_MODE -------------------ARCHIVELOG (est en modo archivado) Otra forma: archive log list; Resultado: Database log mode Archive Mode Automatic archival Enabled Archive destination C:/oracle/ora92/RDBMS Oldest online log sequence 395 Next log sequence to archive 397 Current log sequence 397 * Para ver el valor parmetro de archivado automtico: show parameter log_archive_start; NAME TYPE VALUE ------------------- ----------- ----log_archive_start boolean FALSE DESACTIVAR EL MODO ARCHIVE LOG

Abriremos la aplicacin SQL Plus de Oracle desde una ventana de MS-DOS ("Inicio" "Ejecutar" - "cmd"): sqlplus /nolog Nos conectamos con un usuario con suficientes privilegios a la base de datos Oracle a la que queramos desactivarle el modo Archive Log (ARCHIVELOG), con el comando: connect usuario/contrasea@NOMBRE_BASE_DATOS as sysdba Ejecutamos el siguiente comando para desactivar el modo archive log: alter system archive log stop; Mostrar el siguiente resultado: System altered. Para comprobar que se ha desactivado correctamente: archive log list; Mostrar el siguiente resultado: Database log mode Archive Mode Automatic archival Disabled Archive destination C:/oracle/oradata/bdtest/archive Oldest online log sequence 70 Next log sequence to archive 72 Current log sequence 72 A continuacin os mostramos todo el contenido de la ventana de MS-DOS: C:>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Fri Jul 14 12:30:36 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect /@BDLOCAL as sysdba; Connected. SQL> select log_mode from v$database; LOG_MODE -----------NOARCHIVELOG

SQL> show parameter log_archive_start; NAME TYPE VALUE ------------------------------------ ----------- -----------------------------log_archive_start boolean FALSE SQL> alter database archivelog; alter database archivelog * ERROR at line 1: ORA-01126: database must be mounted EXCLUSIVE and not open for this operation SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> select log_mode from v$database; LOG_MODE -----------ARCHIVELOG SQL> alter database open; Database altered. SQL> show parameter log_archive_start; NAME TYPE VALUE ------------------------------------ ----------- -----------------------------log_archive_start boolean FALSE SQL> alter system set LOG_ARCHIVE_START=TRUE SCOPE=spfile; Sistema modificado.

SQL> show parameter log_archive_dest NAME TYPE VALUE ------------------------------------ ----------- -----------------------------log_archive_dest string log_archive_dest_1 string log_archive_dest_10 string log_archive_dest_2 string log_archive_dest_3 string log_archive_dest_4 string log_archive_dest_5 string log_archive_dest_6 string log_archive_dest_7 string log_archive_dest_8 string log_archive_dest_9 string NAME TYPE VALUE ------------------------------------ ----------- -----------------------------log_archive_dest_state_1 string enable log_archive_dest_state_10 string enable log_archive_dest_state_2 string enable log_archive_dest_state_3 string enable log_archive_dest_state_4 string enable log_archive_dest_state_5 string enable log_archive_dest_state_6 string enable log_archive_dest_state_7 string enable log_archive_dest_state_8 string enable log_archive_dest_state_9 string enable SQL> show parameter log_archive_dest SQL> ALTER SYSTEM ARCHIVE LOG STOP; System altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Disabled Archive destination C:/oracle/oradata/bdtest/archive Oldest online log sequence 70 Next log sequence to archive 72 Current log sequence 72 EXP USUARIO CONTRASEA

BUFFERS 4096 TAMAAO512, 1024, 2048, 4096 (CUANDO ES DE GRAN TAMAO), 8192,
16K, 32K, 64K.

C:\ EXP_DATAOCTUBRE.DMP

2 Y S S DATAOCTUBRE

Set your ORACLE_SID

export ORACLE_SID=test export ORACLE_HOME=/path/to/oracle/home

2. Create a minimal init.ora

# $ORACLE_HOME/dbs/init<sid>.ora control_files = (/path/to/control1.ctl,/path/to/control2.ctl,/path/to/control3.ctl) undo_management = AUTO undo_tablespace = UNDOTBS1 db_name = test db_block_size = 8192 sga_max_size = 1073741824 #one gig sga_target = 1073741824 #one gig

3. Create a password file

$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/pwd<sid>.ora password=oracle entries=5

4. Start the instance

sqlplus / as sysdba startup nomount

5. Create the database

create database test logfile group 1 ('/path/to/redo1.log') size 100M, group 2 ('/path/to/redo2.log') size 100M, group 3 ('/path/to/redo3.log') size 100M character set WE8ISO8859P1 national character set utf8 datafile '/path/to/system.dbf' size 500M autoextend on next 10M maxsize unlimited extent management local sysaux datafile '/path/to/sysaux.dbf' size 100M autoextend on next 10M maxsize unlimited undo tablespace undotbs1 datafile '/path/to/undotbs1.dbf' size 100M default temporary tablespace temp tempfile '/path/to/temp01.dbf' size 100M;

Note: there's some other things you can do here, like "ARCHIVELOG" "SET TIME_ZONE =" and "USER SYS IDENTIFIED BY password" and "USER SYSTEM IDENTIFIED BY password"

6. Run catalog and catproc


@?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql

7. Change passwords
alter user sys identified by whatever; alter user system identified by whatever;

OMF: minimal manual Oracle create database syntax

1. Set your ORACLE_SID

export ORACLE_SID=test export ORACLE_HOME=/path/to/oracle/home

2. Create a minimal init.ora

# $ORACLE_HOME/dbs/init<sid>.ora control_files = (/path/to/control1.ctl,/path/to/control2.ctl,/path/to/control3.ctl) undo_management = AUTO db_name = test db_block_size = 8192 sga_max_size = 1073741824 #one gig sga_target = 1073741824 #one gig db_create_file_dest = /path/to/datafile/location #OMF db_create_online_log_dest_1 = /path/to/first/redo_and_control_file/location #OMF db_create_online_log_dest_2 = /path/to/second/redo_and_control_file/location #OMF db_recovery_file_dest = /path/to/flash/recovery/area #OMF #note its a good idea to also have background_dump_dest, user_dump_dest, and core_dump_dest here as well

3. Create a password file


$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/pwd<sid>.ora password=oracle entries=5

4. Start the instance


sqlplus / as sysdba startup nomount

5. Create the database


create database test character set WE8ISO8859P1 national character set utf8 undo tablespace undotbs1 default temporary tablespace temp;

You can even do this and it will work, the ultimate in minimalism:
create database test;

Note: There's some other things you can do here, like "ARCHIVELOG" "SET TIME_ZONE =" and "USER SYS IDENTIFIED BY password" and "USER SYSTEM IDENTIFIED BY password" Note 2: This is so minimal because you are using Oracle Managed Files as seen in #2

6. Run catalog and catproc


@?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql

Standard create Oracle database syntax After creating your init.ora file with the appropriate parameters you can use the "create database" command in SQL*Plus to create a database: Make sure that your have your $ORACLE_HOME and $ORACLE_SID set properly and that you sign-on as SYSDBA:
startup nomount; CREATE CONTROLFILE REUSE DATABASE "OLDLSQ" NORESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 2 MAXDATAFILES 240 MAXINSTANCES 1 MAXLOGHISTORY 113 LOGFILE GROUP 1 ('/u03/oradata/oldlsq/log1a.dbf', '/u03/oradata/olslsq/log1b.dbf') SIZE 30M, GROUP 2 ('/u04/oradata/oldlsq/log2a.dbf', '/u04/oradata/oldlsq/log2b.dbf') SIZE 30M DATAFILE '/u01/oradata/oldlsq/system01.dbf', '/u01/oradata/oldlsq/mydatabase.dbf' ;