IT業界の人を応援!! 資格取得ガイド
 トップページ > 備忘録 > Oracleを動かしてみよう(Oracleユーザ作成方法)









Oracleを動かしてみよう(Oracleユーザ作成方法)

ステップ1)オラクルの停止

当ページではオラクルの停止方法を説明します。
まず、オラクルの停止方法ですが、GUIベースのOracleEnterpriseManager(OEM)を
使用したデータベースの停止方法、およびCUIベース(コマンド)を使用した
データベースの停止方法があります。


ここでは、どの現場でも使用可能なCUIベース(コマンド)によるSQLPLUSによる停止
方法を説明致します。
※なぜ、CUIベースによる停止方法がどの現場でも使用可能かと言うと、必ず
SQLPLUSはインストールされますが、GUIベースのOEMは現場によってはインストール
されていない事がある為です。


オラクルの停止方法には、「NORMAL」「IMMEDIATE」「TRANSACTIONAL」「ABORT」の4つの停止モードがあります。


オラクルの停止方法の構文

SQL>SHUTDOWN 停止モード(NORMAL IMMEDIATE TRANSACTIONAL ABORT)

例)「NORMAL」停止モードの場合
SQL>SHUTDOWN NORMAL


停止モードの説明
「NORMAL」の停止モードとは
1)SHUTDOWNコマンドを発行後は新たにデータベースに接続出来なくなります。
2)データベースに接続している全員が未接続状態になるまでデータベースは停止
  を待機します。

”SHUTDOWN NORMAL”をカラオケ屋に例えると、新たなお客さんは入店出来なくなります。また、既に入店していたお客さんが帰ると言うまで(延長は可能)は店を閉める事は出来ない状態です。


「IMMEDIATE」の停止モードとは
1)SHUTDOWNコマンドを発行後は新たにデータベースに接続出来なくなります。また
  新たなトランザクションを開始する事は出来なくなります。
2)コミットされていないトランザクションは全てロールバックされ、全てのユーザは切断
  されます。

”SHUTDOWN IMMEDIATE”をカラオケ屋に例えると、新たなお客さんは入店出来なくなります。また、既に入店していたお客さんは次の曲の予約も拒否されますし、今歌っている曲も止められて、無理やりカラオケ屋から追い出される感じです。


「TRANSACTIONAL」の停止モードとは
1)SHUTDOWNコマンドを発行後は新たにデータベースに接続出来なくなります。また、
  新たなトランザクションを開始する事は出来なくなります。
2)既に実行済みのトランザクションが完了後に全てのユーザは切断されます。

”SHUTDOWN TRANSACTIONAL”をカラオケ屋に例えると、新たなお客さんは入店出来なくなります。また、既に入店していたお客さんは、新たな予約は出来ませんが、予約済みの曲までは全て歌えます。予約曲が全て終わると無理やりカラオケ屋から追い出される感じです。


「ABORT」の停止モードとは
1)SHUTDOWNコマンドを発行後は新たにデータベースに接続出来なくなります。また
  新たなトランザクションを開始する事は出来なくなります。
2)実行中のSQLは強制的に終了させられます。(ロールバック処理なし)
3)接続中のユーザセッションは暗黙的に切断されます。

”SHUTDOWN ABORT”をカラオケ屋に例えると、新たなお客さんは入店出来なくなります。また、既に入店していたお客さんがいるかいないかを確認せずにカラオケ屋の電源を落とすような感じです。



実際に停止してみる
SQLPLUS経由でオラクルに接続する

まずはSQLPLUSを起動します。Oracleユーザにて以下のコマンドを実行します。
$SQLPLUS /NOLOG

その後にDBAユーザであるSYSに接続します。
SQL>CONNECT SYS/ORACLE AS SYSDBA
※作者の環境ではSYSユーザのパスワードは”ORACLE”です。

その後にSYSユーザで接続出来ている事を確認します。
SQL>SHOW USER

停止コマンドを実行する

ここでの停止モードは「IMMEDIATE」を使用します。
SQL>SHUTDOWN IMMEDIATE




以下は上記のコマンド実行時の標準出力結果です。
[
oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on Sat May 2 23:40:12 2009

Copyright (c) 1982, 2007, Oracle. All rights reserved.

SQL>
SQL> connect sys/oracle as sysdba
Connected.
SQL>
SQL> show user  <=接続ユーザの確認。
USER is "SYS"   <=SYSユーザで接続している事を確認。
SQL>
SQL>
SQL> shutdown immediate   <=IMMEDIATEモードにてDBを停止。
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@localhost ~]$




