2021年を迎えて

昨年の10月から業務の多忙から、まったくブログが更新出来ずに、2021年を迎えました。この3か月間でいろいろなことがあり、状況もめまぐるしく変化しました。

 

2021年の一発目の記事は、今年の抱負と目標を書いていきたいと思います。

 

1,2020年の振り返り

昨年は、1年を通して、仕事に追われた1年になりました。福岡から東京に戻り、その矢先にコロナ渦に巻き込まれ、在宅業務を余儀なくされ、なれない業務をやりながら必死に業務に食らいついていきました。かなり精神的にも体力的にもきつい1年でした。

 

その分、業務の達成感は、あったものの、稼働時間が多くなりすぎたこともあり、客先からの評価も悪評で、限界を感じたのも事実です。精神的にも追い詰められた状態になり、体調も崩したため、年内でその業務に終止符を打つことを決断しました。

 

2,2021年の抱負

仕事に追われた2020年を振り返り、2021年は、自分の時間を確保して、自分のやりたいことにチャレンジする1年にしようと考えました。コロナ渦は、継続していますが自分の仕事のスタイルや考え方は、不変で、前向きに自分のできることを精一杯やっていく所存です。

 

また、仕事のやり方も大きく変化しており、それらに対応しながら周りとのコミュニケーションをとっていく必要がありますが、他人に身をゆだねる仕事のやり方ではなく、自分の考えや方針をしっかり明確にして業務に取り組んでいきます。

 

3,2021年本当にやりたいこと・目標

まだ、構想の構想の段階ですが、「何か作ろう」と思っています。「何か」をです。

具体的に詳細を明かすことはできませんが、自作のアプリかソフトウェアのようなもので生活を豊かに効率よくするためのもの。

 

一人でやるので時間もかかるし、途中でいろいろ挫折するかもしれないし、もしかしたら完成しないかもしれないけど、今の自分に役に立つものを作りたいと思っています。何かを形にして、何かしらの形で見える化したいと考えています。

 

そして、今年は、アクティブに行動して、いろいろなところに出かけようと思っています。まずは、近場から徐々に遠くの方まで。うまく気分転換しながらストレス発散もかねて、いろいろ一人旅をしたいと思っています。夏に北海道に新幹線で行こうかと考えています。

 

4,その先にある目標

まだ、個人事業主で事業をやる財力や技術力もない状態ですが、会社勤めしながら副業での収入を増やせる術を磨いて、将来的に独立を目指します。そのためには、会社勤めの収入を上回るほどの収入が確保出来る目途がつくことが必要。ただ、あと20年も会社勤めは出来ないので、普通の人よりは早く、リタイヤ(会社勤めをやめる)する予定です。そのため、いかに自分の時間を確保できるか、収入よりも自分の時間を大切にする場面が増えてくると思います。

 

5,最後に

毎年、資格取得を目標にするのですが、今年は、あえてそこにはこだわらない方針で行きます。業務に必要な程度のレベルで学習して、業務には支障がないようにしていきます。

Oracle Databese 試験の変更について

Oracle Databaseの認定試験に一部変更があったようです。

もちろん今までの取得したものは、有効ですが、これから受験される方は

試験内容や範囲も変更になるものがるようです。

 

先日、資格取得予定の記事を書きましたが、受験・取得を予定しているOracle Database Bronze試験も今までは、2つの試験に合格して、Bronze認定でしたが、これからは、1種類の試験に合格すれば、Bronzeに認定されます。

 

詳細は、以下のOracleのサイトで確認できます。

www.oracle.com

また、PL/SQLの試験もSilverからですが存在することがわかりました。

こちらは、情報も少なく、対策本も古いものしかありませんでしたが、Amazonで入手できたので、Bronze合格後に受験したいと思います。

 

今後の学習予定と資格取得予定

2020年9月もまもなく終わりますね。

