Hola a toda la comunidad.
Bueno soy nuevo en oracle manejo stores, y el transac de forma normal.
pero tenia una consulta acerda de la administracion de oracle.
1.- como gestiona el oracle las bases de datos se que hay un esquema de scott de system y de hr este ultimo hay que activarlo.
como haria yo para crear otro esquema y asignarselo a un usuario y este usuario lo pueda crear tablas en este esquema?
me entienden para manejar esquemas como base de datos.
2.- como crear un tablespace, crear un usuario, crear un esquema y asignarle al usuario un esquema
bueno leyendo por ahi llegue a crear una nueva base de datos, pero no puedo reconocerla en el plsql developer.
no se cual de los dos convenga mas pero me ayudaria mucho a quitarme muchas dudas.
bueno desde ya agradesco tu ayuda.
saludos christopher espino
Publicado:
Lun Sep 10, 2007 7:12 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: problema con esquemas
Anuncios
chriskof2000 escribió:
Hola a toda la comunidad.
Bueno soy nuevo en oracle manejo stores, y el transac de forma normal.
pero tenia una consulta acerda de la administracion de oracle.
...
bueno desde ya agradesco tu ayuda.
saludos christopher espino
En cuanto a tu primera duda decirte que Oracle crea un esquema de forma automática para cada usuario de la base de datos. Cuando creas un usuario se crea un esquema para este usuario de forma automática.
Un poco de teoría: cuando se crea una base de datos ésta se divide en secciones lógicas denominadas espacioes de tablas TABLESPACES. El espacio de tablas SYSTEM será el primero en crearse, pues Oracle aloja ahí información vital para el funcionamiento de la base de datos. Después de este se pueden crear otros espacios de tablas adicionales para almacenar distintos tipos de datos (índices, tablas, segmentos de anulación, etc). Un TABLESPACE puede tener asignados uno o varios ficheros físicos.
Por otro lado, una base de datos puede tener múltiples usuarios, cada uno de ellos tendrá un esquema. Los usuarios que nos comentas (hr, scott, system) son creados por Oracle en su instalación. Puedes crear los que quieras y, cuando crees la primera tabla accediendo con un usuario, Oracle creará automáticamente el esquema para este usuario, con sus objetos: tablas, índices, vistas, etc.
Para crear un tablespace lo puedes hacer con Enterprise Manger Console (si utilizas Oracle 9 o inferior), desde la web de administración (si utilizas Oracle 10 o superior), ambas de forma visual o también en cualquier versión de Oracle mediante una instrucción SQL:
Código:
CREATE TABLESPACE "NOMBRE_TABLESPACE" LOGGING
DATAFILE 'G:/oracle/nombrefichero.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE
UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT
SPACE MANAGEMENT AUTO ;
Donde:
* "NOMBRE_TABLESPACE" será el nombre que le asignemos al espacio de tablas.
* DATAFILE 'G:/....': será la ubicación y nombre de fichero de datos físico donde estará alojado el tablespace.
* SIZE 20M: será el espacio inicial asignado a este tablespace.
* MAXSIZE UNLIMITED: le indicamos que no tiene límite de crecimiento.
* SPACE MANAGEMENT AUTO: le indicamos que administre las necesidades de almacenamiento (ampliación) de forma automática. Este parámetro no es válido para todas las versiones de Oracle.
Lógicamente si lo haces de forma visual es más sencillo, pero con el SQL es más práctico y rápido.
Para crear un usuario en Oracle puedes hacerlo también de forma visual o bien con una sentencia SQL como esta:
Código:
CREATE USER "NOMBRE_USUARIO" PROFILE "DEFAULT"
IDENTIFIED BY "CONTRASEÑA_USUARIO" DEFAULT TABLESPACE "TABLESPACE_DEFECTO"
ACCOUNT UNLOCK;
y esta otra para establecer el permiso de acceso:
Código:
GRANT "CONNECT" TO "NOMBRE_USUARIO";
Donde:
* DEFAULT TABLESPACE: será el parámetro que indicará qué tablespace va a utilizar el usuario. Cada vez que se cree un tabla accediendo con este usuario, dicha tabla se guardará en el tablespace indicado en este parámetro.
* ACCOUNT UNLOCK: le indicamos con esto que cree la cuenta y la desbloquee. Oracle crea los usuarios bloqueados por seguridad, salvo que se le indique lo contrario.
* GRANT "CONNECT" TO ....: esta instrucción SQL permite dar el permiso de conexión al usuario, para que pueda iniciar sesión en Oracle.
Como puedes observar a un usuario se le asigna un espacio de tablas (tablespace) pues el concepto de "esquema" es puramente lógico. El usuario guardará físicamente las tablas en los ficheros del tablespace que tenga asigado, en su esquema podrás ver sus tablas y el resto de sus objetos, pero, como te decimos, es un concepto lógico, no físico.
Te indicamos ahora algunos artículos de esta web que tal vez te sean de utilidad:
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A