Created: 2024-10-31 jue 08:51
users
: Tablespace asignado por defecto para los datos de todos los usuariossystem
: Datos acerca de la instancia y del diccionario de datossysaux
: Operaciones temporales del administrador que no caben en memoriaundo
(undotbs1
): Datos para deshacer las transacciones (rollback
)temp
: Operaciones temporales de usuarios que no caben en memoriaselect tablespace_name, contents from dba_tablespaces;
Mas información en:
CREATE TABLESPACE ejemplo_tablespace
DATAFILE
'/tablespaces/ejemplo_1.dbf' SIZE 10M
AUTOEXTEND ON NEXT 200k MAXSIZE 14M,
'/tablespaces/ejemplo_2.dbf' SIZE 10M
AUTOEXTEND ON NEXT 200k MAXSIZE 14M;
Más en docs.oracle.com
ORA-01653
dba_users
)alter user
)DATABASE_PROPERTIES
)alter database
)
ALTER TABLE ... MOVE TABLESPACE
PRUEBA1
PRUEBA1
MISDATOS(DATOS VARCHAR(255))
PRUEBA1
PRUEBA2
MISDATOS
a PRUEBA2
PRUEBA2
Más información en Oracle.com
¿Qué usuario hemos utilizado con sqlplus
hasta ahora?
os_authent_prefix
)wheel
era administradorCREATE USER usuario IDENTIFIED BY contrasena
DEFAULT TABLESPACE tablespace
TEMPORARY TABLESPACE tablespace
QUOTA UNLIMITED ON tablespace
QUOTA tamano ON tablespace
ACCOUNT LOCK
ACCOUNT UNLOCK
Modificación de un usuario ya creado
ALTER USER usuario
cualquier opcion valida al crear usuario
Borrado de usuario
DROP USER usuario
Privilegio | Objeto sobre el que se aplica |
---|---|
Create, alter, drop |
Table, sequence, view, user, synonym, session, procedure |
select, update, delete, insert |
Sobre campos de tablas y filas |
Grant
grant PRIVILEGIO1,PRIVILEGIO2,...,PRIVILEGION
on OBJETO
to USUARIO
with grant option;
create table alumnos(...);
create user profesor ...;
grant select on alumnos to profesor;
CONPERMISOS
connect
y resource
DATOS(TEXTO varchar2(255),numero integer)
LIMITADO
CONPERMISOS
de privilegios a LIMITADO
para que:
DATOS
NUMERO
de tabla DATOS
TEXTO
, ni borrar filas, ni insertar filasCONPERMISOS
tenga una cuota de 100k en el tablespace USERS
DATOS
revoke
with grant option
connect sys/*******
grant select on unatabla to unusuario with grant option;
connect unusuario/*******
grant select on unatabla to otrousuario;
connect sys/*******
revoke select on unatabla from unusuario;
-- AQUI NI unusuario NI otrousuario TIENEN PRIVILEGIO SOBRE unatabla
CREATE ANY TABLE
, CREATE ANY VIEW
,…CREATE SESSION
, CREATE SYNONYM
,..UNLIMITED TABLESPACE
, SYSDBA
,…create role NOMBREROL;
grant PRIVILEGIOS on OBJETOS to NOMBREROL;
grant NOMBREROL to USUARIO;
Se pueden asignar privilegios a PUBLIC
, para que todos los usuarios tengan dicho privilegio. Decide si PUBLIC
es un usuario o un rol, y compruébalo en las tablas de diccionario.
USUARIOANTES
USUARIODESPUES
USUARIODESPUES
, ¿tiene más, menos o los mismos privilegios que USUARIOANTES
?
SET ROLE
select * from session_roles;
select * from session_privs;
start with
: Primeras filas seleccionadas de la tablaconnect by
:
prior
: Hace referencia a la columna de la fila previamente ya seleccionadaprior
: Hace referencia a la columna de la fila actualselect * from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER' order by 1,2,3;
select * from dba_sys_privs where grantee = '&USER' or grantee in (
select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER'
)
order by 1,2,3;
select * from dba_tab_privs where grantee = '&USER' or grantee in (
select granted_role from dba_role_privs connect by prior granted_role = grantee start with grantee = '&USER'
)
order by 1,2,3,4;
Ver connect by prior
CREATE PROFILE nombreperfil LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 3000
CONNECT_TIME 45
IDLE_TIME 1
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000
PRIVATE_SGA 15K
COMPOSITE_LIMIT 5000000;
ALTER SYSTEM SET resource_limit = TRUE scope = BOTH
En la creación (create user
), o posteriormente
alter user USUARIO profile NOMBREDEPERFIL
LIMITADO
PASSWORD_VERIFY_FUNCTION
para evitar que las contraseñas sean más largas de tres caracteres