ALTER DATABASE
ALTER DATABASE コマンドを使用して、データベースのプロパティー (例えば、デフォルトの文字セット、名前、デフォルト・スキーマ、データベースの所有者、データベースに対して履歴データを収集するかどうかなど) を変更します。
構文
ALTER DATABASE <db_name> [ OWNER TO <user> ] [ RENAME TO <new_db_name> ]
[ SET DEFAULT SCHEMA <schema_name> ] [ SET DEFAULT CHARACTER SET LATIN9 ] ]
[ COLLECT HISTORY {ON|OFF|DEFAULT} ] [ DATA_VERSION_RETENTION_TIME <number-of-days> NOCASCADE ]
[GROOM BACKUPSET {<backupset>|DEFAULT}] [LOCK FOR UPDATE] [UNLOCK]入力
| 入力 | 説明 |
|---|---|
| <db_name> | データベースの名前。 |
| OWNER TO | 新しいデータベース所有者の名前 |
| RENAME TO | 新しいデータベース名。 |
| SET DEFAULT SCHEMA | データベースに接続するユーザーのデフォルト・スキーマ。 デフォルト・スキーマを変更すると、以前のデフォルト・スキーマへのアクセス権限を継承していたユーザーは、そのスキーマへのアクセス権限を失い、新しいスキーマへのアクセス権限を継承します。 それらのユーザーは、以前のデフォルト・スキーマへのアクセス権限が明示的に付与されていない限り、そのスキーマへのアクセス権限を失います。 |
| SET DEFAULT CHARACTER SET | 比較、結合、char/nchar クラス・データのキャストを実行可能にするには、デフォルトの文字セットを LATIN9 に設定します。 |
| COLLECT HISTORY | このデータベースに接続されたセッションに関する履歴データを収集するかどうか。
|
| データ保持時間 | 指定したデータベースのDATA_VERSION_RETENTION_TIMEの値を更新します。 新しい値は、データベース内の既存のスキーマやテーブルに影響を与えない。 しかし、この値は、このプロパティを明示的に指定しないデータベース内の後続のCREATE SCHEMAコマンドで継承されるデフォルト値を決定します。 最大許容値は92日で、これは1暦四半期の最大日数である。 |
| 新郎バックアップセット | DEFAULTに設定すると、GROOM TABLEコマンドはテーブルのデータベースのデフォルトのバックアップ・セットを自動的に決定します。 特定のbackupsetid文字列が設定された場合、GROOM TABLE は指定されたバックアップ・セットをテーブルのデータベースのデフォルトのバックアップ・セットとして使用します。 |
| 更新ロック | データベースへの書き込みを一時停止する。 |
| UNLOCK | データベースのロックを解除する。 |
出力
| 出力 | 説明 |
|---|---|
| ALTER DATABASE | コマンドは正常に実行されました。 |
| ERROR: ALTER DATABASE: database "db1" is being accessed by other users | データベースは、別のユーザーによって使用されています。 |
特権
admin ユーザーかデータベース所有者であるか、あるいはアカウントがそのデータベースまたは Database オブジェクト・クラスに対する Alter 特権を持っている必要があります。 データベース所有者またはデフォルト・スキーマを変更するには、そのユーザーまたはスキーマに対する List 特権を持っている必要があります。
使用法
empデータベースのデフォルト文字セットを変更します。MYDB.SCH1(USER)=> ALTER DATABASE emp SET DEFAULT CHARACTER SET LATIN9;empデータベースの所有者を変更します。MYDB.SCH1(USER)=> ALTER DATABASE emp OWNER TO admin3;empデータベースの名前を変更します。MYDB.SCH1(USER)=> ALTER DATABASE emp RENAME TO employees;empデータベースをロックし、書き込みを一時停止する:MYDB.SCH1(USER)=> ALTER DATABASE emp lock for update;empデータベースのロックを解除する:MYDB.SCH1(USER)=> ALTER DATABASE emp unlock;