コロナ渦などもあり、あっという間の9か月でした。

 

4月から業務も変更になり、転勤もあり、引っ越しもありでいろいろ大変でしたが、なんとか乗り切ることが出来そうです。

 

4月からは、Oracle SQL Developerを利用したSQLを中心に学習を進めました。

AccessMySQLも学ぶ予定もありましたが、採取的には、OracleDatabeseに的を絞って、BROZEの資格取得も視野に入れて、学習を進めました。

 

10月にまもなく入るので、ここで10月以降の学習予定と資格取得予定を明確にして、それをゴールにして、学習を進めていけたらと考えています。

 

学習予定

 

上記の2つに的を絞ります。よって資格取得もおのずと以下の2つになります。

資格取得

2つに的を絞っていますが、決して合格がたやすい試験ではありません。

OracleDatabeseは、受験代金も安価ではなく、2つの試験の合格が必要です。

 

一方、高度情報処理試験は、来年4月の合格を目指しますが、試験レベルも高く、午前試験Ⅰを突破する必要もあり、こちらは、別途試験対策が必要になります。

 

データベーススペシャリストの問題は、事例問題が多く、読解力も必要になります。

こちらも万全な試験対策が必要で、試験は、年1回4月になります。

 

よってOracleDatabeseの試験対策と並行して、高度情報処理試験学習が必要になります。データベースの部分は、共通する部分もありますが、午前対策は、用語などは、暗記が必要になる部分もあります。

 

また、時間配分も重要になります。事例問題にも慣れて、読解力を身に着けて、対応していく必要があるので、難易度は非常に高く、1回の受験での合格は、ほぼ難しいです。なお、午前試験は、合格基準に達していれば、次回以降の受験が免除になります。

 

まずは、年内にOracleDatabeseの1試験合格を目指して学習を進めます。

並行して午前対策とデータベーススペシャリストの学習を進めます。

 

来年の4月以降は、業務内容も考慮して学習内容を見直します。

 

 

【備忘記録】Oracle SQL Developerで接続出来なくなった場合の解決方法

昨日、SQL Developerに接続したら、接続エラーになる事象が発生しました。

その時の解決方法を備忘記録として記載しておきます。

自宅の環境ではよく発生している事象ですが忘れないようにメモ。

 

1,発生した事象の背景

今まで接続出来ていたOracleデータベースに接続出来なくなりました。パスワードも間違えていない。特に設定を変更した覚えもなく。

 

2,思い当たる原因

数日前にPCの接続方法を有線LAN接続から無線LAN接続に変更しました。

これが原因だと気が付くまでに少し時間がかかりました。

 

3,原因切り分け1

まずは、プロセス確認。

環境は、Windows10です。「PC」を右クリックで「管理」→「サービスとアプリケーション」→「サービス」を選択して、サービスの一覧を表示。

Oracleに必要なプロセスを確認し、プロセスの落し上げ(再起動)を実施しました。

f:id:rdbsql:20200913204548p:plain

Oracleプロセス

Oracleの名前ではじまるプロセスは、上記の4つになります。

私は、4つともプロセスの再起動を実施しましたが、すべては、必要なかったかもしれません。

その後、SQL Developerを再起動してみましたが、症状に変わりはなく、接続できない状態でした。

 

4,原因切り分け2

接続しているホスト名がIPアドレスで接続されている場合、IPアドレスが変更になったことが原因の可能性があります。

有線LAN接続では、固定IPに設定していましたが、コマンドプロンプトで確認したら設定されているIPアドレスDHCPで自動割り当てになり、変更されていました。

早速、Oracle SQL Developerの接続先のIPアドレスを変更して接続を試みましたが、接続できませんでした。

この時、SQLPlusからは、SYTEMアカウントから正常に接続出来ていることを確認しており、Oracleのサービスは、正常に動作していることを確認しており、Oracle SQL Developerでの事象であることがわかりました。

 

