2016年2月25日木曜日

[Oracle] Oracle12cでRMANバックアップの履歴を確認するSQL

Oracle 12cのEnterprise Managerでは、11gまで確認することができた
RMANバックアップの履歴を確認できない(調査不足なだけ?)ようだったので
確認するSQLを覚書。

SELECT
  COMMAND_ID,
  INPUT_TYPE,
  STATUS,
  TO_CHAR(START_TIME, 'yyyy/mm/dd HH24:MI:SS'),
  TO_CHAR(END_TIME, 'yyyy/mm/dd HH24:MI:SS'),
  TRIM(TIME_TAKEN_BY_DISPLAY),
  TRIM(INPUT_BYTES_DISPLAY),
  TRIM(OUTPUT_BYTES_DISPLAY)
FROM
  V_$RMAN_BACKUP_JOB_DETAILS
WHERE
  START_TIME >= ADD_MONTHS(SYSDATE, -1)
ORDER BY
  START_TIME DESC

11gまでのEnterprise Managerと同じく、直近1か月分を表示するように。

2016年2月18日木曜日

[PowerShell & SQL*Plus] 文字化けの対処法

PowerShellからSQL*Plusを起動、英語環境(AMERICAN_AMERICA.WE8MSWIN1252)の
OracleにアクセスしてDBA_OUTSTANDING_ALERTSを確認したとき、
メッセージが文字化けする問題を解決したので覚書。

■対応1
PS> SET NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
PS> sqlplus sys/PASS@SID as sysdba

SQL> SELECT REASON FROM DBA_OUTSTANDING_ALERTS;
⇒文字化け


■対応2
PS> chcp 65001
PS> SET NLS_LANG=AMERICAN_AMERICA.AL32UTF8
PS> sqlplus sys/PASS@SID as sysdba

SQL> SELECT REASON FROM DBA_OUTSTANDING_ALERTS;
⇒文字化け

■対応3
PS> SET NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
PS> sqlplus sys/PASS@SID as sysdba

SQL> ALTER SESSION SET NLS_LANGUAGE=AMERICAN;
SQL> ALTER SESSION SET NLS_TERRITORY=AMERICA;
SQL> SELECT REASON FROM DBA_OUTSTANDING_ALERTS;
⇒文字化けしない!


DOSからの場合はNLS_LANGの変更だけで文字化け発生しなかったんですが。。
とりあえず解決できてよかった。

2016年1月14日木曜日

[Oracle] DBリンクでハマる。。

DBリンクの作成⇒接続確認で、「ORA-01017」にハマるという
何とも恥ずかしい状況を覚書。

■最初に実行したCREATE文
CREATE DATABASE LINK HOGE
CONNECT TO "user" IDENTIFIED BY "password"
USING '接続文字列'

sqlplus user/password@接続文字列 は接続できるのに、
SELECT SYSDATE FROM DUAL@HOGE はエラーになる。。

■いろいろ試行錯誤した結果
CREATE DATABASE LINK HOGE
CONNECT TO user IDENTIFIED BY "password"
USING '接続文字列'


・・・

うん、別にユーザーは小文字で作ってなかったよね。

でも、
 sqlplus user/password@接続文字列
 sqlplus USER/password@接続文字列
のどちらでも接続できるのは、罠のような気がする。。

2015年12月28日月曜日

[Oracle] OEMが停止/起動できない

Oracle Enterprise Managerの停止、起動ができなくなる現象が発生。
調べてみると色々な環境要因があるみたいですが、今回の状況は以下の通り。

・Oracle 11.2.0.4.0 @ Windows
・OEMは普通に参照できる
・OracleDBConsoleSIDは停止している
・net stop、emctl stop dbconsole ともにエラー(詳細忘れた。。)
・net start、emctl start dbconsole もエラー(詳細忘れた。。)

対応は単純で、OEM由来のjava.exeとemagent.exeを特定して
プロセスを終了、emctl start dbconsoleするというもの。


プロセスが残っているとサービスを制御できなくなるみたいですね。
忘れないうちに覚書。

2015年12月3日木曜日

[Windows] Windows Server 2012でイベントID:6038が発生する

Windows Server 2012の環境でイベントID:6038の警告が発生するようになりました。

=====
Microsoft Windows Server とクライアントの間で、現在 NTLM 認証が使用されていることが検出されました。このイベントは、クライアントの起動時に初めて NTLM を使用してこのサーバーに認証するときに 1 回発生します。

NTLM は、他の認証機構と比べてそれほど強力ではありません。次の点を確認してください:

      NTLM 認証を使用しているアプリケーションはどれか
      Kerberos 認証などの強力な認証を使用できない構成上の問題があるかどうか
      NTLM をサポートする必要がある場合、拡張保護が構成されているかどうか

これらを確認する方法の詳細については、http://go.microsoft.com/fwlink/?LinkId=225699 を参照してください。
=====

うーん、調べても参考になるような情報が見つからない。。
情報を見つけたら追記することにします。