IT Soldier Sakuri !!

Oracle使い。いつのまにかIT戦士になってしまったさくりの可哀想な奮闘記。

Oracle TNS-12638: 資格証明の取出しに失敗しました。

早くも台風に期待してわくわくしてる。
会社お休みにならないかなー♪
今日は上司が揃いも揃って出張なので、まったりお仕事。

ところが、そんなに簡単にサボらせてはもらえないようで、
昨日Oracleのパッチを当てたDBサーバに接続しているクライアントPCが
突然2台だけ接続できなくなった。
その支店は100台くらいあるのに2台だけ。

アプリからDBに接続しているのだけど、
パソコンの画面には、こんなエラーが表示されていた。

ユーザ名またはパスワードが無効です。
ORA-24324: サービス・ハンドルが初期化されていません。

昨日のパッチの所為?!!
でももうDBサーバ10台くらい11.2.0.4.16になってるけど?
どうして?とテンパりながら、アラートログを見る。

TNS-12638: 資格証明の取出しに失敗しました。
    ns secondary err code: 0
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
opiodr aborting process unknown ospid (856) as a result of ORA-609

資格証明???

Oracleのサポートに問い合わせつつ、ググってみると…
どうやら、突然起こったりする現象らしい。

【対応方法】
接続エラーになったクライアントPCの下記ファイルを書き換える。
sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES = (NTS)
↓
SQLNET.AUTHENTICATION_SERVICES = (NONE)

NTSWindows NTのシステム固有の認証を採用します。
ALL …すべての認証方式を採用します。
NONE …認証方式は採用しません。有効なユーザー名とパスワードを使用すると、データベースにアクセスできます。

アプリでちゃんとユーザ/パスワードを指定して接続しているのなら問題ないので、
NONEに設定したところ、問題なく接続できました。

ドメインに参加したからとか、WindowsログオンのORA_DBAグループにWindowsログオンユーザが属している必要があるとか、書いてあるけど、
ドメイン参加なんて何年も前だし、何か違う気がする。

それにしてもOracleサポートは7時間経っても回答ないんだけど、どういうことだい。

Rubyインストール Windows7(32bit) 2015年度版

えへへ、暇も最高潮に達して、
ついに会社のPCにこっそりRubyをインストールしてみたよ。

オブジェクト指向スクリプト言語 Rubyのページにアクセス。
[ダウンロード]をクリック。
f:id:itsoldiersakuri:20150819210721p:plain

Windowsなので下の方にスクロールして、[RubyInstaller]をクリック。
f:id:itsoldiersakuri:20150819210847p:plain

海外のページに飛ぶのでちょっとびくびくしながら[Download]をクリック。
f:id:itsoldiersakuri:20150819210945p:plain

最新のバージョンをクリック。
※64bitの人は(x64)ですよ!
f:id:itsoldiersakuri:20150819211039p:plain

ダウンロードしたexeファイルをダブルクリックで実行。
f:id:itsoldiersakuri:20150819211111p:plain

[実行]をクリック。
f:id:itsoldiersakuri:20150819211153p:plain

もちろん[日本語]をクリック。
f:id:itsoldiersakuri:20150819211212p:plain

当然[同意する]をクリック。
f:id:itsoldiersakuri:20150819211235p:plain

まさか![Program Files]をインストール先に選んではいけないだなんて!!!
やむなくデフォルトで。
※[Rubyの実行ファイルへ環境PATHを設定する]にはチェックを入れた方がいい!
チェックを入れないとコマンドプロンプトで実行できないのです。

f:id:itsoldiersakuri:20150819211428p:plain

まもなく終了。
f:id:itsoldiersakuri:20150819211639p:plain


<おまけ>コマンドプロンプトからRubyが使えないという人へ
コマンドプロンプトでバージョン確認のコマンドを打ってみる。

ruby -v

こんな風にバージョンが表示されていればインストールOK!
f:id:itsoldiersakuri:20150819212301p:plain
※自宅のPCなので64bitですが、32bitでもさほど変わらないよ。

もし、インストールしたのに、こうなっちゃった場合。
これは[Rubyの実行ファイルへ環境PATHを設定する]にはチェックを入れないでインストールしちゃったでしょ!?
f:id:itsoldiersakuri:20150819212000p:plain