5,原因切り分け3

これで接続できない原因は、ほぼ特定できました。

Oracleの設定ファイル情報が古いIPアドレスになっていることが原因ではないかと予想して、設定ファイルを確認したら、やはり設定ファイルのIPアドレスが古いものになっていました。新しいIPアドレスに変更して、保存。再度、プロセスを再起動。

その後、Oracle SQL Developerを再起動→再接続して、接続出来ました。

 

設定ファイルは、私の環境では、以下にありました。

D:\app\oraclehome\product\12.2.0\dbhome_2\network\admin

listener.ora

tnsnames.ora

 

6,結論と対策

本来の対策としては、IPアドレスを固定に設定しておくことが無難です。

ISPによっては、無線LANの場合、固定IPをうまく設定できない場合もあります。

私もそうでした。

サーバである以上、IPアドレスが変わることは、本来想定外であるからです。

DHCPでも同じIPアドレスを取得出来たり、PCを再起動しなければ、問題ないかもしれませんが、WinodwsアップデートなどでPCの再起動が必要になるケースも多々、あると思います。その場合、運悪く変更になってしまう可能性もあります。

私の場合、Oracleデータベースに接続できなくなった場合、ほぼ上記の手順を順番に実施することで解決できています。

また、接続先のホスト名がIPアドレスでなくても、何かの理由でホスト名が変更になると接続出来なくなります。

そのため、IPアドレスを固定化して、hostsファイルにホスト名を記入しておけば、常にその名前で接続できます。

IPアドレスが変わった場合も、hostsのIPアドレスを変更するだけで接続が出来ますのでいくらか手間が省けると思います。

 

以上です。

PL/SQL学習日記 サンプルコードの謎を解け!回答編

謎は、すべて解けた。犯人もそのトリックもわかったぜ。

非常に本当に簡単なことだった。

昨日は、気が付かなかったけど、朝もう一度確認したら、一目瞭然でしたね。

でも、これでまた学習を前に進めることが出来る。

 

これを機にPL/SQLのデバック方法も学ばないとだな。自分なりの方法を確立しておきたいというのが正直な感想。

 

模範解答は、以下の通り。違いは、見ていただければわかると思います。

--

DECLARE
v_emp emp%ROWTYPE;
CURSOR c1 IS
SELECT
*
FROM
emp
WHERE
deptno = 10;

BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_emp;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('DEPTNO : '|| v_emp.deptno
|| ' EMPNO : '|| v_emp.empno
|| ' ENAME : '|| v_emp.ename
|| ' JOB : '|| v_emp.job);
END LOOP;
CLOSE c1;
END;

--

出力結果

DEPTNO : 10 EMPNO : 7782 ENAME : 高橋 JOB : 部長
DEPTNO : 10 EMPNO : 7839 ENAME : 林 JOB : 社長
DEPTNO : 10 EMPNO : 7934 ENAME : 田村 JOB : エンジニア

--

さあ、また今日からPL/SQLの学習を再開だ。

 

PL/SQL学習日記 サンプルコードの謎を解け!

こんなコードを書きました。

ある本に掲載されていたサンプルコードなのですが、何も表示されない

状態です。

 

--

DECLARE
v_emp emp%ROWTYPE;
CURSOR c1 IS
SELECT
*
FROM
emp
WHERE
empno = 10;

BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_emp;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('DEPTNO : '|| v_emp.deptno
|| ' EMPNO : '|| v_emp.empno
|| ' ENAME : '|| v_emp.ename
|| ' JOB : '|| v_emp.job);
END LOOP;
CLOSE c1;
END;

--

解答とも相違なし。

元のempにも該当データがあることが確認できます。

コンパイル上のエラーは、ないので、構文は問題なさそう。

 

考えられるのは、構文の順序。

LOOP文もそのままEXITされている可能性もあります。

 

いろいろ考えてみよう。それも学習の一環だ。