カテゴリ: oracle

相変わらず読む気がしないが、
www.youtube.com
を見たので今日はよしとしよう。
しかし何とか通らないと気になって家でゆっくりできんからな…。コミ1もティアも出られん。
それにしてもこう、スライドで読み聞かせてもらうのは本を読むよりだいぶ楽だな。

オラクルマスター教科書 Silver Oracle Database 12c
株式会社 システム・テクノロジー・アイ 林 優子 代田 佳子
翔泳社
売り上げランキング: 146,886
オラクルマスター教科書 Silver Oracle Database 12c

このエントリーをはてなブックマークに追加 mixiチェック

www.youtube.com
を見たら、去年の夏から出題範囲が大分減ったっぽい。
分厚いオラクルマスター教科書 Silver Oracle Database 12cも1/4位はごっそり不要となった。つまり、本日上記の映像を見ただけで既に1/4終えたも同じという事だ。
やっぱシングルインスタンスでASM使ってrestart構成なんて不要だったんや。いや、やってるの1社しか聞いたことないし。

オラクルマスター教科書 Silver Oracle Database 12c
株式会社 システム・テクノロジー・アイ 林 優子 代田 佳子
翔泳社
売り上げランキング: 146,886
オラクルマスター教科書 Silver Oracle Database 12c

このエントリーをはてなブックマークに追加 mixiチェック

いやー今日は大変寒いので、昨日積読から出した本でも読むかー
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
株式会社 システム・テクノロジー・アイ 林 優子 代田 佳子
翔泳社
売り上げランキング: 208,046

このエントリーをはてなブックマークに追加 mixiチェック

また年度末が近づいてきたので以前買って積読のこれを取り出してパラパラめくるも眠くなる。
本を開くと眠くなるとかのび太位かと思っていたがあれは実在する現象だったのだ。
立場上あれだがOracle Databaseに微塵も興味がわかない…。現在の最高水準の先進テクノロジーの結晶であるのだが…。多分好きな人はオプティマイザとかリソースマネージャの仕組みを興味深く読むのだろうが…。
ちなみにどれくらい眠くなるかというと、8年前に似た参考書を買ったものの、読み終える前にOracle Databaseが11から12になってしまった位眠くなる。
nekora.hatenablog.com
つか趣味のプログラミングでもDBが嫌でSQLite3が入ると一気に作業が重くなる。多分DBとかスキーマとかテーブルとかの事前準備が嫌なのだろう。
ちなみにこの本はあまりの分厚さに1冊で売られているが3冊に分解できる仕組みになっている。

オラクルマスター教科書 Silver Oracle Database 12c
株式会社 システム・テクノロジー・アイ 林 優子 代田 佳子
翔泳社
売り上げランキング: 146,886
オラクルマスター教科書 Silver Oracle Database 12c

このエントリーをはてなブックマークに追加 mixiチェック

ORACLE9iビギナーズガイド
ORACLE9iビギナーズガイドMichael Abbey Ian Abramson Michael Corey

翔泳社 2003-02
売り上げランキング : 214141


Amazonで詳しく見る
by G-Tools
何か来週からOracleの仕事っぽい*1ので大昔買ったはいいが積んでいたのをいよいよ読まねばなるまい。今週中に。ぬぅ。家では勉強とか仕事はしない主義、いや主義って程でもなく単にナチュラルに怠け者なんだが、まぁたまにはこういう事もある。
積んでる間に9iも10g,11gになってしまった。チャプターは全部で16。1と2はOracle社の歴史とかロードマップとか今となってはどーでもいい話なので飛ばすとして、14を6日だと1日2チャプターか…こりゃ大変だ。ていうか無理臭い。1日1チャプターでも大変。
しかし正直DBはあんまり興味無いんだがなー。Javaともお別れかのー。まぁJavaスパコンからケータイまでどこでも動くメジャー言語だからまた何時か役立つ時もあるだろう。
じゃあ何が興味あるのか?と言うと…何だろ?家でゴロゴロとか?

*1:煙草部屋での会話からの推測故はっきりしない

このエントリーをはてなブックマークに追加 mixiチェック

といった次第でやっとこ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行が選択されました。
このエントリーをはてなブックマークに追加 mixiチェック

であって、セッションIDではない。上の管理コンソールで表示されるのはセッションIDで全く別もの。
詳しくは

データベース名のいろいろ †
ORACLE_SID、システム識別子、SID、インスタンス名、グローバルデータベース名、ネットサービス名、TNS サービス名、接続識別子、Oracle のデータベースをあらわす言葉は非常に多い、混乱するほどに多い、それを整理しておく。

http://biz.rivus.jp/config/oracle_sid-db_name-global_name.html

先ほどの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) ← ここがサービス名
)
)

何か色々あるな>「データベース名」

このエントリーをはてなブックマークに追加 mixiチェック

して試してみた。9.2は重いからな。ドライバはBEAのJDBCオラクルtype4ドライバ。type2は環境変数指定したり色々面倒だし。つかすげー下らない事にWebLogic使ってるような…。つかWebLogicOracleってどこのオープン系エンタープライズシステムだか。後は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 テーブル名"」となる。

このエントリーをはてなブックマークに追加 mixiチェック

ところで私が使う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」な気がする。野生の勘だけど。

このエントリーをはてなブックマークに追加 mixiチェック

作成時に何もしていしないとsystemが割り当てられる。
sqlplusで
alter user ユーザ名 default tablespace 表領域名(普通USERS);
表領域の一覧は、oracle 10gなら
http://ホスト名:8080/apex/
にアクセスして管理→記憶域→表領域で表示される
SYSAUX
SYSTEM
UNDO
USERS
が最初にある。表領域と表は別。

このエントリーをはてなブックマークに追加 mixiチェック

↑このページのトップヘ