そんな人はPATHに自分で追加してください。
手順は下記の通り。

コンピュータの[プロパティ]をクリック。
f:id:itsoldiersakuri:20150819212651p:plain

[システムの詳細設定]をクリック。
f:id:itsoldiersakuri:20150819212716p:plain

[環境変数]をクリック。
f:id:itsoldiersakuri:20150819212748p:plain

[Path]をクリックして、[編集]する。
f:id:itsoldiersakuri:20150819212816p:plain

一番先頭に[c:\Ruby22\bin;]を追加して[OK]ボタンをクリック。
※インストール場所をデフォルトから変更した人は[Rubyのインストール先\bin;]を追加。
f:id:itsoldiersakuri:20150819212836p:plain

これで、コマンドプロンプトからバージョンが表示されるようになるはず!!

Oracle バージョン・パッチ適用状況の確認

Oracleのバージョンを確認するにはおなじみのコマンドはコチラ。

select * from v$version;

これって、PSR(Patch Set Release)という4桁目までしか出てこない。

20:38:19 SQL> conn sys/system@xe as sysdba
接続されました。
20:38:31 SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE    11.2.0.4.0      Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production

20:38:50 SQL>

あ、11.2.0.4にバージョン上げたままパッチ適用してないんだ!と思ったら大間違い。
この11.2.0.4.0 最後のゼロは嘘なこともあるんです!!!

みんな騙されないで!!!
ちゃんとOPatchで確認しないとわからないのよ!!

コマンドプロンプトを立ち上げて、ORACLE_HOME%\Opatchへ移動。

C:\Users\sakuri>cd C:\app\Administrator\product\11.2.0\dbhome_2\OPatch

下記をコマンドを実行すると表示される。
opatch lsinventory

C:\app\Administrator\product\11.2.0\dbhome_2\OPatch>opatch lsinventory

Oracle Interim Patch Installerバージョン11.2.0.3.6
Copyright (c) 2013, Oracle Corporation.  All rights reserved。


Oracle Home       : C:\app\ADMINI~1\product\112~1.0\dbhome_2
Central Inventory : C:\Program Files\Oracle\Inventory
   from           : n/a
OPatch version    : 11.2.0.3.6
OUI version       : 11.2.0.4.0
Log file location : C:\app\ADMINI~1\product\112~1.0\dbhome_2\cfgtoollogs\opatch\
opatch2015-08-18_11-56-43午前_1.log

Lsinventory Output file location : C:\app\ADMINI~1\product\112~1.0\dbhome_2\cfgt
oollogs\opatch\lsinv\lsinventory2015-08-18_11-56-43午前.txt


インストールされた最上位製品(1):

Oracle Database 11g                                                  11.2.0.4.0
●これがPSR(Patch Set Release)の部分
このOracleホームには1の製品がインストールされています。


仮パッチ(1) :

