Oracle エンタプライズマネージャー使用方法②サーバー

一覧

em7

記憶域

表領域

table_space
Oracle 記憶域」参照

REDOログ・グループ

REDOロググループ

データベース構成

メモリー・アドバイザ

自動メモリ管理:有効
memory_adviser1

memory_adviser2

memory_adviser3

自動メモリ管理:無効
自動共有管理:有効
memory_adviser4

memory_adviser5

自動メモリ管理:無効
自動共有管理:無効
memory_adviser6

memory_adviser7

初期化パラメータ

データベース構成 → 初期化パラメータ
em16
「現行」タブ
現インスタンス使用中の値
「SPFile」タブ
SPFile登録値
「動的」項目
変更時、インスタンス再起動不要
「SPFileモードでの変更を現在実行中のインスタンスに適用する」チェック
SPFile、インスタンス両方に適用する
ALTER SYSTEM SET ~ SCOPE = BOTH に当たる処理
DBA インスタンス/パラメータファイル」参照

セキュリティ

ユーザー

em_user1

設定項目 内容
ユーザー名 大文字/小文字:区別しない
パスワード 大文字/小文字:区別する
プロファイル 適用するパスワードポリシーを包括したプロファイルを選択する
認証方式 ・パスワード
・外部
・グローバル
デフォルト表領域 ユーザーがオブジェクト(表等)作成時、
格納先表領域を指定しなかった場合の格納先表領域
一時表領域
表領域の割り当て制限 使用を許可する表領域の容量
規定は全表領域に対して「なし」
アカウントステータス ログイン:○=ロック解除
ログイン:×=ロック
パスワードステータス 期限切れ=次回ログイン時にパスワード変更を求められる
ロール EMでユーザーを作成するとCONNECTが自動で付与される
SQL DCL:ユーザー、ロール、権限」参照

em_user3

em_user2

em_user4
割り当て制限を解除しない場合、CREATE TABLE権限を割り当てても表を作成できない
一度、表領域に対して割り当てた領域について再度、割り当てを解除(割り当て制限:なし、値:0)した場合
最初に割り当てた領域分、全てのDML文を実行できる。

ロール

em_role1

em_role2

em_role4

em_role3

プロファイル

ユーザの動作を制限する為のルール
SQL DDL:プロファイル」参照
em_profile1

パスワードポリシー
em_profile2

Oracle エンタプライズマネージャー使用方法①一覧

エンタプライズマネージャーとは

Oracle Enterprise Manager Database Contorol
EMまたはOEMと呼ばれる
データベース全般のグラフィカル管理ツール
ブラウザから使用

以下を実行
・スキーマ・オブジェクト(表、ビュー、索引など)の作成
・ユーザー・セキュリティの管理
・データベースのメモリーとストレージの管理
・データベースのバックアップとリカバリ
・データのインポートとエクスポートなどの管理タスク
以下を表示
・データベースのパフォーマンス
・ステータス情報

プロセス起動/終了

コマンドプロンプト(Windowsの場合)等からクライアント(ユーザー)側にプロセスを起動する

コマンド 結果
emctl start dbconsole 開始
emctl stop dbconsole 終了
emctl status dbconsole 状態
→Oracle Enterprize Manager is not running.
→Oracle Enterprize Manager is running.

ユーザープロセスの起動に伴い、
Oracleサーバー側ではサーバープロセスが起動する。
dbconsoleプロセスが起動していればエンタプライズマネージャーは起動できる。
エンタプライズマネージャーにおいて対象DBの操作を行うには、
・インスタンスの起動
・リスナーの起動
が更に必要。

ログイン

URL
https://(ホスト名orIP):(ポート番号)/em/

使用ポート番号
DBA ファイル/ポート番号ファイル」参照

em1

デフォルトでEMにログインできるユーザーの一覧は「管理者」参照

ホーム

m2

em3

パフォーマンス

em4

em5

em6

サーバー

em7
Oracle エンタプライズマネージャー使用方法②サーバー」参照

