Oracleの運用(RAC構成等) | ミニミニ管理者(システム管理者/社内SE/CIO)の独り言

[ ミニミニ管理者の独り言 > - > スポンサーサイト ]
スポンサードリンク

スポンサーサイト

一定期間更新がないため広告を表示しています



スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン
| 2015年03月11日 | - | - | - |

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > tailコマンドでログ監視−oracle10g(RAC構成) ]
スポンサードリンク

tailコマンドでログ監視−oracle10g(RAC構成)

JUGEMテーマ:コンピュータ




Windows OSに限らず、OS上で動作している各種のサービス・プログラムでは、動作状態の情報を「ログ・ファイル」として、テキスト・ファイルに書き出すものが多い。
オラクルも例外ではなく一般に「アラートログ」と呼ばれるログ情報を吐き出す。

一般的にログ・ファイルの内容を調査するには、メモ帳や秀丸等のアプリケーションで開いたり、コマンド・プロンプト上でmoreやtypeコマンドを使って表示させたりする。だがログ・ファイルの内容は時間が進むにつれて内容が次々と追加されているので、「開いた時点の情報」にすぎない。時間の経過と共に、新しいログ・データが追加されている。そのため最新の内容を確認するには、その都度ファイルをオープンし直す必要がある。

このような場合UNIXでは、tailコマンドを使ってファイルの最後を常時監視することができる。
※「tail」とは、ファイルの最後尾を(指定した行数だけ)表示するというコマンド。

tailコマンドに「-f」オプションを指定することにより、ファイルの最後尾を監視し、新しいデータ(行)が追加されるたびにそれを表示する事が可能で、ログ・ファイルの最後を表示させておけば、新しいログ・イベントをリアルタイムに監視することができる。

tailコマンドはWindows OSの標準コマンドではない。
Windows 2000の場合は、SFU(Microsoft Windows Services for UNIX)をインストールすればこの中にtailコマンドが用意されており、Windows XP/Windows Server 2003の場合はリソース・キットに含まれているので、これをインストールすればよい。

※SFUの入手とインストールについては「UNIX互換環境を実現するSFUを利用する(Windows2000/WindowsX/WindowsServer2003)」参照。

また、合わせてWindowsで利用できるUNIXコマンドの記事も紹介しておく。

ここではWindowsにはないがUNIXに存在するコマンドのうち便利なものをチョイスして紹介している。


■コマンドライン(tail)

C:¥>tail -n 100 -f ログファイル名

-f:コマンドを終了せず、待機します。新しい行がログに書き込まれると画面に表示します。
-n:表示するログの行数を指定します。「-n 100」でファイルの末尾から100行を表示。


・Oracle10gのログパス
C:¥oracle¥product¥10.2.0¥admin¥racdb¥bdump¥alert_racdb1.log

・Oracle10g(ASM)のログパス
C:¥oracle¥product¥10.2.0¥admin¥+ASM¥bdump¥alert_+ASM1.log

しかし、このtailコマンドはWinodws版なので文字コードが「S-JIS」となっており、Oracleで使う「UTF8」ではない。そのため、ログ監視で重要なエラーの詳細(日本語表示)が文字化けしてしまう。

これではORAエラーのコードからもう一度調べなおすこととなり不便である。

そこで、次に使うコマンドが「nkf」である。これはベクターなどからダウンロードできる。


このコマンドはネットワーク用漢字コード変換フィルタでDOSコマンドの出力結果の文字コードを変換して表示してくれるすぐれもので、これを使って文字化けを直す。

■コマンドライン(nkf)
ここでは上記で紹介したtailコマンドにプラスしてnkfコマンドを利用している。
ここで「|(パイプ)」ですが、これはコマンドとコマンドを繋ぐものです。
下記の例ではtailコマンドの結果をnkfコマンドに渡しています。

C:¥>tail -f ログファイル名|nkf -uWs

-uWs:utf8の文字コードをs-jisに変換します。

これで文字コードを変換するので文字化けが解消します。

また、複数のログファイルを監視する場合、バッチファイルを作成して実行すると便利だが、この時に「タイトルを表示」させておくと「どの画面が何のログか?」が一目でわかるのでよい。

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-
title alert_racdb1.log
C:¥tail.exe -n 100 -f C:¥oracle¥product¥10.2.0¥admin¥racdb¥bdump¥alert_racdb1.log
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-