Patch  20583364     : applied on Mon Jul 27 13:14:52 JST 2015
Unique Patch ID:  18944111
Patch description:  "WINDOWS DB BUNDLE PATCH 11.2.0.4.16:(20583364)"
●これが適用されているパッチ
   Created on 20 May 2015, 03:22:34 hrs
   Bugs fixed:
     16809786, 17716305, 17348614, 16382883, 18125929, 18246045, 17835048
     17545847, 16042673, 18096714, 16543190, 17258090, 17214497, 17610798
     16954950, 19358317, 18098207, 16731148, 17006570, 14764840, 14458319
     18191542, 19168690, 16878635, 16571443, 17215306, 17842825, 18441944
     13955826, 19188927, 19500064, 18084625, 17336871, 17201159, 17001914
     17311728, 18262334, 18729166, 16194160, 18182018, 16494615, 14046443
     16434236, 17927204, 14354737, 11883252, 18282562, 16903536, 18842982
     19126146, 19532017, 17238511, 17602269, 17936109, 20014326, 19181525
     17080436, 17265217, 17912217, 20127071, 17359610, 19455741, 18419770
     17925209, 17838476, 18331812, 16399083, 18966843, 17853355, 13498382
     17493764, 18034737, 14146298, 19220183, 18091059, 18092127, 17987366
     19393542, 16187992, 17156148, 17336898, 18689530, 17313525, 19558324
     18464784, 16281493, 20527770, 14285317, 15832129, 18199537, 17401353
     17484712, 19949371, 20032370, 17344412, 13949321, 15986647, 18681683
     16384983, 14034426, 10052729, 20194181, 16870214, 18633374, 17332343
     16863422, 18134680, 16613232, 18673304, 18111216, 16206997, 17394950
     17785632, 17186905, 17397545, 17325413, 19479503, 17258083, 17764053
     17202639, 17089344, 13991403, 16542886, 17159489, 20294666, 18893947
     16901385, 17564992, 17754782, 18191164, 19606562, 18160822, 18084873
     16545319, 16579084, 17174582, 18641461, 18306996, 16994839, 16043574
     14378120, 17752995, 18199185, 17865671, 16594015, 18520351, 17587063
     20074391, 13829543, 18232462, 17570606, 17877323, 20613398, 17231779
     17086446, 17019086, 17238586, 18261183, 16633319, 16956380, 17651484
     16770590, 19690653, 16470836, 17824637, 18328509, 12905058, 18767554
     17921190, 18331850, 16943198, 18663316, 17898325, 17640316, 12758971
     16198143, 18765602, 16343493, 18554871, 18189036, 14693336, 18143836
     17551261, 17501491, 17591148, 18277454, 16875449, 17614134, 17775506
     17296856, 14255128, 17155238, 16249829, 19211724, 17164243, 18244962
     17947785, 20400092, 17082983, 18235390, 14320415, 18674465, 14602788
     20583364, 14657740, 16657901, 15913355, 17430165, 17282229, 18428146
     17165204, 14044260, 16410570, 17622427, 17501296, 17172091, 16315398
     18409441, 18000422, 14678924, 18472224, 19896336, 18868646, 18399991
     17896018, 19051460, 16683112, 14133975, 17336889, 17721778, 17798953
     12646133, 17031322, 12928592, 16538760, 18241194, 18325460, 19478594
     18024745, 17532816, 13609098, 15861775, 18456514, 16360112, 18362222
     19784663, 18709496, 17851160, 17046460, 16422541, 18384391, 20502905
     18272135, 12611721, 17242746, 14525998, 18999857, 17781991, 17694209
     16833527, 18846036, 17227277, 18886413, 20560611, 18964939, 8886629
     17510275, 17068448, 17357979, 19245018, 18819257, 7533808, 17783588
     16296213, 14275161, 12747740, 17393683, 16069901, 17405605, 19601228
     17449815, 17389192, 17786518, 19403858, 20105012, 18352846, 18316692
     18317531, 18673342, 17649265, 18334586, 19152705, 17232014, 19955755
     16818892, 17889549, 19559495, 17883081, 16721594, 17387214, 18088509
     17722664, 19703301, 17284817, 17040527, 17059927, 18414137, 18353141
     17390160, 18296772, 16314254, 17572525, 19438874, 16668584, 16613964
     19012893, 16989630, 16702217, 17936349, 18231837, 18193833, 18348155
     18024089, 18430495, 19289642, 17785870, 17811789, 14015842, 13744436
     14692762, 17908541, 19879746, 17546973, 18436647, 14503359, 13077335
     19241857, 17889583, 14106803, 20544696, 19006849, 17799716, 18685209
     17993995, 17363999, 18691080, 17025461, 18273830, 18641451, 16394467
     17767676, 16524926, 18888066, 14368995, 18405517, 15993436, 17465741
     17892268, 19885321, 17890099, 18051556, 18961101, 17391726, 19915271
     16285691, 17037130, 19269405, 16299727, 18264060, 17489922, 16188701
     20043415, 18724012, 17446237, 18436307, 18241710, 18946768, 17336884
     16450169, 17551674, 17726838, 17922254, 17518652, 16268425, 17441661
     17684143, 17634921, 17546761, 20315294, 18053580, 17435488, 17852463
     9756271, 17040764, 14010183, 16837842, 17588480, 16228604, 17237521
     17042658, 17346671, 18202441, 15986311, 20235486, 17805316, 18247991
     19791273, 17848897, 18641419, 18828868, 19192715, 17577218, 18730542
     17208934, 16919631, 17570240, 17352230, 17736165, 17648596, 20114174
     18890385, 19441649, 18346135, 17299889, 18554763, 18482502, 16698971
     14764829, 17655634, 17611362, 19488514, 19000463, 16934803, 18704244
     18120545, 17551699, 17621643, 17279227, 19461687, 17483479, 20246071
     17945983, 16199543, 17402822, 17308789, 18417036, 19128723, 16344544
     18673325, 19835650, 16618694, 17741995, 17006183, 11733603, 18339044
     14054676, 13651346, 17644091, 18665660, 16491477, 17617815, 18135678
     19267095, 17376318, 18061914, 17088068, 18280356, 20141091, 18779636
     16692232, 16850630, 19689979, 14580303, 18471685, 18223971, 20340620
     18068871, 18260550, 18508861, 16345970, 17443671, 19727057, 14392595
     18296644, 17957017, 15990359, 16403344, 19615136, 16759171, 18006980
     16595641, 17816865, 13364795, 18856999, 17365043, 17617807, 18009564
     16472716, 18948524, 13944971, 13853126, 17291347, 18315328, 17531342
     16849620, 17205719, 19361710, 18180390, 20073979, 18440047, 17267114
     17951124, 13984192, 14176370, 17082359, 18700935, 18962892, 18154779
     17019356, 19000876, 14000767, 17787259, 13645875, 18146463, 18384537
     17184721, 16943711, 17612828, 17375354, 19197175, 17393915, 17955615
     16980342, 16825679, 17571306, 19472320, 17477958, 19205169, 18230522
     14084247, 19524384, 17019345, 12578873, 18674047, 18280813, 18614717
     14565184, 17389314, 17279525, 18226143, 17614227, 18094246, 19873377
     18018515, 20398963, 17762296, 17405302, 18228645, 17583959, 16306373
     18493178, 18762750, 18336452, 17288409, 18747196, 18155762, 19049453
     17984331, 17571039, 14338435, 16180763, 20228093, 17011832, 17597748
     17346091, 19625472, 18317074, 16992075, 17927970, 13724904, 18053631
     19013183, 20121313, 19291380, 19507904, 16392068, 17982555, 17761775
     18619917, 12716670, 14460384, 20263424, 16305657, 17050888, 13073613
     17481314, 19165892, 14497275, 13866822, 19309466, 14671408, 17197081
     20140148, 17951233, 19680952, 17721717, 17600719, 16777840, 17071721
     18416368, 16929165, 18326617, 19550902, 14373152, 16804061, 17036973
     17273020, 4189542, 14852021, 18614015, 19713693, 18265482, 18723434
     16785708, 17343514, 16284825, 12982566, 17831758, 17891943, 19152115
     19442102, 17705023, 19827973, 17224314, 17341326, 18485835, 20539715
     19730508, 18075666, 18996843, 18293054, 17827250, 16876500, 20531190
     18783224, 17853456, 17332800, 13498243, 17853498, 18674024, 17292250
     17376015, 14245531, 14843189, 18069285, 19487147, 19827030, 17897511
     17973658, 16867761, 12816846, 17274537, 17586955, 10136473, 16902031
     18069723, 14458214, 17691313, 17468141, 17250794, 17273003, 18035463
     18590877, 16855292, 17239687, 17079301, 18867023, 17217593, 16976121
     19888492, 17235750, 16819962, 20355502, 16359751, 18418934, 19146626
     17478145, 19651773, 16091637, 12364061, 17835627, 17596908, 18718696
     20365005, 18607546, 17500165, 18187697, 13960236, 13951456, 16454223
     17891946, 16247011, 17360606, 18356166, 17209410, 14500654, 18973907
     19384686, 20017509, 18875012, 14076173, 13558557, 18073821, 12928658
     18759589, 18352845, 17672719, 18034871, 16912439, 17385178, 16317771
     16220077, 17016369, 17215560, 18115594, 17786278, 17027426, 16346413
     15979965, 17752121, 14829250, 17818075, 17590813, 17381384, 17390431
     20513382, 13837378, 17323222, 17297939