スキーマ

em8

データ移動

em9

ソフトウェアとサポート

em10

設定

管理者

em13
スーパー管理者ユーザー

ユーザー名 接続モード
SYS SYSDBAモードのみ
SYSTEM Normalモードのみ
SYSMAN Normalモードのみ

SYSDBAユーザーを管理者として追加するとこの一覧に表示される。

ブラックアウト

em14

プリファレンス

優先資格証明

ジョブやタスク実行時、
・リスナー
・ホスト
・データベース
・エージェント
へのログインを自動で実行する為の設定情報
em11

em12

Oracle OracleNet

OracleNetとは?

クライアントとサーバ間通信を行うサービス

リスナー(サーバ側プロセス)が両者を仲介する

oracle_net
トラフィック負荷サービス:Oracle Connection Manager を別途インストール可能

リスナー

リスナーとは?

データベースがクライアントからの初期接続要求を受け付けるアプリケーション
リスナーは、クライアントからの要求を受け取った後、データベースへ要求を引き渡す。
→セッションが確立、保持される。
セッションが保持された後の通信はリスナーを介さないので、
リスナーが停止してもデータベースの使用に支障は無い。
データベース

リスナー

クライアント
以下のツールで設定可能
Oracle Enterprise Manager(ネットサービス管理)
Oracle Net Configuration Assistant
Oracle Net Manager

プロセス操作

EnterpriseManageによる起動・停止の他、コンソールより以下のコマンドで操作可能

コマンド 結果
lsnrctl start (リスナー名) リスナープロセス起動
lsnrctl stop (リスナー名) リスナープロセス停止
lsnrctl status (リスナー名) リスナープロセス状態表示
lsnrctl srvices (リスナー名) リスナープロセスサポートサービス表示

1つのサーバーに対して複数のリスナープロセスを起動できる

NetCA

Oracle Net Configuration Assistant
ネットワーク関連設定ツール
リスナーをインストールできる。

リスナー構成

NetCA (1)

NetCA (2)

NetCA (3)

NetCA (4)

NetCA (5)

NetCA (6)

Net Manager

・リスナーの構成
・ローカルネーミングメソッドの構成
tnsnames.oraの作成

netmanager1

netmanager2

netmanager3

netmanager4

netmanager5

netmanager6

※%ORACLE_HOME%\home\NETWORK\ADMIN (Windows)
※$ORACLE_HOME%\network\admin (Linux)
# tnsnames.ora Network Configuration File: ~\home\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
NETSERVICE_OFFICE-YONE = ←接続識別子(ネットサービス名)
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )
  (CONNECT_DATA =
   (SERVER = DEDICATED)
   (SERVICE_NAME = service_officeyone)
  )
 )
ORACLR_CONNECTION_DATA =
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
  (CONNECT_DATA =
   (SID = CLRExtProc)
   (PRESENTATION = RO)
  )
 )

ネーミングメソッド

クライアント → サーバ 接続の名前解決方法
NAMES.DIRECTORY_PATH = (TNSNAMES, HOSTNAME, EZCONNECT, LDAP, NIS, ONAMES)
ローカルネーミング
TNSNAMES
ホストネーミング
HOSTNAME
簡易接続ネーミング
EZCONNECT
ディレクトリネーミング
LDAP
外部ネーミング
NIS
Oracle Names
ONAMES

ネーミング
メソッド
概要 設定ファイル
ローカル ローカル(クライアント)の設定ファイルで名前解決を行う方式
設定を変更する場合、全クライアントの設定ファイルを変更する必要がある
> sqlplus ユーザ名/パスワード@接続識別子
> sqlplus user/password@TEST

tnsnames.ora
ディレクトリ LDAP対応のディレクトリサーバの設定ファイルで名前解決を行う方式
設定を変更する場合、1カ所の設定ファイルの変更で済む
LDAP対応のディレクトリサーバ
・Microsoft:ActiveDirectory
・Oracle:InternetDirectory