またクライアント端末からネットワーク先にあるOracleサーバに接続してログ監視をするには「net use」コマンドを使うとよい。
注意:バッチファイルにOracleのIPアドレス、USERID(Windows)、Passwordを平文で登録するので扱いには十分に注意する。

/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-

title alert_racdb1.log
NET USE ¥¥xxx.xxx.xxx.xxx¥C$ psssword /USER:userid
C:¥tail.exe -n 100 -f C:¥oracle¥product¥10.2.0¥admin¥racdb¥bdump¥alert_racdb1.log
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-

このtailコマンドを使ってログ・ファイルを監視する方法は、すべてのログ・ファイルに対して利用できるわけではない。アプリケーションによっては、ログ・ファイルの書き込みをメモリ中にバッファリングしている場合がある。ディスクへの書き込みをログ発生のたびに行わず、いくつかまとめてバッファリングしてから書き込むことにより、ディスクへのアクセス回数を減らし、システムのパフォーマンスを向上(特に大量のログを発生させるWebサーバでは大きな効果がでる。)させることができる。このようなアプリケーションの場合は、ファイルにデータが書き込まれていないので、いくらtailコマンドでログ・ファイルの末尾を監視していても、リアルタイムでモニタすることはできない。


■Oracle学ぶならこれ!





               最新記事へ     トップページ









スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > systemstate.sqlでメモリダンプ−oracle10g(RAC構成) ]
スポンサードリンク

systemstate.sqlでメモリダンプ−oracle10g(RAC構成)

 JUGEMテーマ:コンピュータ


■関連記事


今回はOracleを扱っている際にお世話になうことが多いOracleサポートとのやり取りで発生する「メモリダンプの取得」です。これは「Systemstate」としてオラクル社サポートが解析依頼時に使用するコマンドをまとめたsql分です。詳細は公開されていないのですが、システムの現在の状態を解析するためのスナップショット機能でインスタンスのメモリ内の状態をdumpするコマンドです。

■使い方
1)sqlplusで接続する。
2)「Systemstate.sql」の内容を貼付して実行する。
3)パス「C:¥oracle¥product¥10.2.0¥admin¥racdb¥」の配下にある「adump」「bdump」「udump」フォルダにある「trc(拡張子)」を確認して実行時間に近いファイルが該当ファイルです。これをオラクルサポートに送ります。

以下、「Systemstate.sql」の内容
-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/
col datetime new_value datetime
select to_char(sysdate,'yyyymmddhh24miss') datetime from dual;
spool systemstate-&datetime..log
set time on
set timing on
set echo on

select spid from v$process where addr in
(select paddr from v$session where sid in
(select distinct sid from v$mystat));

-- 1
alter session set events 'immediate trace name systemstate level 10';
execute dbms_lock.sleep(30);
-- 2
alter session set events 'immediate trace name systemstate level 10';
execute dbms_lock.sleep(30);
-- 3
alter session set events 'immediate trace name systemstate level 10';

spool off
exit
-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/



■Oracle学ぶならこれ!




               最新記事へ     トップページ 








スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > srvctlコマンドでサービスの起動停止−oracle10g(RAC構成) ]
スポンサードリンク

srvctlコマンドでサービスの起動停止−oracle10g(RAC構成)

JUGEMテーマ:コンピュータ


■関連記事


今回はOracle10g(10.2.0.2)のsrvctlコマンドについて紹介します。
このコマンドはOracleのRACコンポーネントの管理でも紹介しましたが、CRSリソース(VIP、ASM、ONS、instanceなど)を操作するためのコマンドで、高可用性フレームワーク上で動作するコンポーネント。srvctlコマンドはリソース間の依存関係を解決して適切に起動・停止を行います。


■コマンドライン
dos>srvctl <command> <object> [<options>]

下記のコマンドとオブジェクトを組み合わせて使用します。
また、コマンド・オブジェクトごとに引数が割り当てられてしますが、ここでは割愛して実行結果などを紹介します。


コマンド<command>:
  enable
  disable
  start
  stop
  relocate
  status
  add
  remove
  modify
  getenv
  setenv
  unsetenv
  config