OPatch succeeded.

C:\app\Administrator\product\11.2.0\dbhome_2\OPatch>
|

 


ちなみにパッチを適用すると、下記のようなディレクトリができます。
%ORACLE_HOME%\.patch_storage

中身を確認すると、こんな感じ。
f:id:itsoldiersakuri:20150818132759p:plain
先頭の[20583364]はパッチ番号。これをMy Oracle Supportで確認すれば、
11.2.0.4.16って出てきます。
[May~]以下はパッチを適用した日付です。

Oracle11g バージョンアップ・パッチ適用 手順メモ②

朝から雨すっごい。
気合入れて1時間早く家を出たら、1時間半も早く着いちゃって、
スタバでまったり優雅に朝食を摂りながらネットサーフィン。

あーまだ夏休みが終わっちゃったなんて信じられない…

さて、昨日の続きです。
今日はパッチの適用手順をメモっておきますφ(^∇^ )
詳細はダウンロードして解凍した中に入っているREADME.htmlを
確認しなくちゃいけないのだけれど、下記のようなパターン全部同じ適用方法です。
11.2.0.1 → 11.2.0.1.16
11.2.0.4 → 11.2.0.4.8 
11.2.0.4.8 → 11.2.0.4.13 など


パッチ適用の手順 ※11.2.0.4→11.2.0.4.8、11.2.0.4.16など

