테이블을 만들 때 기본 테이블 스페이스는 어떻게 결정됩니까?


27

Tablespace테이블을 생성 할 때 매개 변수는 선택 사항입니다.

CREATE TABLE명령문 실행시 Oracle은 기본 명령문이 정의되어 있지 않은 경우이를 지정합니다.

기본 데이터베이스에는 "USERS"테이블 스페이스가 있습니다. 여러 테이블 스페이스가 정의 된 경우 어떤 테이블 스페이스가 지정됩니까?

답변:


41

새 사용자를 작성할 때 선택적으로 해당 사용자가 작성한 오브젝트의 기본 테이블 스페이스 및 기본 임시 테이블 스페이스를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

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

사용자를 작성할 때 절을 생략하면 사용자는 데이터베이스 기본값을 상속합니다. 다음과 같이 쿼리 할 수 ​​있습니다.

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>

... 그리고 다음과 같이 수정되었습니다.

alter database default tablespace PHILTS; 

alter database default temporary tablespace PHILTEMP;

주어진 사용자에 대한 기본값을 쿼리하려면 다음 쿼리를 사용하십시오.

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

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

SQL>

5

SELECT DEFAULT_TABLESPACE FROM DBA_USERS각 사용자의 기본 테이블 스페이스를 알고 있습니다. ALTER DATABASE DEFAULT TABLESPACE othertablespace;기본 테이블 스페이스를 변경합니다. 일반적으로 일부 테이블 스페이스가있는 경우 관리자는 다음과 같은 새 사용자를 작성할 때 기본 테이블 스페이스를 설정해야합니다.CREATE USER myuser IDENTIFIED BY mypass DEFAULT TABLESPACE onetablespace

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.