オブジェクト<object>:
  database
  instance
  service
  nodeapps
  asm
  listener


オプション<options>:ヘルプを表示
  -h


■実際の使用例
1)start
srvctlコマンドでのOracle(CRSリソース)の起動
dos>srvctl start nodeapps -n node_name
dos>srvctl start asm -n node_name
dos>srvctl start instance -d db_unique_name -i instance_name
dos>srvctl start instance -d db_unique_name -i instance_name -o mount
dos>srvctl start database -d db_unique_name 


2)stop
srvctlコマンドでのOracle(CRSリソース)の停止
dos>srvctl stop instance -d db_unique_name -i instance_name
dos>srvctl stop asm -n node_name
dos>srvctl stop nodeapps -n node_name
dos>srvctl stop database -d db_unique_name 


3)status
srvctl status database -d db_unique_name [-f] [-v]

dos>srvctl status database -d db_unique_name
インスタンスinst_nameはノードnode_nameで実行中です。
インスタンスinst_nameはノードnode_nameで実行中です。


srvctl status instance -d db_unique_name -i inst_name_list [-f] [-v]

dos>srvctl status instance -d db_unique_name -i "inst_name1,inst_name2"
インスタンスinst_nameはノードnode_nameで実行中です。
インスタンスinst_nameはノードnode_nameで実行中です。


srvctl status service -d db_unique_name -s service_name_list [-f] [-v]

dos>srvctl status service -d db_unique_name -s db_unique_name
PRKO-2120 : 内部データベース・サービスdb_unique_nameは、srvctlで管理できません。


srvctl status nodeapps -n node_name

dos>srvctl status nodeapps -n node_name
VIPはノードで実行中です: node_name
GSDはノードで実行中です: node_name
リスナーはノードで実行中です: node_name
ONSデーモンはノードで実行中です: node_name


srvctl status asm -n node_name

dos>srvctl status asm -n node_name
ASMインスタンス+ASM1はノードnode_nameで実行中です。


4)config
srvctl config database [-d db_unique_name [-a] [-t]]

dos>srvctl config database
db_unique_name


dos>srvctl config database -d db_unique_name
node_name inst_name c:¥oracle¥product¥10.2.0¥db_1
node_name inst_name c:¥oracle¥product¥10.2.0¥db_1



srvctl config service -d db_unique_name [-s service_name] [-a]

dos>srvctl config service -d db_unique_name -s db_unique_name
PRKO-2120 : 内部データベース・サービスdb_unique_nameは、srvctlで管理できません。



srvctl config nodeapps -n node_name [-a] [-g] [-s] [-l]

dos>srvctl config nodeapps -n node_name -a -g -s -l
VIPが存在します。: /node_namev/10.1.4.53/255.0.0.0/Pub
GSDが存在します。
ONSデーモンが存在します。
リスナーが存在します。


srvctl config asm -n node_name

dos>srvctl config asm -n node_name
+ASM1 c:¥oracle¥product¥10.2.0¥db_1



srvctl config listener -n node_name

dos>srvctl config listener -n node_name
node_name LISTENER_node_name


5)getenv
srvctl getenv database -d db_unique_name [-t name_list]

dos>srvctl getenv database -d db_unique_name


srvctl getenv instance -d db_unique_name -i inst_name [-t name_list]

dos>srvctl getenv instance -d db_unique_name -i inst_name


srvctl getenv service -d db_unique_name -s service_name [-t name_list]

dos>srvctl getenv service -d db_unique_name -s db_unique_name
PRKO-2120 : 内部データベース・サービスdb_unique_nameは、srvctlで管理できません。


srvctl getenv nodeapps -n node_name [-t name_list]

dos>srvctl getenv nodeapps -n node_name


といった感じで実行されます。応答例は一例ですので状況により変化します。
(イタリック体は定数です。)
 


■Oracle学ぶならこれ!




               最新記事へ     トップページ









スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > crsctlコマンドでクラスタの状態確認と起動停止−oracle10g(RAC構成) ]
スポンサードリンク

crsctlコマンドでクラスタの状態確認と起動停止−oracle10g(RAC構成)

JUGEMテーマ:コンピュータ




