¿Cómo se determina el espacio de tabla predeterminado al crear una tabla?

27

El Tablespaceparámetro es opcional al crear tablas.

Tras la ejecución de una CREATE TABLEdeclaración, Oracle asigna la predeterminada si no se definió.

En la base de datos predeterminada hay un espacio de tabla "USUARIOS". Si hubiera varios espacios de tabla definidos, ¿cuál se asignaría?

Centurion
fuente

Respuestas:

41

Cuando crea un nuevo usuario, puede especificar opcionalmente el espacio de tabla predeterminado y el espacio de tabla temporal predeterminado para cualquier objeto creado por ese usuario. Por ejemplo:

CREATE USER phil IDENTIFIED BY l33t
       DEFAULT TABLESPACE philtablespace
       TEMPORARY TABLESPACE philtemp;

Si omite las cláusulas al crear el usuario, el usuario heredará los valores predeterminados de la base de datos. Estos se pueden consultar de la siguiente manera:

SQL> select *
  2  from database_properties
  3  where property_name like 'DEFAULT%TABLESPACE';

PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION
------------------------------ -------------------- ----------------------------------------
DEFAULT_TEMP_TABLESPACE        TEMP                 Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE   USERS                Name of default permanent tablespace

SQL>

... y modificado así:

alter database default tablespace PHILTS; 

alter database default temporary tablespace PHILTEMP;

Para consultar los valores predeterminados para un usuario determinado, use la siguiente consulta:

SQL> select USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE
  2  from DBA_USERS
  3  where USERNAME='PHIL';

USERNAME                       DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------------------
PHIL                           USERS                          TEMP

SQL>
Philᵀᴹ
fuente
5

SELECT DEFAULT_TABLESPACE FROM DBA_USERSpara saber el espacio de tabla predeterminado para cada usuario. ALTER DATABASE DEFAULT TABLESPACE othertablespace;para cambiar el espacio de tabla predeterminado. Por lo general, si hay algunos espacios de tabla, el administrador debe establecer el espacio de tabla predeterminado al crear un nuevo usuario comoCREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace

Hola Soy Edu Feliz Navidad
fuente