ふと、ITスクールの情報を調べてみました。


何件か調べてみたところ、オラクルマスターSilver(SQL入門、ORACLE入門、DBAⅠ)

取得の為に、20万円前後の授業料がかかるんですね。


多くは、働きながら通う人達なのでしょうが、就職する為の武器として通う人もいるでしょう。


うちの会社に来れば、研修とOJTの期間で取れるのに・・・と、ふと感じましたね。

授業料はもちろん、試験代も会社負担だし、給料も出ますしね。


と考えつつ、私が教育ビジネスを展開していくのも良いのかなとも思いました。


まずは、私のグループをもう少し大きくしないと行動するのが難しいのですが・・・。

先日の話の中に出てきた新人君が、本日SQL入門に合格しました!

こちらの話です。↓

http://ameblo.jp/dba/entry-10003284491.html


結果は、16点(合格ライン20問中14点)


うーん。


あと1点に泣いてから約半月・・・

準備期間としては十分長い期間があったので、

もう少しとって欲しかったのですが、まあ、良いでしょう。


気分すっきり、ORACLE入門、そしてDBA編へ挑戦してもらいます。


さあ、そろそろ、実作業を少しずつ振っていけるかな。

勉強だけの時間はもう終わりだよー。


今日から夏休みです。


今回は、11連休♪

小旅行と、その他ちょっとした用事がいくつかある程度ですが、

ゆっくりとリフレッシュしたいと思います。


という事でblogも少しお休みしますzzz

このタイトルから、またサッカーの話??と思われそうですが、

今回は違います。


でもちょっとだけ書こうかな・・・

昨日の中国戦はニュースと新聞で見ただけなのですが、

田中達と今野が良かったように思いました。

以前から好きな選手だったので、是非代表に残って欲しいです。

結果は残念でしたが、総入れ替えであれだけできれば良かったのではとも思います。


では、本題。

7月に入社した新人を教育中なのですが、オラクルマスターの最初の関門

SQL入門がなかなか難解のようです。


13点(合格ライン20問中14点)という、一番悔しいパターンです。

数ヶ月前に入社した社員も、最初の試験では13点で不合格でした。


あと1歩が・・・

日本代表の永遠の課題である決定力不足のようです。


問題集も結構理解して解けているし、足りないのは何なのだろうか・・・。

う~ん。。。


新人の理解度合いを測る為の方法を、本格的に考え直さなくてはいけないな。


これまでは、会話をする中で、なんとなく 「もう受験しても受かるだろう」

という判断をしていましたが、もっと具体的な判断ができる方法を考えなくては。


この経験を活かして、次回からは絶対に落ちないように、

そして、次に入社してくる新人は、1発で合格できるように、

私が成長しなくてはいけない。


今の私は2流のゲームメーカーなのだと思う。

いや3流?オレ竜???(なんじゃそりゃ)

新人FWに良いパスを供給できていないから、決定力不足なのだろう。


新人に決定力がないのは当たり前。

ならば、最高のパスを送り続けられるように頑張ろう!


うちの新人が早く成長して、昨日の田中達のような輝きを見せてくれる日を願って。



昨日(8/1)インストールが完了し、本日はRAC環境のDBを4つ作成し、

ひとまずは開発機の環境構築が終了。


経験上、構築作業って、結構予期せぬトラブルが起きる事が多いのですが、

今回は、大きな問題もなく、順調でした。


まあ、過去に同じ構成(OSとOracleのバージョンが同一)のRAC環境を

構築した事があったので、順調に進む事が当然と思っていましたが。


今日も新人にレクチャーしながら作業を進めていきました。

もう少し、想定外の出来事がたくさん起こった方が、新人教育には良かったのに

と思いつつ、順調に終わって早く帰宅できた事が素直に嬉しかったりしてます。


ちなみに、新人は、半分以上の内容は理解できていないだろうと思います。

それは仕方ないです。


数ヵ月後に、

「ああ、あの時にやってた作業はこういう事だったんだ」

と思えれば良いと思っています。


とりあえず、今回の予定作業は終了したので、地方遠征(?)はしばらくありません。

起床時間がいつも通りになるので少し楽になります。

おやすみなさい zzz


昨日書いたとおり、今日(8/1)は、データセンターで

Oracleのインストール作業を行いました。


本日の成果は、

1.インストール4台完了 (HP-UX 11i v2 Itanium)

2.シングルインスタンスDB2つ作成


特に問題もなく終了しました。


今日は、新人を連れていったので、

「これがサーバで、これが共有ディスクで、こいつがLTOで・・・」

などなど、データセンタの中で、普段は見れないようなものを

教えました。


また、新人は、初めて構築の作業を見るので、

私の説明に対し 「???」 となっているのが、手に取るように

分かりました。