今回はOracle10g(10.2.0.2)のcrsctlコマンドについて紹介します。
このコマンドはOracleのRACコンポーネントの管理でも紹介しましたが、CRSスタック(CSS、CRS、EVMなどのCRSサービスがメモリ空間にまとまっている)を操作するためのコマンドで、Oracle Clusterwareの起動や停止、状態の確認するのに使用します。

■crsctlコマンド一覧
コマンド 説明
crsctl check crs CRSスタックの起死状態をチェックします。
crsctl check cssd CSSの起死状態をチェックします。
crsctl check crsd CRSの起死状態をチェックします。
crsctl check evmd EVMの起死状態をチェックします。
crsctl set css <parameter> <value> パラメータ無効化をセットします。
crsctl get css <parameter> CSSパラメータの値を得ます。
crsctl unset css <parameter> CSSパラメータをデフォルトに設定します。
crsctl query css votedisk CSSにより用いられる投票ディスクをリストします。
crsctl add css votedisk <path> 新しい投票ディスクを加えます。
crsctl delete css votedisk <path> 投票ディスクを取り外します。
crsctl enable crs すべてのCRSデーモンのためにスタートアップを可能にします。
crsctl disable crs すべてのCRSデーモンのためにスタートアップを働かなくします。
crsctl start crs すべてのCRSデーモンを始めます。
crsctl stop crs すべてのCRSデーモンを止めます。クラスターの場合にはCRSリソースを停止します。
crsctl start resources CRSリソースを開始します。
crsctl stop resources CRSリソースを停止します。
crsctl debug statedump evm ダンプは、evmオブジェクトのために情報を述べます。
crsctl debug statedump crs ダンプは、crsオブジェクトのために情報を述べます。
crsctl debug statedump css ダンプは、cssオブジェクトのために情報を述べます。
crsctl debug log css [module:level]{,module:level} ... CSSのためのデバッギングに関するターン。
crsctl debug trace css CSS記憶の追跡キャッシュをダンプします。
crsctl debug log crs [module:level]{,module:level} … CRSのためのデバッギングに関するターン。
crsctl debug trace crs CRS記憶の追跡キャッシュをダンプします。
crsctl debug log evm [module:level]{,module:level} … EVMのためのデバッギングに関するターン。
crsctl debug trace evm EVM記憶の追跡キャッシュをダンプします。
crsctl debug log res <resname:level>  資源のためのデバッギングに関するターン。
crsctl query crs softwareversion [<nodename>] インストールされるCRSソフトウェアのバージョンをリストします。
crsctl query crs activeversion バージョンを操作しているCRSソフトウェアをリストします。
crsctl lsmodules css デバッギングのために使われることができるCSSモジュールをリストします。
crsctl lsmodules crs デバッギングのために使われることができるCRSモジュールをリストします。
crsctl lsmodules evm デバッギングのために使われることができるEVMモジュールをリストします。

このうち、良く利用するコマンドは「crsctl check crs」「crsctl start crs」「crsctl stop crs」あたりでしょうか。

また、CRSスタック上で稼動するCRSリソース(VIP、ASM、Net Listner、Instanceなど)を操作するsrvctlコマンドは、CRSデーモンが稼動していないと操作できませんので、「crsctl check crs」コマンドで状態を確認することがあります。

CRSスタックが稼動していない状態で「crs_stat -t」コマンドを実行すると。
dos>crs_stat -t
CRS-0184: CRSデーモンと通信できません。

となり、CRSデーモンと通信できないとエラーになります。これはCRSスタックが稼動していないことが原因で、この状態で「crsctl check crs」コマンドでCRSスタックのヘルスチェックをすると。

dos>crsctl check crs
      Failure 1 contacting CSS daemon
      Cannot communicate with CRS
      Cannot communicate with EVM

となり、CRSスタックが稼動していないことを確認できます。ここでCRSスタックを稼動する為に「crsctl start crs」コマンドを実行すると。

dos>crsctl start crs
      Attempting to start CRS stack
      The CRS stack will be started shortly

となり、CRSスタックが稼動します。その後、「crsctl check crs」を実行するとヘルスチェックがOKとなり、稼動していることが確認できます。

dos>crsctl check crs
      CSS appears healthy
      CRS appears healthy
      EVM appears healthy