LDAP
Light weight Directory Access Protocol
TCP/IPネットワークにおけるデータベース接続用プロトコル

簡易接続 事前にネットワーク構成が不要
クライアント~サーバ間がTCP/IP接続されている前提
> sqlplus user/password@ホスト名:ポート番号/サービス名
> sqlplus user/password@XXX.XXX.XXX.XXX:XXXX/XXXXX
または
> sqlplus user/password@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=XXX)(HOST=XXXXX)(PORT=XXXX)))(CONNECT_DATA=(SERVICE_NAME=XXXXX)))
外部 NIS(NewworkInformationService)等のネーミングサービスで名前解決を行う方式

ホスト ホスト名を使用して接続
DNS、hostsファイルによってIPアドレス変換ができる事が前提
初期化パラメータ:SERVICE_NAMESでホスト名を指定
OR
listener.oraファイル:GLOBAL_DBNAMEでホスト名を指定
listener.ora

設定ファイル

一覧

ファイル名 内容
tnsnames.ora ローカルネーミングメソッド用プロファイル
sqlnet.ora OracleNetの構成ファイル
listener.ora リスナー構成ファイル
tnsnames.ora

ローカルネーミングメソッドで接続する場合に使用するファイル

# tnsnames.ora Network Configuration File: C:\oracledatabase\home\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
TEST = ←接続識別子(ネットサービス名)
 (DESCRIPTION =
  (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = XXX)(HOST = XXXXX)(PORT = XXXX))
   (ADDRESS = (PROTOCOL = XXX)(KEY = XXXXX))
  )
  (CONNECT_DATA =
   (SERVER = XXXXX)
   (SERVER = DEDICATED) 専用サーバ接続
   (SERVER = SHARED) 共有サーバ接続
   未指定 共有サーバ → 専用サーバ の順で接続
   (SID = XXXXX)
   (PRESENTATION = XXXXX)
   (SERVICE_NAME = XXXXX)
  )
 )
sqlplus ユーザ名/パスワード@接続識別子
で接続可能

sqlnet.ora

NONE/ALL/NTSのいずれか
SQLNET.AUTHENTICATION_SERVICES = (~)
ネーミングメソッドの優先順位
NAMES.DIRECTORY_PATH = (TNSNAMES, HOSTNAME)
接続識別子にドメインが省略された場合のデフォルトドメイン
NAMES.DEFAULT_DOMAIN = mydomain

ローカルネーミング構成時
サーバ側に必要
非ローカルネーミング構成時
クライアントとサーバに必要

listener.ora

リスナー構成ファイル
LISTENER = XXXXX //:リスナー名
 (DESCRIPTION_LIST =
  (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = XXX)(HOST = XXXXX)(PORT = XXXX))
   )
  )
 )
 
 SID_LIST_LISTENER = XXXX //:接続先データベース
 (SID_LIST =
  (SID_DESC =
   (SID_NAME = XXXXX)
   (ORACLE_HOME = C:\XXXX\XXXX)
   (PROGRAM = XXXXX)
  )
  (SID_DESC =
   (GLOBAL_DBNAME = XXXXX)
   (ORACLE_HOME = C:\XXXX\XXXX)
   (SID_NAME = XXXXX)
  )
 )
 
 LOGGING_LISTENER = ON[OFF]
 LOG_FILE_LISTENER = listener.log
 PASSWORDS_LISTENER = XXXXX
 TRACE_FILE_LISTENER = listener.trc
 TRACE_LEVEL_LISTENER = OFF

Oracle DBCA使用方法

DBCAとは?

DataBase Configuration Assistant
・ データベースの作成
・ データベースの削除
テンプレート管理

データベース作成手順

開始

dbca (1)

処理選択

dbca (2)
DataBase Configuration Assistant
・ データベースの作成
・ データベースの削除
テンプレート管理

テンプレートの選択

dbca (3)

