SQL*Plusで、引数を以下SQLファイルに渡したい、という要件が
発生したので調査を行いました。
・test.sql
SELECT * FROM table WHERE column IN (/*ここを引数として渡したい*/);
exit;
色々試した結果、以下のような形で実行できることを確認。
・test.sql
SELECT * FROM table WHERE column IN (&1);
exit;
・sqlplus実行
sqlplus user/pass@db @test.sql " 'arg1','arg2','arg3'"
仕様がよくわかりませんが、水色部分に
何らかの文字がないとエラーになるようです。
# 状況によってはスペースを「N」に置き換えても実行可能
こんな微妙なことをする機会は今後なさそうですが、念のため覚書。
2016年10月6日木曜日
2016年9月2日金曜日
[つぶやき] Strengths Finderなるものを実施してみた
Strengths Finderという、自分の5つの強みを調べられるテストを
教えていただいたので試してみました。
結果:
1. Harmony(協調性)
2. Analytical(分析思考)
3. Responsibility(責任感)
4. Consistency(一貫性/公平性)
5. Relator(親密性)
まだ説明はちゃんと読んでないですが、なんとなく合ってる気はしますね。
時間のある時に、説明ちゃんと読もう。。。
教えていただいたので試してみました。
結果:
1. Harmony(協調性)
2. Analytical(分析思考)
3. Responsibility(責任感)
4. Consistency(一貫性/公平性)
5. Relator(親密性)
まだ説明はちゃんと読んでないですが、なんとなく合ってる気はしますね。
時間のある時に、説明ちゃんと読もう。。。
2016年7月22日金曜日
2016年4月12日火曜日
[PowerShell] 標準出力時に、文字の色を一部分だけ変える
標準出力を行ったとき、1行中の特定のデータを色付きで表示したい
と思ったので、調べた結果を覚書。
-ForegroundColorで文字色を、-BackgroundColorで背景色を変更できるようです。
あとは"a"、"b"、"c"を適当な変数に変えるとかすれば目的達成ですかね。
なかなか情報が見つかりませんでしたが、とりあえずこんな感じで。
と思ったので、調べた結果を覚書。
PS> Write-Host "a" -NoNewline; Write-Host "b" -ForegroundColor Red -NoNewline; Write-Host "c";
abc
あとは"a"、"b"、"c"を適当な変数に変えるとかすれば目的達成ですかね。
なかなか情報が見つかりませんでしたが、とりあえずこんな感じで。
2016年2月25日木曜日
[Oracle] Oracle12cでRMANバックアップの履歴を確認するSQL
Oracle 12cのEnterprise Managerでは、11gまで確認することができた
RMANバックアップの履歴を確認できない(調査不足なだけ?)ようだったので
確認するSQLを覚書。
11gまでのEnterprise Managerと同じく、直近1か月分を表示するように。
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を確認したとき、
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文
sqlplus user/password@接続文字列 は接続できるのに、
SELECT SYSDATE FROM DUAL@HOGE はエラーになる。。
■いろいろ試行錯誤した結果
・・・
うん、別にユーザーは小文字で作ってなかったよね。
でも、
sqlplus user/password@接続文字列
sqlplus USER/password@接続文字列
のどちらでも接続できるのは、罠のような気がする。。
何とも恥ずかしい状況を覚書。
■最初に実行した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@接続文字列
のどちらでも接続できるのは、罠のような気がする。。
登録:
投稿 (Atom)