オラクルの停止時に出力されるシステムログを確認します。
オラクルのシステムのログはアラートログに出力されます。

以下はアラートログの出力先を確認した際の結果です。
[oracle@localhost ~]$ sqlplus / as sysdba   <=SYSユーザにて接続。

SQL*Plus: Release 11.1.0.6.0 - Production on Sun May 3 00:13:52 2009

Copyright (c) 1982, 2007, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter background_dump_dest    <=アラートログ出力先の確認。

NAME TYPE VALUE
------------------------------------ -----------
background_dump_dest string
/opt/oracle/app/diag/rdbms/itdb/itdb/trace    <=アラートログ出力先のパス。
SQL>
SQL>
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production




以下はアラートログの出力内容を確認した際の結果です。
[
oracle@localhost trace]$ cat /opt/oracle/app/diag/rdbms/itdb/itdb/trace/alert_itdb.log_immediate
<=アラートログの内容を確認。
Sat May 02 23:33:36 2009
Stopping background process SMCO
Stopping background process FBDA
Shutting down instance: further logons disabled
Stopping background process QMNC
Stopping background process MMNL
Stopping background process MMON
Shutting down instance (immediate) <=シャットダウン時のオプションが確認出来ます。
License high water mark = 1
Waiting for dispatcher 'D000' to shutdown
All dispatchers and shared servers shutdown
ALTER DATABASE CLOSE NORMAL
Sat May 02 23:33:43 2009
SMON: disabling tx recovery
SMON: disabling cache recovery
Sat May 02 23:33:43 2009
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Thread 1 closed at log sequence 35
Successful close of redo thread 1
Completed: ALTER DATABASE CLOSE NORMAL
ALTER DATABASE DISMOUNT
Completed: ALTER DATABASE DISMOUNT
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Sat May 02 23:33:43 2009
Stopping background process VKTM:
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Sat May 02 23:33:45 2009
Instance shutdown complete <=正常にシャットダウン出来た事が確認出来ます。
[oracle@localhost trace]$



Oracle社よりデータベースの起動停止方法のマニュアルが公開されています。
詳細は以下をご確認ください。
データベース起動停止方法のマニュアル
SQL*Plusユーザーズ・ガイドおよびリファレンス(SHUTDOWN)



作者が読んでよかったので推薦するオラクル関連の本nze DBA10g
絵で見てわかるOracleの仕組み
絵で見て、Oracleの動作を理解出来る本です。

Oracleの動作を文字やコマンドで解説されている本はたくさんありますが、どうも解りにくい。。

この本は、その”解りにくい・・”の箇所を極力、絵で表してくれているお勧めの本です。
Oracleのアーキテクチャ(仕組み)をイメージしやすいように書かれています。

作者もこの本で”もやもや”しているオラクルの動作を整理出来ました!!

目的地を人に聞く時、「次の次の信号を右に曲がって、次を左に曲がって、3件目です」より、「今ここで、ここが目的地」と地図で教えてもらった方が解りやすいし、道を間違っても、自分の力で辿りつけますよねぇ。

要は、絵で理解すると解り易いし、道(手順)を外れても回復する応用力が付くと言う事です。
現場で使えるSQL

この本を理解出来れば、現場のDBがOracleであろうがSQLServerであろうがどんなDBにも対応出来ます。

また、この本は現場でよく使用するSQL文を、例題、正解、解説の形で紹介されています。
例題数は100個と多いですが、この100個を覚えると現場がオラクルであろうが、SQLServerであろうがどのなDBを使用している現場にも対応出来ます。

100個の例題の中にはよく使用するSQLから作業効率を高めるSQL、よくやるミスの回避方法が掲載されています。

知っていました? 普及しているデータベースのSQLは国際標準のANSIという規格に準拠している事を。
要は、OracleでSQLを書ける人は他のデータベースでも同じように書けます。

例えるなら、関西弁をしゃべれる人は標準語を理解出来るし、博多弁、広島弁と違う場所(異なるDBのSQL)も理解出来ますし、使えます。ANSIとは日本語の基本を決めるルールです。多少は場所によるローカルルールはありますが、基本ルールに基づいています。






Copyright(C) IT業界の人を応援!!資格取得ガイド All Rights Reserved