OracleDBでのインターフェイス4つ

OracleDBには非常に多くの機能があります。

その機能全てを把握して使用できるエンジニアは存在しないとまで言われております。

そんな中で、OracleDBで使用するインターフェイスを4つ紹介していきたいと思います。

現場によって運用方法が異なるため、今まで使ってきていなかったのに、とある現場では頻繁に使うとなって困る事もあります。

基本的なコマンドも一緒に紹介していきたいと思います。

スポンサーリンク

OracleDBで使用するユーザインターフェース

1、SQLPLUS

これはお馴染みですよね。

Oracleを担当したエンジニアでなくとも、開発系などOracleDBが存在する環境では当然使います。

接続方法は、管理者ユーザの場合は以下。

 sqlplus / as sysdba

別のデータベースユーザの場合は以下。

sqlplus ユーザ名/パスワード@データベース名

その後は、SQLを使って様々なオペレーションを実施します。

SQL; set pages 1000
 SQL; set lines 500
 SQL; select INSTANCE_NUMBER,INSTANCE_NAME,STATUS from v$instance

INSTANCE_NUMBER INSTANCE_NAME STATUS
--------------- ---------------- ------------
1 odb12c OPEN

2、RMAN

RMANはOracleのバックアップなどで利用するRecovery Managerのインターフェースになります。

RMANバックアップで、リカバリ・カタログを使用する場合とそうでない場合でアクセス方法が異なります。

通常の管理者として接続する場合は下記になります。

rman target /

上記で管理者ユーザとしてrmanプロンプトへ移行できます。

ちなみに、RMANでは下記のようにDBの起動や停止、SQLも実行できます。

RMAN> startup
Oracle instance started
database mounted
database opened
Total System Global Area 1644167168 bytes
Fixed Size 2925024 bytes
Variable Size 1056968224 bytes
Database Buffers 570425344 bytes
Redo Buffers 13848576 bytes

また、バックアップリカバリの機能を使う上では下記の基本設定を確認するコマンドだけご紹介します。

OracleDBのバックアップリカバリについては、別記事で詳しく書ければと思います。

RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ODB12C are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12.1.0/dbhome/dbs/snapcf_odb12c.f'; # default

3、ADR

ADRとは11gからの機能で、OracleDBのアラートやリスナー関連のログの管理や、障害発生時のインシデント作成などを行います。

この機能自体は、OracleDBのGold試験くらいでしかまともに使いませんが、個人的にはオペレーターへインシデント作成のマニュアルを作成する際には有効かと思います。

※ADRを使用する場合だけですが

こちらも専用のインターフェイスがありますので、ご紹介します。

まず、ADRのコマンドラインを立ち上げます。

 adrci
ADRCI: Release 12.1.0.2.0 - Production on Sun Mar 26 15:10:30 2017
Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
ADR base = "/u01/app/oracle"
adrc;

adrciコマンドで接続が出来ます。

次にアラートとインシデントの確認のための簡単なコマンドを書いていきます。

adrci; show incident
ADR Home = /u01/app/oracle/diag/tnslsnr/Oracle12c/listener:
*************************************************************************
0 rows fetched
ADR Home = /u01/app/oracle/diag/tnslsnr/Oracle12c/odb_listener:
*************************************************************************
0 rows fetched
ADR Home = /u01/app/oracle/diag/rdbms/odb12c/odb12c:
*************************************************************************
0 rows fetched

今回はインシデントが存在しませんが、何かしらの論理障害を抱えている場合は、この一覧にインシデントIDと一緒に表示されます。

次にアラートログを見ていきます。

しかし、ADRは複数のHOME(ログを管理するためのホームディレクトリと捉えてください)を持てるので、参照するアラートログは1つまでになるので、ADR HOMEに固定のパスをセットする必要があります。

そこで、下記のとおり、ADR HOMEを確認し、セットしています。

adrci; show home
ADR Homes:
diag/tnslsnr/Oracle12c/listener
diag/tnslsnr/Oracle12c/odb_listener
diag/rdbms/odb12c/odb12c
adrci; set home diag/rdbms/odb12c/odb12c

show homeコマンドで現在設定されているパス一覧を表示し、set home パス名で設定します。

そうすると、そのパスで管理されているログが参照できるようになります。

下記はアラートログをtail -f モードで標準出力しています。

adrci; show alert -tail -f
~略
2017-03-26 15:00:52.698000 +09:00
Thread 1 cannot allocate new log, sequence 26
Private strand flush not complete
Current log# 1 seq# 25 mem# 0: /u01/app/oracle/oradata/odb12c/redo01.log
2017-03-26 15:00:55.766000 +09:00
Thread 1 advanced to log sequence 26 (LGWR switch)
Current log# 2 seq# 26 mem# 0: /u01/app/oracle/oradata/odb12c/redo02.log
2017-03-26 15:01:22.821000 +09:00
Thread 1 advanced to log sequence 27 (LGWR switch)
Current log# 3 seq# 27 mem# 0: /u01/app/oracle/oradata/odb12c/redo03.log

正直、滅多に使わないADRですが、いざという時のために覚えておいても良いかもしれません。

4、ASM

次は、ASMに関するインターフェイスになります。

ASMはOracleの機能でReal Application Cluster(以後RACと呼称)の環境ではまず間違いなく使用すると思うので、Oracleだけで仕事をするには必須の知識です。

接続方法は、今回は私の自宅のRAC環境を用いて、まずgridユーザになります。

そして、下記のコマンドを入力します。

asmcmd -p

-pはオプションで、カレントディレクトリを表示させています。

つまり、asmcmdは通常のファイルシステムのようにディレクトリを移動しながら作業できるインターフェイスになります。

なので下記のようにlsコマンドも使用できます。

ASMCMD [+] ; ls
FRA/

ここで、ASMを扱う上で基本的なコマンドを1つご紹介しておきます。

ASMディスクについては、動的パフォーマンスビューからなど、確認する方法はたくさんありますが、このインターフェイスではASM専用コマンドで確認が出来ます。

ASMCMD [+] ; lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED NORMAL N 512 4096 1048576 15342 6216 5114 551 0 Y DATA/
MOUNTED NORMAL N 512 4096 1048576 15342 15054 5114 4970 0 N FRA/

ASM管理のディスクの状態やAU SIZEなど各種情報が取得できます。

何かディスクグループなどに対して作業する場合は、確認のために使用する事があるので、このコマンドは覚えておいた方が良いです。

あくまで基礎なので、知っている方の方が多いとは思います。

スポンサーリンク

まとめ

いかがでしたでしょうか。

各機能についてもう少し詳しく書ければいいのですが、ブログにまだ慣れていないので非常に疲れました(笑)

今回は、あくまでインターフェイスの紹介までという所で終わりたいと思います。

スポンサーリンク

フォローする

合わせて読んでみる

良ければ他の記事もどうぞ!



スポンサーリンク
コメントの入力は終了しました。