事前作業
Cドラ直下にtmpフォルダを作成し、
その中に適用するパッチと、Opatchの最新版を解凍しておく。

当日作業(60分弱)

1 言語の変更
コントロールパネル > 地域と言語のオプションを開く。
「現在の形式」にて「英語(米国)」を選択。

※これをしておかないと、パッチ適用時に
文字化けしてアラビア語みたいなのがいっぱい出る。

2 Oracle停止
C:\>sqlplus /nolog
SQL>conn sys/[パスワード] as sysdba
SQL>shutdown immediate
SQL>exit
コントロールパネル > サービスを開き、Oracle関連のサービスを全停止。
3 OPatchの入れ替え
C:\app\Administrator\product\11.2.0\dbhome_2\OPatchを
[OPatch_bk]等にリネームし、事前作業で解凍しておいたOpatchを
C:\app\Administrator\product\11.2.0\dbhome_2\配下に格納。
4 パッチ適用
C:\>chcp 437
C:\>net stop msdtc
C:\>net stop winmgmt
C:\>set INVENTORY_LOC=C:\Program Files\Oracle\Inventory
C:\>SET ORACLE_HOME=C:\app\Administrator\product\11.2.0\dbhome_2
C:\>cd /d C:\app\Administrator\product\11.2.0\dbhome_2\Opatch
C:\>OPatch apply C:\temp\[解凍してできたパッチ番号] –local
5 サーバ再起動
6 スクリプトの実行
C:\>sqlplus /nolog
SQL>conn sys/[パスワード] as sysdba
SQL>alter session set nls_language='American';
SQL>@C:\app\Administrator\product\11.2.0\dbhome_2\bundle\[パッチの名]\catcpu.sql
SQL>@C:\app\Administrator\product\11.2.0\dbhome_2\RDBMS\ADMIN\utlrp.sql
7 言語の変更
コントロールパネル > 地域と言語のオプションを開く。
「現在の形式」にて「日本語(日本)」を選択。
8 接続確認
C:\>sqlplus /nolog
SQL>conn sys/[パスワード]@[SID名]

もう何台Oracleのパッチ適用したんだろう…14台かな?
あと3台で完了、頑張れさくり!

※ちなみにPatch18(11.2.0.4.18)が出たようで、
これでDBLink系のトラブルも収束している模様。
今更すぎるよ~ヾ(~∇~;) コレコレ

Oracle11g バージョンアップ・パッチ適用 手順メモ①

今日は朝始発にて出社してOracleのバージョンアップに励んできた!

うちの会社はOracle11gを使ってるんだけど、
11.2.0.3のサポート(パッチ提供)期間が2015/08/27までだっていうから、
お盆休み中になんとかしろって話だったんだけど、
Oracleサーバ確認したら11.2.0.1なわけwww