まあ、当然ですね (^^;;

仕方ありません。


今日は、データセンタの雰囲気と、作業の流れを少しでも

学べたと思うので、新人は良い経験ができたと思います。


明日は、数百GBのRACデータベースを2つ作成しなくてはいけません。

恐らく変なエラーはでないと思うので、とにかく待ち時間が長ーい

一日になりそうです。


なので、ゆっくりと新人を鍛えようと思います。

覚悟っ!ふふふ・・・


マシン室って、常時同じ温度になっているので(20℃くらいかな?)、

しばらくすると身体の芯から冷えてしまいます。。。


クールビズですが、ここでは上着は必需品ですね。

久々の書き込みです。

7月中旬から、新人の教育と、構築直前の設計等で

やや忙しい日々を送っており、blogをサボり気味でした・・・。


明日からはデータセンターでの構築作業です。

今回の作業は、Oracleのインストール2台と

6つのDBを作成してきます。

その他、DB作成に関わる、OSの設定などなど。


データセンターに行く機会は、そんなに頻繁にはないので、

新人には良い経験になる筈。


しっかり吸収してくれよ~!


明日は朝早いので、もう寝なきゃzzz

データセンターって都下にあるから遠いんですよね・・・。


本日より、私のグループの後輩になる新入社員が入社しました。


とりあえず入社前の予備知識として、OTNの特集である、

「新社会人応援特集」というのを読んでもらっていました。


こちら↓

http://otn.oracle.co.jp/newcomer/index.html


この特集、前半部分は問題ないと思うのですが、後半の記憶領域やら、
アーキテクチャ、データベースファイルなんて、新人が理解できるような
レベルではないような気がします (^^;;q


本日は、この特集のおさらいと、「DBAとは」という事について、

軽く話をしました。


おさらいの説明の為に、初日なのに、実機でリカバリ体験などを

してしまいました・・・。

難しいのは承知の上でしたが、イメージだけでもと思って・・・つい・・・。


まあ、全体のイメージを知る事は大事なので、良いでしょう。

(と自分に言い聞かせる)


明日からは、基本に戻って、オラクルマスターの資格取得に向けて、

SQL入門から研修を始めていきます。


後輩が入ってくると、自分も新鮮な気持ちになり、良い効果が生まれる。

お互いにスキルアップして行こう!


がんばるぞー!


DBAという仕事は、サッカーのポジションに例えると
どのポジションが適切なのだろうか?
ふと、そんな事を考えてみたくなりました。


何故こんな事を書く???


『サッカーが好きだから』
『なんとなく面白い話になりそう。と自分に期待して・・・』
『DBAの仕事を振り返る』


こんなところでしょうか。


とりあえず、思いついたので、書いてみる事にします。


ぱっと思いつきだけで考えると、


「データを守る」
とか
「単純なミスで簡単にデータが破壊されてしまう」


という事が頭に浮かびました。


となると、ゴールキーパーが近いのかな。

いやいや、そんな簡単な事ではないだろう。

一つ一つ、DBAの仕事を整理していって、
最終的にどのポジションになるか考えてみよう。


とりあえず、今日のところは、この辺にしておきます。


現時点での予想は・・・「センターバック」かなあ。

なんとなく。


イギータ (懐かしい・・・)のような、攻撃的ゴールキーパーというのは?
いやいや、これはさすがにリスクが大きすぎるから違うな(^^;;q


さて、最終的な私の結論はいかに!


> Q.テスト用の環境で、ユーザA、Bが存在し、これらはテストの

> 種別によって使い分けています。
> また、それぞれのユーザは、同じ定義のテーブルを所有してますが、
> テーブルの名称のみ異なっています。
> ユーザAのテーブルにはデータが入っており、

> ユーザBのテーブルは空です。
> ユーザAのデータを、ユーザBのテーブルに入れる方法を教えて下さい。


まず、この質問を貰った時に、
「スキーマが別なんだから、テーブルは同じ名称で良いじゃん」

と思いました。

だって、同じアプリを使用しているのだから、アプリの修正が大変でしょう。
スキーマが違うだけだったら、接続の箇所だけの変更で良いのに・・・


当初の設計方針の問題なのか、色々と理由があるようでしたが、
ここでは割愛しておきます。


さて、質問の実現方法ですが、2つの方法が思い浮かびました。



1.insert ・・・ select 文 の使用


DBA権限を持つユーザ(両方のテーブルの操作が可能なので)
で以下の文を実行。

もし、DBA権限を持つユーザで接続できないのであれば、
一時的にオブジェクト権限を付与する事。


SQL> insert into B.テーブル名 select * from A.テーブル名;
SQL> commit;


大量のデータの場合、以下のようにAPPENDヒントを使った方が
速いかもしれません。


SQL> insert /*+ APPEND */ into B.テーブル名 select * from A.テーブル名;
SQL> commit;


時間測定の一番簡単な方法は、以下のコマンドで出来る。


SQL> set timing on



2.exp/impの方法


既に、別名で同定義の表が存在しているので、
1の方法で良いと思いますが、もう一つ方法を載せておきます。

流れは以下の通り


(1)Aのテーブルをexpし、Bにimp(fromuser、touserを使用)

$ exp user/pass ・・・
$ imp user/pass fromuser=A touser=B ・・・


(2)BにimpしたオブジェクトをRENAMEする。


SQL> alter table 旧テーブル名 rename to 新テーブル名;

ちなみにインデックスの名称も必要であれば変更できます。

SQL> alter index 現インデックス名 rename to 新インデックス名;

※最初に書いたように、別スキーマで同名テーブルであれば、
当然、RENAMEは不要。