Oracleでは、ユーザを作成する場合は、表領域が必要です。
表領域を作成した後、ユーザを作成し、アクセス権限を指定します。
以下の設定のユーザを作成する場合を例にして説明します。
ユーザ | joe |
アクセス権限 | DBA |
表領域 | TBS01 |
表領域サイズ | 100MB |
まず、svrmgrl(SQL*DBA)で、表領域を作成します。 デフォルト表領域を利用する場合は、必要ありません。
unix# svrmgrl(バージョンによっては、sqldba mode=line) svrmgrl# connect internal; svrmgrl# create tablespace TBS01 datafile 'tbs01.dbf' size 100M; |
以下のSQLコマンドで、ユーザを登録します。
svrmgrl# create user joe identified by パスワード default tablespace TBS01; |
登録したユーザに対して、アクセス権限を与えます。
svrmgrl# grant DBA to joe; |
ユーザの一覧を表示して確認します。
svrmgrl# select * from all_users; |
以下のSQLで、現在ログインしているユーザ名を表示することができます。
svrmgrl# select username from user_users; |
データベースでは、すべてのデータを表として格納しますので、表を作成する必要があります。 表は、create tableというSQL文で作成できるので、psqlを使って作成します。
unix# sqlplus ユーザ名/パスワード ●表の作成 sql# create table addr ( id char(10) not null, name varchar(32) not null, zip varchar(10), addr varchar(64), tel varchar(16)); ●表の削除 sql# drop table addr; ●表一覧の表示 sql# select * from tab; ●表の項目一覧の表示 sql# desc addr;(;は省略可) |
データもSQL文で登録することもできますが、CSVファイルから一括登録することもできます。
CSVファイルの内容 |
---|
1,升村 丞,920-0967,金沢市菊川1-9-6,076-261-4921 2,北陸 太郎,920-0000,金沢市大手町1-1-1,076-111-3333 3,金沢 花子,920-0123,金沢市片町1-2-3,076-123-4567 |
Oracleへデータを入力するときに、CSV形式などのテキストファイルを使用して一括入力する場合は、SQL*Loaderというユーティリティを使用します。
SQL*Loaderを使用するために、以下のような制御ファイルを作成します。
CSVファイルの内容 |
---|
load data infile CSV形式のファイル名 into table 表名 fields terminated by ',' optionally enclosed by '"' (列名1, 列名2, 列名3...) |
制御ファイルを作成したら、SQL*Loaderを起動します。
SQL*Loaderには、ダイレクトモードがあり、これを使用すると10倍程度高速になります。ただし、いくつかの制限がありますので、注意して下さい。
unix# sqlload ユーザ名/パスワード 制御ファイル名 |