テンプレート 内容
汎用 トランザクション処理とデータウェアハウスの両方
トランザクション処理 複数ユーザー、複数トランザクション処理環境向け
可用性、同時実行性、リカバリ可能性を重
カスタム 全ての項目を一から定義
データウェアハウス 大量データ、複雑な問い合わせ処理環境向け
応答時間や可用性を重視
データベース名

dbca (17)
グローバルデータベース名
データベースの名前
データファイル群の名前
データベースを識別する為の名称
ORACLE_SID
データベース管理システムの管理プログラムのプロセス名
インスタンスを識別する為の名称
通常、グローバルデータベース名 = SID
RAC構成時、データベース1つに対してインスタンスが複数起動する為、
SIDも複数必要になる。

エンタプライズマネージャーの構成

dbca (18)
Oracle エンタプライズマネージャー使用方法①一覧
Oracle エンタプライズマネージャー使用方法②サーバー
Oracle エンタプライズマネージャー使用方法③スキーマ
参照
リカバリ領域(あとで設定)へ推奨バックアップを有効化

管理ユーザー

デフォルトで作成されるユーザー一覧(管理者)
dbca (4)
SYSユーザー
Oracleインストール時に作成されるデータベース管理用ユーザー
DBAロールが付与されている。
データ・ディクショナリ所有者
SYSTEMユーザー
Oracleインストール時に作成されるデータベース管理用ユーザー
全データベースのシステム権限が付与される
通常、一般の管理作業はSYSTEMユーザーで行う

記憶域タイプ

dbca (5)
記憶域のタイプ

タイプ 内容
ファイル・システム OSで扱えるファイルとして管理
自動ストレージ管理 ASM(自動ストレージ管理)
RAWデバイス RAC
リカバリオプション

dbca (6)
フラッシュ・リカバリ領域の指定
アーカイブモード:「ARCHIVELOGモード」に

dbca (7)

メモリ構成

dbca (8)
DBA インスタンス メモリ管理」参照

ブロックサイズ

dbca (9)
Oracle データブロック」参照
(定義済みテンプレートからデータベースを作成している場合は変更不可)

dbca (10)

接続モード

dbca (11)
DBA インスタンス プロセス」参照

記憶域

dbca_tablespace
テンプレートの選択において、「カスタム・データベース」を選択した場合
表領域データファイル名、サイズ等を設定

データベース作成オプション

dbca (13)
データベース・テンプレートとして保存
今回作成したデータベースをテンプレートとして保存する場合
データべース作成スクリプトの生成
コマンドラインからデータベースを作成できるスクリプトを作成する場合

dbca (14)

dbca (15)

テンプレート

事前定義されたデータベース情報
新規にデータベースを作成する場合もデフォルトで用意されているテンプレートを用いてデータベースを作成する。
テンプレートの選択」参照

dbca
DBA テンプレート」参照

Oracle SQL Developer使用方法

概要

OracleDatabase(Ver9.2以降)用グラフィカルツール
Javaで開発されておりインストール無しで実行できる。
・SQL
・PL/SQL(IF文等のSQL用制御文)
・SQL*Plusコマンド
を実行可能。
SQL*PlusのGUI版

使用方法

実行

SQL文の実行(Ctrl+Enter)
sqldeveloper1
選択行のみ実行される。

スクリプトの実行(F5)
sqldeveloper2
ワークシート内のSQL文が全て実行される。

終端文字

SQL文の終端を表す「;」は無くても自動解釈される。
複数のSQL文を実行する場合は必要。

Oracle SQL*Loader使用方法

SQL*Loaderとは?

外部ファイル(CSV等)のデータをOracleDatabase取り込むOracle標準ツール

実行コマンド

sqlldr
ユーザー名/パスワード@DB
control='制御ファイル名'
log='ログ出力先'
rows=コミット単位
errors=エラー許容数
skip=スキップ件数


sqlldr user/pass@test control='tbl.ctl' log='log.log' rows=1000 errors=-1 skip=3

制御ファイル

OPTIONS (
 ダイレクトモードでロード(バッファ未使用=高速)
 DIRECT=TRUE
)

LOAD DATA

