相変わらず読む気がしないが、
www.youtube.com
を見たので今日はよしとしよう。
しかし何とか通らないと気になって家でゆっくりできんからな…。コミ1もティアも出られん。
それにしてもこう、スライドで読み聞かせてもらうのは本を読むよりだいぶ楽だな。
カテゴリ: oracle
Oracle Master Silver 12cの範囲がぐっと狭まっていた
www.youtube.com
を見たら、去年の夏から出題範囲が大分減ったっぽい。
分厚いオラクルマスター教科書 Silver Oracle Database 12cも1/4位はごっそり不要となった。つまり、本日上記の映像を見ただけで既に1/4終えたも同じという事だ。
やっぱシングルインスタンスでASM使ってrestart構成なんて不要だったんや。いや、やってるの1社しか聞いたことないし。
家でダラダラ
いやー今日は大変寒いので、昨日積読から出した本でも読むかー
nekora.hatenablog.com
と思ったが、全然読まず。
これはいかん。とにかく読む気がしない。
だがこれを倒さないと来年度も休日が台無しだ。本がダメならビデオ教材とかの手を使うか…。
たしかOracleのがあった気が…。あった。
www.youtube.com
んーむ、これ、たまに外苑前の13Fでやってる無料セミナーの奴じゃん…。これだけで受かる気がしないが、本を手に取る前のウォームアップ的にはなるのかもしれない…。
あと一応この64GBなパソコンなのでVirtual boxにOracle Linux入れて12cR2は入れた。パッチは全然当ててないというか、契約しないとMOSからDLできないしな。まぁSilverの試験にそこまで要らんだろう…。
動画、最初の方だけちょっと見たけど、スタンドアロンでASM使ったリスタート構成とかやってるが、そんな構成やってるのはこれまで1回した見たことが無い…。12cだとスタンドアロンでASM推奨なのかしら。
オラクルマスター教科書 Silver Oracle Database 12c
また年度末が近づいてきたので以前買って積読のこれを取り出してパラパラめくるも眠くなる。
本を開くと眠くなるとかのび太位かと思っていたがあれは実在する現象だったのだ。
立場上あれだがOracle Databaseに微塵も興味がわかない…。現在の最高水準の先進テクノロジーの結晶であるのだが…。多分好きな人はオプティマイザとかリソースマネージャの仕組みを興味深く読むのだろうが…。
ちなみにどれくらい眠くなるかというと、8年前に似た参考書を買ったものの、読み終える前にOracle Databaseが11から12になってしまった位眠くなる。
nekora.hatenablog.com
つか趣味のプログラミングでもDBが嫌でSQLite3が入ると一気に作業が重くなる。多分DBとかスキーマとかテーブルとかの事前準備が嫌なのだろう。
ちなみにこの本はあまりの分厚さに1冊で売られているが3冊に分解できる仕組みになっている。
ORACLE9iビギナーズガイド
ORACLE9iビギナーズガイド | |
![]() | Michael Abbey Ian Abramson Michael Corey 翔泳社 2003-02 売り上げランキング : 214141 Amazonで詳しく見る by G-Tools |
積んでる間に9iも10g,11gになってしまった。チャプターは全部で16。1と2はOracle社の歴史とかロードマップとか今となってはどーでもいい話なので飛ばすとして、14を6日だと1日2チャプターか…こりゃ大変だ。ていうか無理臭い。1日1チャプターでも大変。
しかし正直DBはあんまり興味無いんだがなー。Javaともお別れかのー。まぁJavaはスパコンからケータイまでどこでも動くメジャー言語だからまた何時か役立つ時もあるだろう。
じゃあ何が興味あるのか?と言うと…何だろ?家でゴロゴロとか?
*1:煙草部屋での会話からの推測故はっきりしない
Oracleアクセスなサーブレット
といった次第でやっとこOracleにアクセスするショボいサーブレットできた。
ショボい、ショボいが、一度最初から最後まで一通りをエディタでやって体験しておくのがポイントで嘗て事前にこれをやっていたお陰で何度もピンチを切り抜けた事があるのだ。今回のSIDの件もPointBaseやMySQLを使っていては判らなかった筈。
というか実はこの度超小煩い客に製品が売れたんだけどOracleと一緒に使うらしいんでこっちでも似た構成(OSパッチとか)の環境を予め作っておくと何か怪現象が起きた時に調査が捗り私の帰宅が早まる可能性があるので暇な時に仕込みをしておくのさ。WebLogicはまーついで。WebLogicとの組み合わせはよくあるから。
WebLogicからの利用を纏めると、サーブレットがDBアクセスする手段には3通りある。
1.JDBCドライバを直接利用してアクセス
2.接続プールを通じてアクセス
3.データソースを通じてアクセス
1はAPサーバを使う場合には論外。
2と3の差が不明だけど(データソースは接続プールに紐付けされてるので結局2と同じ事)J2EE準拠するには3でないといかん。Tomcatだと結構手間だけどWebLogicだと割と簡単。さすが200万円。
サンプルテーブル
SQL> select * from emp; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7369 SMITH CLERK 7902 80-12-17 800 20 7499 ALLEN SALESMAN 7698 81-02-20 1600 300 30 7521 WARD SALESMAN 7698 81-02-22 1250 500 30 7566 JONES MANAGER 7839 81-04-02 2975 20 7654 MARTIN SALESMAN 7698 81-09-28 1250 1400 30 7698 BLAKE MANAGER 7839 81-05-01 2850 30 7782 CLARK MANAGER 7839 81-06-09 2450 10 7788 SCOTT ANALYST 7566 81-06-09 3000 20 7839 KING PRESIDENT 81-11-17 5000 10 7844 TURNER SALESMAN 7698 81-09-08 1500 0 30 7876 ADAMS CLERK 7788 81-06-09 1100 20 7900 JAMES CLERK 7698 81-12-03 950 30 7902 FORD ANALYST 7566 81-12-03 3000 20 7934 MILLER CLERK 7782 82-01-23 1300 10 14行が選択されました。
ORACLE_SIDのSIDは「インスタンス識別子、システム識別子、SID(System IDentifer)」
であって、セッションIDではない。上の管理コンソールで表示されるのはセッションIDで全く別もの。
詳しくは
データベース名のいろいろ †
http://biz.rivus.jp/config/oracle_sid-db_name-global_name.html
ORACLE_SID、システム識別子、SID、インスタンス名、グローバルデータベース名、ネットサービス名、TNS サービス名、接続識別子、Oracle のデータベースをあらわす言葉は非常に多い、混乱するほどに多い、それを整理しておく。
先ほどのtnsname.oraの話はちょっと違ったみたい。
ネットサービス名 NET SERVICE NAME、TNS サービス名、接続識別子 †
tnsnames.ora / listener.ora
SERVICE_NAME に繋ぐための Net Service(旧 Net8、SQL*Net ) 上での名前tnsname.ora の例
net_service_name = ← ここに書かれている名前がネットサービス名
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {host_name|IP address} )(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = service_name) ← ここがサービス名
)
)
何か色々あるな>「データベース名」
WebLogic 8.1でOracle接続プール作成
して試してみた。9.2は重いからな。ドライバはBEAのJDBCオラクルtype4ドライバ。type2は環境変数指定したり色々面倒だし。つかすげー下らない事にWebLogic使ってるような…。つかWebLogicにOracleってどこのオープン系エンタープライズシステムだか。後はSAP位?余談だがWebLogicに添付されてる他社製JDBCドライバは本当に「添付されているだけ」で本体程真面目にテストや動作保障されてる訳では無いので注意だ。特にOracleは結構横暴でJDBC2.0規格を微妙に満たしてなかったりしてても俺が正義だみたいな。
データベース名:XE
ホスト名:localhost
ポート番号:1521
にしたら一応接続成功。やっぱXEだったか。データベース名を調べるにはtnsnames.oraを見るということで良いのだろうか。一つ利口になった。
→ちと違う。本日の日記の下を見る。
でも自動生成されたドライバへのパラメータに
sid=XE
servername=localhost
user=秘密
portnumber=1521
と出来てる。先ほどのoracle側の監視画面ではSID:29が追加されてる。クライアントモジュールが「JDBC Connect Client」と表示されてるのでこれが上記のWebLogicからの接続だろうな。
テストタブから接続テストをするにはコンフィグレーション→接続→詳細で
テスト テーブル名:dba_users
が必要。テーブル名は別でもOK.テストSQLは「"select count(*) from テーブル名"」となる。
Oracle SID
ところで私が使うDBのSID(環境変数ORACLE_SIDに指定すべき値)を知りたいんだがどうすれば…。管理者に聞くって私のPCの管理者は私だし…。昨日のtnsnames.oraを見ると
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 秘密)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
だ。良く見ると
(前略)
(SID = PLSExtProc)
(中略)
(SID = CLRExtProc)
(後略)
とある。これ?でもプロトコルがIPCとか書いてあるし。Oracleは昨日始めた素人だが野生の勘が「何か違う」と言っている…。IPCってセマフォとか共有メモリとかのアレじゃね…?寧ろ上のXEが気になる。でもそこにはSIDが書いてない…。
→やっぱり管理コンソールから見られるみたい(これは間違い。セッションID)
私の場合は「27」だった。なんだ27って。会社のはもうちょっと意味のある英単語なんだが。どこで指定するんだろう。私はOracle Express Edisionをインストールしただけで何も関連操作はしてない。何か32とか出てきた。動的に変わるの?まぁ名前がSession IDだからそんな感じなんだけど、しかしいつもは「DBの名前」っぽい使い方してたからなー謎だ。
→私が必要としているのはSIDじゃなくて「データベース名」だった。
それは多分何となく「XE」な気がする。野生の勘だけど。