2013年12月6日金曜日

Oracleのスキーマ作成

Oracleの表領域作成及びスキーマ作成方法

  1. sqlplusにてSYSDBAでログイン
    $ sqlplus / as sysdba

  2. 表領域の作成
    CREATE TABLESPACE hoge
    DATAFILE '/opt/oracle/oradata/hoge.dbf' SIZE 100M
    AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED
    DEFAULT STORAGE(INITIAL 64K MINEXTENTS 1 MAXEXTENTS 100);

  3. スキーマ作成(ユーザ名:hoge/パスワード:hoge)
    CREATE USER hoge  PROFILE DEFAULT
    IDENTIFIED BY hoge DEFAULT TABLESPACE hoge
    TEMPORARY TABLESPACE TEMP
    ACCOUNT UNLOCK;

  4. スキーマへの権限付与
    GRANT UNLIMITED TABLESPACE TO hoge;
    GRANT CONNECT TO hoge;
    GRANT RESOURCE TO hoge;

Linuxのネットワーク設定

近頃はXwindow上でやったほうが楽ですが、、、

ネットワークの設定方法
http://www.express.nec.co.jp/linux/distributions/knowledge/network/network03.html


SQL Plusが文字化けした場合の対処

■参照
SQLPlusが文字化けするときの対処法 | CreativeStyle 
http://kadoppe.com/archives/2011/02/sqlplus-encoding.html


下記のようにsqlplusのメッセージが文字化けする場合がある

$ sqlplus hoge/hoge
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 23 11:21:40 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Oracle Database 11g Release 11.2.0.1.0 - Production
?????????  ←文字化け
SQL>

これはsqlplusを利用するユーザの環境変数設定がうまくいっていないために発生する。
このような場合は、sqlplusを利用するユーザのLANG設定に合わせて、
.bash_profileに下記のように追記することで解決できる。

「LANG=”ja_JP.UTF-8”」の場合
export NLS_LANG=Japanese_Japan.AL32UTF8

「LANG=”ja_JP.SJIS”」の場合
export NLS_LANG=Japanese_Japan.JA16SJIS

「LANG=”ja_JP.eucJP”」の場合
export NLS_LANG=Japanese_Japan.JA16EUC

上記設定後に下記のコマンドで環境変数設定を即時反映させればOK

$ . ./.bash_profile