因みにCRSスタックの稼動に失敗すると下記のようなエラーが表示されます。この場合は起動しない原因を追究して起動させることになります。ミニミニ管理者は、下記のエラーが出た場合は「Windowsサービスから起動する」方法を試みるようにしています。

dos>crsctl start crs
      Attempting to start CRS stack
       Failed to startup service OracleCSService, err(1056)
       Failed to startup service OracleEVMService, err(1056)
       Failed to startup service OracleCRService, err(1056)

Windowsサービス」よりコマンドプロンプトの方が適切に起動できるように思っていたのですが、試してみると案外起動できることが多いですね。
でも不思議なことに初めから「Windowsサービス」を頼って起動するとサービスの起動画面で「起動中」とかになるんですよね。これぞWindowsの摩訶不思議でしょうか。
※Oracle10g(10.2.0.2)は既知の起動障害があるので、もしかしたらリビジョンを10.2.0.4にすれば問題はないのかも。。。知れません。


■Oracle学ぶならこれ!


               最新記事へ     トップページ





スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > tnspingコマンドでオラクル疎通確認−oracle10g(RAC構成) ]
スポンサードリンク

tnspingコマンドでオラクル疎通確認−oracle10g(RAC構成)

JUGEMテーマ:コンピュータ


■関連記事


今回はOracle10g(10.2.0.2)で使えるtnspingコマンドについて紹介します。
このコマンドはOracleクライアントがインストールされている端末から実行できる。このコマンドを実行することでOracleと疎通確認することができる。具体的にはリスナーが応答するのでtnspingでは通信が確立されリスナーまで正常に起動していることとOracleで名前解決ができていることが確認できる。

まず、Oracleへの接続で障害が発生したら、接続確認(疎通確認)します。
主に以下の手順で確認できます。
1)PING(ネットワークで通信できるか?)
2)TNSPING(Oracleのサービスに接続できるか?)←今回紹介するコマンド
3)CONNECT(Oracleに接続できるか?)

■コマンドライン

構文1:C:¥>tnsping ネットサービス名 疎通回数
※tnsnames.ora に記述しているネット・サービス名を指定。
※ネットサービス名のほか、IPアドレスを指定可能。

構文2:tnsping hostname:port/SID 接続回数 
※10g以降で簡易接続を許可していた場合。


C:¥>tnsping hostname

■成功例
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 04-12月- 2012 08:43:27

Copyright (c) 1997, 2005, Oracle. All rights reserved.

パラメータ・ファイルを使用しました:
C:¥oracle¥product¥10.2.0¥client_1¥network¥admin¥sqlnet.ora


エイリアスを解決するためにTNSNAMESアダプタを使用しました。
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = racdb)))
OK (20ミリ秒)

■失敗例
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 04-12月- 2012 08:43:27


Copyright (c) 1997, 2005, Oracle. All rights reserved.

パラメータ・ファイルを使用しました:
C:¥oracle¥product¥10.2.0¥client_1¥network¥admin¥sqlnet.ora


TNS-03505: 名前の決定に失敗しました。

 


■Oracle学ぶならこれ!




               最新記事へ     トップページ









スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > srvctlコマンドリファレンス−oracle10g(RAC構成) ]
スポンサードリンク

srvctlコマンドリファレンス−oracle10g(RAC構成)

JUGEMテーマ:コンピュータ
 
今回はOracle10g(10.2.0.2)のsrvctlコマンドリファレンスについて紹介します。
このコマンドはOracleのRACコンポーネントの管理でも紹介しましたが、CRSリソース(ServiceやInstance、ASM等のリソース間の依存関係を解決して適切に起動・停止)を操作するためのコマンドで、Oracle Databaseの起動や停止、状態の確認するのに使用します。

