テーブルの作成時にデフォルトのテーブルスペースはどのように決定されますか?


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.