キャラクタセット名(入力ファイルの漢字コード)
CHARACTERSET ~

LENGTH SEMANTICS CHAR

入力ファイルパス
INFILE '~.ctl'

INSERT/APPEND/TRUNCATE/REPLACE
TRUNCATE

ロード対象表
INTO TABLE スキーマ.表

区切り文字(INFILEがCSVの場合)
FIELDS TERMINATED BY ','

INFILEに囲み記号ありの場合
OPTIONALLY ENCLOSED BY '"'

条件に合致するデータのみロードする場合
WHEN (列名1 = 'a' AND 列名2 = 'B')

取り込み対象列
TRAILING NULLCOLS
(
 列名1,
 列名2,
 列名3,
 ~
)


※tbl.ctl
OPTIONS (
 DIRECT=TRUE
)
LOAD DATA
CHARACTERSET JA16SJISTILDE
LENGTH SEMANTICS CHAR
INFILE '入力ファイルパス'
TRUNCATE
INTO TABLE TEST.TABLE1
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
WHEN (列名1 = 'a' AND 列名2 = 'B')
TRAILING NULLCOLS
(
 列名1,
 列名2,
 列名3
)

Oracle SQL*Plus使用方法

SQL*Plusとは?

OracleデータベースにおけるSQLを実行するためのクライアント用CUIツール
データベース接続/切断、SQLコマンドを実行可能

インストール

公式ダウンロードサイト
Windows(32bit/64bit)、Linux等の各実行環境に応じたファイルをダウンロードする
instantclient

インスタントクライアント

ORACLEデータベースに接続するためのライブラリ
・ instantclient-Basic~
・ instantclient-Basiclite~
をダウンロードして同一フォルダへまとめる
接続以外の機能が無く、データベースを操作する為には別途SQL*Plus等が必要。
・ instantclient-sqlplus~
をダウンロードしてインスタントクライアントと同一フォルダへまとめる

SQL*Plusコマンド

一覧

コマンド 説明
SQLPLUS SQLPLUS起動
CONNECT 接続
@ 外部スクリプト
SHOW ERRORS エラー表示
SHOW PARAMETER SPFILE SPFileの表示
DESCRIBE (表名) テーブル定義出力
PROMPT (文字列) 文字列ログ出力
STARTUP インスタンスの起動~MOUNT、OPENまで全て実行
SHUTDOWN 切断」参照

接続

ログイン対象サーバー コマンド 次コマンド 意味
ローカル sqlplus ユーザー名? 起動
ローカル sqlplus as sysdba ユーザー名? 起動(権限付き)
ローカル sqlplus /nolog connect (ユーザー名) 起動&ログイン無し
ローカル sqlplus ユーザー名 パスワード? 起動&ユーザ指定ログイン
ローカル sqlplus ユーザー名/パスワード 起動&ユーザ・パス指定ログイン
外部 sqlplus / ユーザ名? 起動&外部サーバログイン情報入力へ
外部 sqlplus / as sysdba ユーザ名? 起動(権限付き)&外部サーバログイン情報入力へ
外部 sqlplus ユーザー名/パスワード@ホスト:ポート番号/サービス名 起動&ユーザ他指定、ログイン

