Rubyでソートを考える①バブルソート
今日異動の内示が出た。
異動といっても部内異動でアプリ→インフラで、
そもそも私はずっとインフラで、去年アプリのリリースが間に合わないって
アプリのお手伝いに来ていただけだから、いつかは戻るかなって思ってたけど。
アプリチームの課長が好きなのと、仕事しないでまったりしていられるから
今のチーム好きなんだけどな(´・ω・`)
ま、インフラチームの方が仕事は面白いんだけどね♪
さて、Rubyで何を書こうかなって思ってたんだけど、
ふとアルゴリズムの本が目に入って、ソートにたくさん種類があることを知りました。
私はOracle使いなので、データを取得するときにORDER BYしちゃうので、
ソートとか正直あんまり気にしたことがなかった。
Rubyでももちろんソートコマンドはある。
これで簡単にソートができる。
# coding: windows-31j #------------------------------ #ソートコマンドを使ってみる #2015/08/21 #------------------------------ words = [] puts "英単語をabc順に並び替えるよ!!" puts "英単語を何個でも入力してください。" puts "最後はEnterだけの空行にしてください" while word = gets.chomp break if word.empty? words << word end puts "並び替えが完了しました!" puts words.sort
じゃソートコマンドを使わずにソートさせたい!!
まず手始めに「バブルソート」なるものを。
処理は遅めだけど、理解しやすいソート。
バカソートなんて言われちゃったりもする。
バブルソートとは(処理方法)
隣り合う2つのデータを比較し、前の要素の方が大きければ交換。
データ列の後方から前方へ向かって全てのデータについて実施していくと、最も小さいデータが先頭に来る。
2回目のソートでは、ソート対象は2番目以降のデータに。
このソートで、2番目のデータの位置が確定。
これを繰り返すことで、ソートが完成。
繰り返しが多いので、処理が遅くなるということみたい。
では早速バブルソートを書いてみる。
# coding: windows-31j #------------------------------ #バブルソートをしてみる #2015/08/21 #------------------------------ puts "英単語をabc順に並び替えるよ!!" puts "英単語を何個でも入力してください。" puts "最後はEnterだけの空行にしてください" words = [] while word = gets.chomp break if word.empty? words << word end repeat = words.length while repeat != 0 num1 = words.length - 1 num2 = num1 - 1 while num1 != 0 if words[num2] > words[num1] words[num2], words[num1] = words[num1], words[num2] end num1 = num1 - 1 num2 = num2 - 1 end repeat = repeat - 1 end puts "並び替えが完了しました!" puts words
プログラム勉強がてら、他のソートもちょっと勉強してみようっと。
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)
NTS …Windows NTのシステム固有の認証を採用します。
ALL …すべての認証方式を採用します。
NONE …認証方式は採用しません。有効なユーザー名とパスワードを使用すると、データベースにアクセスできます。
アプリでちゃんとユーザ/パスワードを指定して接続しているのなら問題ないので、
NONEに設定したところ、問題なく接続できました。
ドメインに参加したからとか、WindowsログオンのORA_DBAグループにWindowsログオンユーザが属している必要があるとか、書いてあるけど、
ドメイン参加なんて何年も前だし、何か違う気がする。
それにしてもOracleサポートは7時間経っても回答ないんだけど、どういうことだい。
Rubyインストール Windows7(32bit) 2015年度版
えへへ、暇も最高潮に達して、
ついに会社のPCにこっそりRubyをインストールしてみたよ。
オブジェクト指向スクリプト言語 Rubyのページにアクセス。
[ダウンロード]をクリック。
Windowsなので下の方にスクロールして、[RubyInstaller]をクリック。
海外のページに飛ぶのでちょっとびくびくしながら[Download]をクリック。
最新のバージョンをクリック。
※64bitの人は(x64)ですよ!
ダウンロードしたexeファイルをダブルクリックで実行。
[実行]をクリック。
もちろん[日本語]をクリック。
当然[同意する]をクリック。
まさか![Program Files]をインストール先に選んではいけないだなんて!!!
やむなくデフォルトで。
※[Rubyの実行ファイルへ環境PATHを設定する]にはチェックを入れた方がいい!
チェックを入れないとコマンドプロンプトで実行できないのです。
まもなく終了。
<おまけ> ※コマンドプロンプトからRubyが使えないという人へ
コマンドプロンプトでバージョン確認のコマンドを打ってみる。
ruby -v |
こんな風にバージョンが表示されていればインストールOK!
※自宅のPCなので64bitですが、32bitでもさほど変わらないよ。
もし、インストールしたのに、こうなっちゃった場合。
これは[Rubyの実行ファイルへ環境PATHを設定する]にはチェックを入れないでインストールしちゃったでしょ!?
そんな人はPATHに自分で追加してください。
手順は下記の通り。
コンピュータの[プロパティ]をクリック。
[システムの詳細設定]をクリック。
[環境変数]をクリック。
[Path]をクリックして、[編集]する。
一番先頭に[c:\Ruby22\bin;]を追加して[OK]ボタンをクリック。
※インストール場所をデフォルトから変更した人は[Rubyのインストール先\bin;]を追加。
これで、コマンドプロンプトからバージョンが表示されるようになるはず!!
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
中身を確認すると、こんな感じ。
先頭の[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のバージョンアップを朝からやってくるよー!
早寝しなくちゃ。