■srvctlコマンド一覧
コマンド コマンド詳細 説明
srvctl add srvctl add database データベースおよび構成の追加
srvctl add instance 1つ以上のインスタンスおよび構成の追加
srvctl add service サービスの追加
srvctl add nodeapps ノード・アプリケーションの追加
srvctl add asm ASMインスタンスの追加
srvctl add listener ノードへのリスナーの追加
srvctl config srvctl config database クラスタ・データベースの構成情報の表示
srvctl config service サービスの構成情報の表示
srvctl config nodeapps ノード・アプリケーションの構成情報の表示
srvctl config asm ノードのASMインスタンスの構成の表示
srvctl config listener 指定したノードでOracle Clusterwareに登録された構成済リスナーのリストの表示
srvctl enable srvctl enable database データベースの有効化
srvctl enable instance インスタンスの有効化
srvctl enable service サービスの有効化
srvctl enable asm ASMインスタンスの有効化
srvctl disable srvctl disable database クラスタ・データベースの無効化
srvctl disable instance インスタンスの無効化
srvctl disable service サービスの無効化
srvctl disable asm ASMインスタンスの無効化
srvctl start srvctl start database クラスタ・データベースとそのインスタンスの起動
srvctl start instance インスタンスの起動
srvctl start service サービスの起動
srvctl start nodeapps ノード・アプリケーションの起動
srvctl start asm ASMインスタンスの起動
srvctl start listener 指定したリスナーの起動
srvctl stop srvctl stop database クラスタ・データベースの停止
srvctl stop instance インスタンスの停止
srvctl stop service サービスの停止
srvctl stop nodeapps ノード・レベル・アプリケーションの停止
srvctl stop asm ASMインスタンスの停止
srvctl stop listener 指定したリスナーの停止
srvctl modify srvctl modify database データベースの構成の変更
srvctl modify instance インスタンスの構成の変更
srvctl modify service サービスの構成の変更
srvctl modify asm ASMの構成の変更
srvctl modify nodeapps ノード・アプリケーションの構成の変更
srvctl modify listener ノードのリスナー構成の変更
srvctl relocate srvctl relocate service 指定インスタンスから別の指定インスタンスへの指定したサービス名の再配置
srvctl status srvctl status database データベースのステータスの取得
srvctl status instance インスタンスのステータスの取得
srvctl status service サービスのステータスの取得
srvctl status nodeapps ノード・アプリケーションのステータスの取得
srvctl status asm ASMインスタンスのステータスの取得
srvctl getenv srvctl getenv database クラスタ・データベース環境の値の取得
srvctl getenv instance インスタンス環境の値の取得
srvctl getenv service サービス環境の値の取得
srvctl getenv nodeapps ノード・アプリケーション環境の値の取得
srvctl setenv srvctl setenv database クラスタ・データベース環境構成の管理
srvctl setenv instance インスタンス環境構成の管理
srvctl setenv service サービス環境構成の管理
srvctl setenv nodeapps ノード・アプリケーション環境構成の管理
srvctl unsetenv srvctl unsetenv database クラスタ・データベース環境構成の設定解除
srvctl unsetenv instance インスタンス環境構成の設定解除
srvctl unsetenv service サービス環境構成の設定解除
srvctl unsetenv nodeapps ノード・アプリケーション環境構成の設定解除
srvctl remove srvctl remove database データベースおよび構成の削除
srvctl remove instance 1つ以上のインスタンスおよび構成の削除
srvctl remove service サービスの削除
srvctl remove nodeapps ノード・アプリケーションの削除
srvctl remove asm ASMインスタンスの削除
srvctl remove listener 指定したノードからリスナーを削除します。
(参考:Oracle Real Application Clusters管理およびデプロイメント・ガイド)


■Oracle学ぶならこれ!


               最新記事へ     トップページ





スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > Oracle10gの起動停止−Windowsサービス(RAC構成) ]
スポンサードリンク

Oracle10gの起動停止−Windowsサービス(RAC構成)

JUGEMテーマ:コンピュータ

今回はOracle10gにおける運用方法を纏めていきます。
まず初めは、「Oracle10gの起動停止(RAC構成)」方法です。RAC構成なのである程度規模の大きなシステム(私見ですがSE-RACでセッションが数百くらい、EE-RACでは1000以上でしょうか。)の運用を想定しています。
RAC構成では、RAC専用コマンド「srvctlコマンド」「crsctlコマンド」にて操作(Oracle RACコンポーネントの管理(基礎知識)参照)するので、「sqlplus」には接続しません。
ただし、今回はサービスで処理するのでコマンドプロンプトも使用しません。