powershell/コマンドプロンプトから
> sqlplus (ユーザ名)/(パスワード)
> sqlplus system/*******
> sqlplus (ユーザ名)/(パスワード)@(ホスト名)[:(ポート番号)]/(サービス名)
> sqlplus system/*******@host:100/service

結果 ↓
SQL>
sqlplus.exeから
ユーザー名を入力してください:system
パスワードを入力してください:*******
Oracle Database 11g ~ に接続されました。
SQL>

切断

SQL> SHUTDOWN;
SQL> SHUTDOWN オプション;

オプション トランザクション セッション 備考
NORMAL 完了まで待機 終了まで待機 規定
TRANSACTIONAL 完了まで待機 強制切断
IMMEDIATE ロールバック 強制切断
ABORT 無視 強制切断 通常の終了ができない場合用
(メディア障害時等)
インスタンスリカバリが実行される

データベース起動の流れ」参照

OSコマンド実行

先頭に「HOST」または「!」を付ける
HOST ls
HOST cd ~
!ls
!cd ~

外部スクリプト

実行

・ 実行するSQL命令が大量にある場合
・ 実行するSQL命令が長い場合(Create文等)
等の場合にSQL文が記述されたテキストファイルをSQL*Plusから実行できる。

実行
SQL> @(ファイル名)

SQLPLUS実行・接続と同時にスクリプト実行
SQLPLUS (接続情報) @(ファイル名)


※test.sql
Create ~;

※SQL*Plus
SQL> @C:\~\test.sql
→ Create ~ が実行される

パラメータ

外部スクリプトに変数を渡す場合
> SQLPLUS (接続情報);
VAR 変数1 型;
VAR 変数2 型;
BEGIN
 : 変数1 := 値
 : 変数2 := 値
END;
SQL> @(ファイル名) 変数1 変数2 10

※(ファイル名)
SELECT * FROM (表)
WHERE
 (列1) = &1 AND ←変数1
 (列2) = ''&2'' AND ←変数2
 文字列として扱う場合は''(シングルコーテーション×2)で囲む
 (列3) = &3 ←10
;

戻り値

【例外をキャッチして戻り値を設定】
VAR RETURN_CODE NUMBER;
BEGIN
 :RETURN_CODE = 0;
 ~
EXCEPTION
 WHEN SQLERROR THEN
  :RETURN_CODE = SQL.SQLCODE;
 WHEN OTHERS THEN
  :RETURN_CODE = 9;
END;
/
EXIT :RETURN_CODE

【エラー発生時に自動で戻り値を返す場合】
WEHNEVER SQLERROR EXIT N
WEHNEVER SQLERROR EXIT SQL.SQLCODE
WEHNEVER OSERROR EXIT N
BEGIN
 ~
END;
/

【戻り値の格納先】

種類 組込変数
Windowsバッチ %errorlevel%
シェルスクリプト sh系(bsh, ksh, bash) $? 変数
csh系(csh, tch) $status 変数

変数定義

置換変数
SQL*Plusによる置換機能
バインド変数
SQL*Plusによるバインド機能。
PL/SQL内で定義する事はできないが、SQL*Plusで定義した変数をPL/SQLに対して使用する事ができる。
PL/SQL内で定義する変数と違い、PL/SQLブロックが終了した後も値が保持される。

置換変数

DEFINE 変数名=~;
SQL文: ~ = &変数名;
※変数名は大文字/小文字が区別されない。
&AAAと&aaaは同じ変数扱い

DEFINE value = 1;
SELECT ~ FROM ~ WHERE ~ = &value;
スクリプトの実行結果
SELECT ~ FROM ~ WHERE ~ = &value

SELECT ~ FROM ~ WHERE ~ = 1
置換変数へ値が置換される

定義削除
UNDEFINE 変数名;
定義削除しない場合、SQL*Plusを終了するまで定義は有効

DEFINE無しで置換変数を使用した場合
SELECT ~ FROM ~ WHERE ~ = &value

ユーザーにキー入力を求める

ユーザー入力値を引き続き使用する場合
入力時:&&置換変数名
SELECT ~ FROM ~ WHERE ~ = &&value; –①
SELECT ~ FROM ~ WHERE ~ = &&value; –②
を実行する場合
ユーザーキー入力

入力された値で置換変数を置換&SQL文①を実行
入力された値で置換変数を置換&SQL文②を実行
&&~は以下の2つの機能を持つ
・DEFINEによる変数定義
・&~によるユーザー入力値の置換

バインド変数

SQL*Plus実行中、ホストコンピュータのメモリ領域に保持される変数
PL/SQL外で定義する変数。
PL/SQL外で使用する他、
PL/SQLへ値を渡したり、受け取ったりできる。
使用例
バインド変数定義
EXECUTE ストアド名(:バインド変数)
SELECT ~ FROM ~ WHERE ~ = :バインド変数

VARIABLE 変数名 型; --バインド変数定義
VAR 変数名 型;
変数定義はPL/SQL外のみ
BEGIN
 : 変数名 :=
 値の設定はPL/SQL内のみ
END;
/
SELECT ~ WHERE ~ = : 変数名;
EXECUTE ストアド(: 変数名);
/

VAR TEST NUMBER;
:NUMBER = 5; ←エラー
BEGIN
 VAR TEST NUMBER; ←エラー
 :NUMBER = 5;
END

PRINT :バインド変数名;
バインド変数の中身を出力
PRINT;
バインド変数一覧を出力

ログ出力

SQL> spool sql.log
SQL> (SQL命令)
SQL> spool off
→ SQLPlusの実行ファイル場所にsql.logが作成され、
・ 実行日時
・ SQL文
・ エラー情報
が出力される。

制御文

PL/SQLでの制御文については「SQL DML:制御文」参照

実行結果設定(SET~)

一覧

SQL*Plusコマンド 機能 デフォルト
SET AUTOCOMMIT DML文実行時に自動COMMIT OFF
SET DEFINE OFF 置換変数切り替え ON
SET VERIFY ON 置換前後の値を表示 OFF
SET ECHO ON DML実行結果を表示 OFF
SET FEEDBACK ON 問い合わせ結果行数を表示 OFF
SET HEADING OFF 列見出しを表示 OFF
SET TIME ON 現在時刻を表示 OFF
SET TIMING ON 経過時刻を表示 OFF
SET ARRAYSIZE N
SET ARRAY N
SELECT文における一度にFETCHする行数
推奨:500
15
SET LINESIZE N
SET LINE N
表示画面における1行当たり文字列数
推奨:レコードの最大バイト数×1.5
80
SET TRIMSPOOL ON
SET TRIMS ON
SPOOL処理の末尾の空白スペースをTRIM OFF
ALTER SESSION
SET nls_date_format
= 'DD-MON-RR'
日付書式設定 'RR-MM-DD'
ALTER SESSION
SET nls_date_language
= 'AMERICAN'
日付言語設定 'JAPANESE'

置換変数切り替え

SET DEFINE ON
SET DEFINE OFF
定義した変数をクエリー内に埋め込む機能のON/OFF
デフォルトではONで、かつ「&」が置換命令
SET DEFINE ON = SET DEFINE &
よってクエリー内に&があると変数の置換が実行され、キー入力を求められたりする。
SET DEFINE OFF;
で解決。
Oracle SQL Developer使用方法 置換変数」参照

Oracle DatabaseExpress

概要

Oracle社が開発・販売しているRDBMS
速さ、確実性、保持できるデータ量に優れている。
「OracleDatabaseExpress11g」を公式サイトからダウンロード(無料)
※ユーザー登録が必要

接続

SQL*Plusから
SQL*Plus 接続」参照

SQL Developerから
CONNECT ユーザー名/パスワード

SQL*Plusとは?

SQL*Plus」参照

表領域作成

SQL> CREATE TABLESPACE MY_DATA
2> DATAFILE 'C:\oraclexe\data\MY_DATA.dbf' SIZE 200M
3> SEGMENT SPACE MANAGEMENT AUTO;
表領域が作成されました。

ユーザー作成

SQL> CREATE USER testuser
2 IDENTIFIED BY testpass
3 DEFAULT TABLESPACE MY_DATA;
ユーザーが作成されました。

権限付与

SQL> GRANT connect,dba TO testuser;
権限付与が成功しました

表作成

SQL> CREATE TABLE MYTABLE
2 (
3 ID NUMBER,
4 NAME VARCHAR(100),
5 PRIMARY KEY(ID)
6 );
表が作成されました。

データ挿入

SQL> INSERT INTO MYTABLE(ID,NAME) VALUES(1,’TEST’);
1行が作成されました。

コミット

SQL>COMMIT;