こんにちは!
今日はVantageにユーザーデータを格納する領域を作成します。
データベース?ユーザー?の記事で書いたとおりユーザーとして領域を定義していきます。
まず最初に親ユーザーを作成する
それではデータベース環境の構築を行いましょう。これもデータベース?ユーザー?で触れましたが、Vantageのデータベース/ユーザーは階層構造をとります。
そこでまず皆さんがユーザーデータを格納する親ユーザーを作成します。図でいうSYSDBAです。このSYSDBAの中に皆さんが実際にログインするためのユーザーやデータテーブルなどを格納するユーザー(やデータベース)を作成していきます。
ユーザーを作成するSQLで最低限必要なのは、
Create User [ユーザー名] as Perm=[データベースサイズ], Password=[パスワード];
括弧がきの部分はそれぞれ実際の値に書き換えてご使用ください。
今回は親ユーザーの作成ですので[ユーザー名]は「SYSDBA」としてください。
パスワードはご自身のポリシーに倣ってどうぞ。
Permをいくつにするかについて説明します。
Vantageはシステムカタログ情報(Vantageではディクショナリと呼びます)やログを保存する領域、さらにクエリーを実行するために一時的に作成するスプールのための領域を確保しておくことが必要となります。そのため用意された領域すべてをユーザーデータの格納に使えるわけではありません。
あくまでざっくりとですが以下のクエリーで照会することができるデータベースの全体サイズの概ね50%程度の数値を入力してください。
select sum(maxperm) from dbc.diskspace;
実際にデータを格納するユーザーを作成する
それでは実際にデータ格納に使用するユーザーを作成しましょう。今、SYSDBAを作成したばかりですのであなたはdbcユーザーでVantageにログインしているはずです。ですので今度は以下のSQLを使用してみてください。
Create User [ユーザー名] From SYSDBA as Perm=[データベースサイズ], Password=[パスワード];
さきほどは書かなかったFrom句を追加しました。このFrom句がない場合のデフォルトはSQLを実行したユーザーとなります。したがってFrom句がない場合SQLを実行したユーザーの子ユーザーが作成されます。SQLを実行するユーザーがその他のユーザーの子ユーザーを作成する場合にこのFrom句を指定します。
領域はSYSDBAから分け与えられることになりますから、データベースサイズはSYSDBAのサイズ以下ということになります。
これでデータを格納する領域が完成しました。
次回の記事ではデータを格納するテーブルの作成について紹介します。
より詳しく情報はこちら
Teradata Vantage™ - SQLデータ定義言語 構文規則および例 CREATE USER