◆起動方法(Windowsサービス)
  1.Oracle Object Service
  2.OracleClusterVolumeService ※このサービスの起動は任意。
  3.OracleCSService
  4.OracleCRService
  5.OracleEVMService  (OracleCRServiceが起動すると同時に起動する。)
  6.OracleASMService+ASM  (OracleCRService起動後しばらくすると起動する。)
  7.OracleServiceRACDB  (OracleCRService起動後しばらくすると起動する。)
  8.OracleORACLE_HOMETNSListener (OracleCRService起動後しばらくすると起動する。)

◆停止方法(Windowsサービス)
  1.OracleCRService
  2.OracleEVMservice
  3.OracleCSService
  4.Oracle Object Service
  5.OracleClusterVolumeService

如何でしょうか。Oracleの起動停止で恐ろしいのは「シャットダウンできたが2度と起動しない」なんてことです。特にRAC構成の場合は、システムを無停止で運用することもざらにあるかと思いますが、停止したが最後で、その後、システムは「うんともすんとも」いわないこともあります。
しかもこの様な場合は、起動できない理由がOracle以外にもハードウェアなどが絡んでくるので...結構厄介ですよね。

ミニミニ管理者もOracleを計画停止した後に起動しようとしたら「永遠に再起動を続ける」状態になったことがあります。(SE-RAC構成)
このときはハードウェアにも障害が検出され、いろいろと調査したところ「Oracleサービスの依存関係に問題があり、Windows起動時のOracleサービスの自動起動をオフ」にしたら収まりました。

後で知った話ですが、Oracle10g(10.2.0.2)には起動障害があったそうです。
これはリビジョン:10.2.0.4で解消済みだとか。


■Oracle学ぶならこれ!


               最新記事へ     トップページ





スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > Oracleの権限種類と管理 ]
スポンサードリンク

Oracleの権限種類と管理

JUGEMテーマ:コンピュータ

今回は、Oracleの権限管理について記載します。

1)権限とは
Oracleの権限とは、特定のタイプのSQL 文を実行するため、または別のユーザーのオブジェクトにアクセスするための権利のことです。

2)権限の種類
Oracleの権限の種類を大きく分けると2つ(システム権限、オブジェクト権限)に分類されます。 
また、複数の権限をグループ化して管理するためのものとして、ロールがあります。

■システム権限
特定のアクションを実行する権限、特定のタイプのオブジェクトに対するアクションを実行する権限。
例を挙げると、表領域を作成する権限やデータベースの任意の表から行を削除する権限などです。

■オブジェクト(スキーマ)権限
特定のスキーマ・オブジェクトに対して特定のアクションを実行する権限。
例を挙げると、department表から行を削除する権限などです。

3)権限の付与
権限を付与するには、2つの方法があり、直接ユーザーに対して権限を付与する方法と、権限をロール(名前つきの権限グループ)に付与したあとで、このロールをユーザーに付与する方法です。
個々のユーザーに権限を付与するのではなく、ロールを使用するほうが権限の管理が簡単になります。

4)権限、ロールなどの分類
表領域:SYSTEM、SYSAUX
ユーザ:SYS、SYSTEM、SYSMAN
スキーマ:SYS、SYSTEM、SYSMAN
権限:SYSDBA、SYSOPER
ロール:DBA

■Oracle学ぶならこれ!


               最新記事へ     トップページ





スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > Oracle RACコンポーネントの管理(基礎知識) ]
スポンサードリンク

Oracle RACコンポーネントの管理(基礎知識)

JUGEMテーマ:コンピュータ

 今回は、Oracle Real Application Clusters(Oracle RAC) を管理する際の前提知識として「Oracle RACコンポーネントの管理 」について記載します。

まず、Oracle RACを構成するコンポーネントを大きく分けると2つあり、「CRSスタック」とその上で動作する「CRSリソース」です。これを図解すると下図になります。

Oracle RACコンポーネントの管理


CRSリソース:(上段)
高可用性フレームワーク上で動作するコンポーネント。srvctlコマンドで操作する。srvctlコマンドはリソース間の依存関係を解決して適切に起動・停止を行う。

CRSスタック:(下段)
高可用性フレームワークを提供するコンポーネント。CRS、CSS、EVMというCRSのサービスがメモリ空間にまとまっているもの。Oracle Clusterware関連 のコンポーネントで、crsctlコマンドで操作する。crsctlコマンドは主にOracle Clusterware の起動や停止、状態の確認などに使用する。