え………(´゚д゚`)ポカーン

ってなりました。
とっくにサポート期間切れてますやん。。。

そんなわけで、3段階踏まなくちゃいけない。
①11.2.0.1   → 11.2.0.1.16 ※11.2.0.4に上げるための最低パッチ
②11.2.0.1.16 → 11.2.0.4
③11.2.0.4   → 11.2.0.4.16

ちなみに11.2.0.4.9~11.2.0.4.17まではDBLink系の爆弾を抱えているので、
関連するOracleサーバのバージョンを合わせなければエラーが出まくるので要注意w

うちの会社は11.2.0.4.13と11.2.0.4.16のサーバ間で
1日あたり1GBものログ(trcファイル)を吐きまくられて
恐怖に打ち震えました((((;´゚Д゚)))ガクガクブルブル

11.2.0.4.18でバグfixするとOracleサポートから連絡あったけど、
毎日ログファイル消す仕事つらぽよなので、11.2.0.4.16で全台合わせることに。



バージョンアップの手順 ※11.2.0.X→11.2.0.4

事前作業
Cドラ直下にtmpフォルダを作成し、その中にパッチを解凍しておく。
※7分割されてる圧縮ファイル

当日作業(60分弱)

1 INVALIDオブジェクト確認
C:\>sqlplus /nolog
SQL>spool c:\temp\upgrade_info1.txt
SQL>conn sys/[パスワード] as sysdba
SQL>SELECT distinct object_name FROM dba_invalid_objects;
2 バージョン確認
SQL>select * from v$version;
SQL>spool off
3 11.2.0.4インストール
C:\TEMP\database\setup.exeを管理者として実行
1. セキュリティアップデートの構成(ステップ1/11)
2. softwareUpdataのダウンロード(ステップ2/11)
3. インストールオプションの選択(ステップ3/11)
  データベースソフトウェアのみインストールするを指定
4. Gridインストールオプション(ステップ4/11)
 単一インスタンスデータベースのインストールを指定
5. 製品言語の選択(ステップ5/11)
6. データベースエディションの選択(ステップ6/11)
7. インストール場所の指定(ステップ7/11)
  オラクルベースが、C:\app\Administratorになっている事を確認。
  ソフトウェアの場所に、C:\app\Administrator\product\11.2.0\dbhome_2 を入力。
8. 前提条件チェックの実行(ステップ8/11)
9. サマリー(ステップ9/11)
10.製品のインストール(ステップ10/11)
11.完了(ステップ11/11)
4 アップグレード前情報ツール実行
C:\>SET ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1
C:\>SET ORACLE_SID=[SID名を設定]
C:\>SET Path=C:\app\Administrator\product\11.2.0\dbhome_1\BIN;%PATH%
C:\>cd C:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN
C:\>sqlplus /nolog
SQL>spool c:\temp\upgrade_info2.txt
SQL>conn sys/[パスワード] as sysdba
SQL>@utlu112i.sql
SQL>spool off
5 データベースのアップグレード
C:\app\Administrator\product\11.2.0\dbhome_2\BIN\dbuaを実行する。
1.ようこその画面表示
2.データベースの選択
 [SIDを指定する]
 警告画面が表示されるので、はいを選択する。
3.アップグレードオプション(ステップ1/3)
 アップグレード終了時に無効なオブジェクトを再コンパイルを選択する。
4.リカバリー及び診断の場所(ステップ2/3)
5.サマリー(ステップ3/3)
6.完了
6 確認
C:\>SET ORACLE_HOME=C:\app\Administrator\product\11.2.0\dbhome_2
C:\>SET ORACLE_SID=[SID名設定]
C:\>SET Path=C:\app\Administrator\product\11.2.0\dbhome_2\BIN;%PATH%
C:\>cd C:\app\Administrator\product\11.2.0\dbhome_2\RDBMS\ADMIN
C:\>sqlplus /nolog
SQL>spool c:\temp\upgrade_info3.txt
SQL>conn sys/[パスワード] as sysdba
SQL>@utlu112s.sql
SQL>spool off
SQL>@catuppst.sql
SQL>@utlrp.sql
SQL>SELECT count(*) FROM dba_invalid_objects;
SQL>SELECT distinct object_name FROM dba_invalid_objects;
7 リスナー再構成
1.全てのプログラムからdbhome_1側のNetCAを立ち上げて、リスナーを削除する。
2.全てのプログラムからdbhome_2側のNetCAを立ち上げて、リスナーを追加する。
3.C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\Adminのtnsnames.oraを
 C:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\Adminにコピペする。
8 接続確認
1.下記で接続できることを確認する。
 conn sys/[パスワード]@[SID名]
2.アラートログでおかしなエラーが出てないことを確認する。
3.リスナーログでおかしなエラーが出てないことを確認する。

7番目の手順のところだけど、リスナーはdbhome_1が上がっている状態。dbhome_2側でリスナーって出来もしてなかった。なんでだろう。

あと、こわいからdbhome_1側は削除しない感じでそのままいきます。
たぶん5GBくらいだし、そのままにしててもいっかなって。

Rubyで年齢を計算する

パヤーーーーン!!!
今日はめっちゃいいことがあった!!
まだ確実ではないけれど、むふふふふふ♪

新宿のWorld Loungeでまったりプログラミング。
でも全然身に入らないので、今日は適当に。

下記のサイトにある課題をやってみた!
プログラミング入門 - Rubyを使って -, by Chris Pine, 日本語ver. by S. Nishiyama


あなたが生まれてから今日まで何秒たっているでしょうか?
生まれてから○○秒たっているとしたら、私は今何歳でしょうか?

# coding: windows-31j

puts "生まれてから何秒経っているか計算します。"
puts "生まれた年を西暦で入力してください。"
year = gets.chomp
puts "生まれた月を入力してください。"
month = gets.chomp
puts "生まれた日を入力してください。"
day = gets.chomp
birthday = Time.new(year, month, day)
now = Time.now
puts "生まれてから" + (now - birthday).to_i.to_s + "秒たってます。"

puts "秒数から年齢を割り出します!"
puts "適当に秒数を入力してください。"
minute = gets.chomp
puts (minute.to_f / 60 / 60 / 24 / 365).to_i.to_s + "歳です。"

明日は会社でOracleのバージョンアップを朝からやってくるよー!
早寝しなくちゃ。

Rubyでツンデレじゃんけん 条件分岐・対話

外が暑くて暑くて……
家を出たものの、すぐにカフェに避難してプログラミングなうです。


今日は条件分岐と対話を勉強したので、
ツンデレじゃんけんをrubyで作ってみました。

# coding: windows-31j

puts "ツンデレじゃんけん!!!"
sleep 1

#相手側のジャンケン入力
puts "\nちょっと!何を出すつもりなの!?"
puts "1.グー 2.チョキ 3.パー"
input_value = gets

#こちら側ジャンケン処理(ランダム)
me = rand(3) + 1
case me
when 1
    puts "\nあたしはグーよ!あなたをすぐに殴れるようにね♪"
when 2
    puts "\nあら、それでいいの?わたしはチョキよ☆"
when 3
    puts "\nあたしは平手打ちのパーよ!!"
end

#判定
you = input_value.to_i
case you
when 1
    puts "\nグーを出したの?緊張してるのね!"
    case me
    #グー
    when 1
        puts "悔しいけど、あいこよ。なーんてわざとだけどね。"
    #チョキ
    when 2
        puts "あたしの負けだなんて認めないんだからね!"
    #パー
  when 3
        puts "ふふ、残念でしたぁ(´▽`)ノ"
   end
when 2
    puts "\nやだ、あなたまさかチョキを出したの?"
    case me
    #グー
    when 1
        puts "あたしの勝ちに決まってるでしょ(`・ω・´)ノ"
    #チョキ
    when 2
        puts "やん、ちょっと気が合っちゃったわね。"
    #パー
  when 3
        puts "もう一回!もう一回勝負よ!!"
   end
when 3
    puts "\nくるくるパーだけに、パーかぁ。策がないわね。"
    case me
    #グー
    when 1
        puts "バッカみたい!何喜んでるの?わざと負けてあげたのよ!"
    #チョキ
    when 2
        puts "あなたが出すものなんてお見通しよ!(。・ω´・。)"
    #パー
  when 3
        puts "パーを選ぶと思ったんだ、あたしって優しいでしょ?"
   end
#どの条件も満たさなかったとき(未入力など)
else
  puts "\n何も出さなかったの?\nばかね、そんなんだから負けるのよ。"
end

参考にしたのはこちらのサイトです。
Rubyist Magazine - Ruby ではじめるプログラミング 【第 1 回】
わかりやすくて勉強になります!!