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の変更だけで文字化け発生しなかったんですが。。
とりあえず解決できてよかった。