上記から分かるとおり「Node Applications」「ASM(Automatic Storage Management)」「Instance」は、全てCRSスタック上で稼動しており、これが稼動していない状態でsrvctlコマンドを操作すると「CRS-0184: CRSデーモンと通信できません。」のようなメッセージが出力されます。

この場合は、crsctlコマンドを操作してクラスタ(CRSスタック)を正常な状態に戻したあとで操作します。

また、Oracle Clusterwareでは、クラスタやRACデータベースの構成変更を容易に行うことができるようになっており、主な管理タスクとコマンド/ツールの対応は下表の通りです。

■構成変更に使用するコマンド/ツール
対象 変更内容 コマンド/ツール
サービス 追加、削除、プロパティ編集、有効化/無効化 Enterprise Manager
DBCA
srvctlコマンド 
インスタンス 追加、削除、構成の変更 Enterprise Manager
DBCA 
CRSリソースへの登録、削除のみ srvctlコマンド
ASM 追加、削除、構成の変更 Enterprise Manager
DBCA 
リスナー 追加、削除、構成の変更 NetCA
Virtual IP 構成の変更 srvctlコマンド


■Oracle学ぶならこれ!


               最新記事へ     トップページ





スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン

[ ミニミニ管理者の独り言Oracleの運用(RAC構成等) > Oracle10gの起動停止−sqlplus(シングル構成) ]
スポンサードリンク

Oracle10gの起動停止−sqlplus(シングル構成)

JUGEMテーマ:コンピュータ


今回はOracle10gにおける運用方法を纏めていきます。
まず初めは、「Oracle10gの起動停止(シングル構成)」方法です。シングル構成なので一番利用される方が多い、手順かと思います。
簡単な流れを確認すると、「コマンドプロンプトにてsqlplusを実行」して、「sqlplusにてshutdownやstartup」を実行します。

■起動手順
1)コマンドプロンプトを起動
  dos>
2)sqlplusに接続
  dos>sqlplus /nolog
  sql>connect /as sysdba
3)起動(start)コマンドを実行
  sql>startup

Oracleが起動するとWindowsサービスにOracle関連のサービスが表示されます。
例)
  OracleDBConsole
  OracleOraDb10g_TNSListener
  OracleService
といったものですが、セットアップ環境により名称は異なりますのであくまでも参考で。

■停止手順
1)コマンドプロンプトを起動
  dos>
2)sqlplusに接続
  dos>sqlplus /nolog
  sql>connect /as sysdba
3)停止(shutdown)コマンドを実行
  sql>sqlplus shutdown immediate

   NORMAL:データベースを通常の状況で停止
   IMMEDIATE:データベースを即時停止
   TRANSACTIONAL:アクティブなトランザクションを完了してからインスタンスを停止
   ABORT:データベース・インスタンスを強制終了



如何でしょうか。Oracleの起動停止で恐ろしいのは「シャットダウンできたが2度と起動しない」なんてことです。特にRAC構成などで無停止などの運用だと、停止した際に再度の起動しない理由がOracle以外にもハードウェアなども絡んでくるので...

ミニミニ管理者もOracleを計画停止した後に起動しようとしたら「永遠に再起動を続ける」状態になったことがあります。(SE-RAC構成)
このときはハードウェアにも障害が検出され、いろいろと調査したところ「Oracleサービスの依存関係に問題があり、Windows起動時のOracleサービスの自動起動をオフ」にしたら収まりました。

後で知った話ですが、Oracle10g(10.2.0.2)には起動障害があったそうです。
これはリビジョン:10.2.0.4で解消済みだとか。

■Oracle学ぶならこれ!


               最新記事へ     トップページ





スポンサードリンク


■Blog Ranking■
1. ←←サーバー構築・運用ブログあり お奨め:★★★★★
2. (ブログランキング ドット ネット)
3.にほんブログ村 IT技術ブログへにほんブログ村
4.BS blog Ranking
ブログランキングに挑戦中です。あなたもブログランキングに挑戦してみよう!
サーバー構築・運用ブログなんかもありますのでシステム管理者の方にもお奨めのサイトがあり!
ソニーストア
ボーズ・インイヤーヘッドホン