Oracle 総合 Session6at DB
Oracle 総合 Session6 - 暇つぶし2ch400:NAME IS NULL
07/02/23 11:33:21
素直にネット再構築汁!
普通は変な設定しなくても繋がるようにネットを作る。

401:NAME IS NULL
07/02/23 15:00:49
既にスレ違いの話題。

402:NAME IS NULL
07/02/27 07:56:45
ARC0: Media recovery disabled
アラートログにがずっと出続けます。(1分起きくらいに)

パラメータ設定が悪いんでしょうか?


403:NAME IS NULL
07/02/27 11:02:22
Media recovery disabledだからじゃないの?
ググるなり駅前留学すれば?

404:NAME IS NULL
07/02/27 11:30:51
>>402

DBがNo Archivelog Modeなのにinit.oraの中で「log_archive_start = true」が
設定されているからだろ。

405:NAME IS NULL
07/02/27 23:51:54
>>408
はは。バカだ。

406:NAME IS NULL
07/02/28 00:27:00
Cシェル、Oracle10gで
exp ~ query\"where column_name in\( select col from tableB \) \"
みたくqueryパラメータで副照会できないようなんで
exp ~ query\"where column_name in\( $COLUMN_NAMES \) \"
なんて具合に変数を埋め込みたい。
シェル変数が展開されてからexportに渡されるようにする方法ないかな?



407:NAME IS NULL
07/02/28 01:20:11 DcE1xTBj
>>405
408に期待.

408:NAME IS NULL
07/02/28 01:20:25
Cシェル得意じゃないけど、
query="where column_name in( $COLUMN_NAMES ) "

これでいいんじゃない?

余談だけど、公式マニュアルのデータベース・ユーティリティのexpの項目を書いた人も、
いまいちUnixのシェルをわかってないような気がする。
文字列全体を渡すために、特殊な文字を一個一個エスケープしてるし。
見づらいだけでなく、変な間違いを起こしやすい書き方だ。


409:NAME IS NULL
07/02/28 03:24:43
そもそもシェルスクリプトで遣るのが間違いでしょ。
文字列に日本語とか空白や記号使うアフォとか排除できれば、エスケープ無しでも良いけどね。
アフォのクレーム付ける論理は異常。

410:NAME IS NULL
07/03/01 23:24:19
いつの間にかロールバックセグメントやテンポラリ領域が肥大化しています…
どのSQLが犯人か突き止める方法ありますでしょうか?

バージョンは8174eeです。

411:NAME IS NULL
07/03/01 23:27:55
URLリンク(www.oracle.com)
ハイペリオンを買ったそうだ。

412:NAME IS NULL
07/03/01 23:28:25
>>410

STATSPACK取ってみれば?

413:NAME IS NULL
07/03/04 01:54:45
質問ですがひとつのサーバでインスタンスを
10個も20個も起動させるシステムってよくあるものですか?

414:NAME IS NULL
07/03/04 01:56:20
ない。
リソースの使用効率が異常に悪くなる。


415:NAME IS NULL
07/03/04 06:35:00 0GOkC2xg
>>413
本番環境ではまず無い。
テスト環境では複数起動させる場合もあるがさすがに2桁はいかない。

416:NAME IS NULL
07/03/04 09:20:17
>>413
無い。
開発環境でも普通はスキーマ分ける程度だろ。

俺なら1サーバに2つ以上のインスタンス立ち上げるくらいなら、
複数サーバ用意する。


417:NAME IS NULL
07/03/04 09:38:42
>414-416
回答どうもです。
やっぱりシステム的に問題ありですか。

418:NAME IS NULL
07/03/04 10:03:16
>>417
例えば教育ならあり得ると思う。渋谷の研修センターのUNIXでは10数インスタンスを
同時に稼働させている事例もある。
逆に聞くが、お前は なぜそうしたいのか?

419:NAME IS NULL
07/03/04 11:29:03
>418
自分は先週案件を見て、これはシステム
として無理だとおもって変更してもらおうかな・・。
と思ってる。
今まで関わってた業務では基本的には単一のインスタンスで
複数インスタンスはRACのみだったから
他のシステムって普通に複数インスタンスで動かしてるものなのか?
と思って聞いてみた

420:NAME IS NULL
07/03/04 12:04:11
複数のインスタンス使うのはシステム的には問題ないだろうけど、
単に気分とかの問題だろうな。

さすがに2桁はナニか違うだろ、とは思うし、
普通はスキーマ分けるだけで対応できると思うが。

421:NAME IS NULL
07/03/04 13:49:16
個々にDBを起動/停止したいという要求はときどきあるからな。
こういった場合、Oracleではインスタンスを分けるしかない。
インスタンスを分ければ、その分プロセス数も増えてメモリを余計に食うし、SGAの分配とかも気にしなくちゃいけない。
あるインスタンスでSGAが足りなくなっているのに別のインスタンスではSGAが有り余っている、というようなことが常に起きるしね。
この辺は、Oracleに改善して欲しいな。


422:NAME IS NULL
07/03/04 14:04:11
>>420
>スキーマ分けるだけで対応できると思うが。
この辺は皆さんがおっしゃるとおりスキーマなり
カラムに識別子追加なりで対応できると思われます。

>>421
>インスタンスを分ければ、その分プロセス数も増えてメモリを余計に食うし
これがあるのでOracleの最低動作レベルのサーバで
複数インスタンスを持たせようと思ったのが恐ろしい

ここの住人は親切だな。ありがと。
自分の考えが間違ってなさそうなので直接聞くことにするよ

423:NAME IS NULL
07/03/04 15:22:59
VPARやらLPARなんかの仮想化技術を使えば、物理的には一つのサーバー
上でも、仮想サーバー単位にO/SをインストールしてDBを起動させる事例
ならいくらでもある。
最近のハイエンドサーバーなら仮想化技術には間違いなく対応しているし、
一個のサーバーで128個のCPUとかもっているのもあるから、各パーティション
毎に10~12個のCPU割り振って、10個+のパーティション作れば、別に10の
インスタンスを起動したとしも問題はない。
本番環境ではないが、HPのSuperDome上に16個のVPAR作って、RAC化して
遊んだりとかしたよ。
それほどCPUバウンドのシステムでないのなら、そういったサーバーの使い方も
あるというのも覚えておくといいかもね。


424:NAME IS NULL
07/03/04 15:35:23
>>423
しかし、Oracleの場合はSGA_MAXが静的なのと1インスタンス=1DBなんで、いまいち論理分割の恩恵を受けにくい。
物理分割はリソースの動的配分が出来ないし。


425:NAME IS NULL
07/03/04 16:09:56
そういうのはDB2の方が得意ではあるな。

426:NAME IS NULL
07/03/04 17:07:42
ライセンスにも依るだろうね。極端な例だが、ハイエンドサーバーは 1CPUライセンスで
複数インスタンスを動かせるのだろうか?

427:NAME IS NULL
07/03/04 18:11:25
複数はいいよ、確か。


428:NAME IS NULL
07/03/04 18:42:18
>>426

それは大丈夫だよ。

文字コードが違うDBを作りたい場合はスキーマを分けても対応できないので、
仕方なくインスタンスを分けるしかない。

ただ、RAC環境では複数のDBは基本的にお勧めしないとサポートに言われて
とても困ったことがあった。


429:NAME IS NULL
07/03/05 06:59:42
Date型項目の引き算を、秒レベルで実行する方法はないでしょうか。
2007/2/27 10:00:00 - 2007/2/27 09:59:55 = 5
というロジックをつくりたいのです。
やり方をご存知の方、お願いいたします。


430:NAME IS NULL
07/03/05 07:34:23
>>451

論理分割してRAC化という方法もあるよ。
物理的には一つのサーバーだから、サイトレベル障害には耐えらないけど、
ただしくハードウェアパスを分ければ、ハードウェア障害やO/S障害などに
よるフェイルオーバーには十分対応出来る。
昨今では自社内でデータセンターを持っていない所もあるから、業務を委託
していたりする場合には、物理スペースを小さくして維持費を下げたりなんて
細かい所をやっている所もある。
それと複数の開発環境が欲しい場合には、論理分割は非常に便利だよ。

431:NAME IS NULL
07/03/05 08:13:04
>>429
86400倍。

432:NAME IS NULL
07/03/05 08:14:23
>>429
months_betweenで2つの日付間の月数求めてから、
秒数に変換したら良いんじゃね?


433:NAME IS NULL
07/03/09 10:56:32
複数NICで運用する場合でも、
リスナー1つで大丈夫だっけか?

リスナーの負荷分散とか考えたら、
2つ立ち上げた方が良さ気?


434:433
07/03/09 11:11:46
マニュアルに書いてあったな。
スレ汚しスマソ

435:NAME IS NULL
07/03/09 12:08:40 IbiyF+a6
32ビットの場合、Oracle載せたLinuxマシンって最大メモリはどのくらいまで有効に使えますか?
Windows 2003だとせいぜい4GB?


436:NAME IS NULL
07/03/09 22:58:29
2^32=4GB

437:NAME IS NULL
07/03/10 00:13:30
>>435

32bit Linux だと SGA は 1.7GB くらいということらしい。



438:NAME IS NULL
07/03/10 07:52:03
しょぼいな。


439:NAME IS NULL
07/03/10 23:14:07
>>438
2GBのSGAをフルに使ってまだ足りないような規模のDBなら
最初から64bit OS上で64bit版Oracle使うだろwww


440:NAME IS NULL
07/03/14 06:08:59
64ビット買えない貧乏案件って場合も有るだろうな。
32ビットマシンしか用意できないとかさ。

441:NAME IS NULL
07/03/14 10:20:51
つかOracle使う時点で貧乏人案件お断りだと思うが。

442:NAME IS NULL
07/03/14 11:45:14
>>441
同意www
ボラクルだしなwww

443:NAME IS NULL
07/03/14 20:22:37
貧乏人こそ見栄っ張りで、オラクルなのにウィンドウズやリナックスでコストダウンを求められる。
ちゃんとユニックス機買うところはごく一部。

444:NAME IS NULL
07/03/14 23:23:36
UNIXでもOpteron機はいやだったな・・・。
今ではいい思い出だけど

445:NAME IS NULL
07/03/15 00:01:52
別にOSで10万ぐらい違ったところでハードで数百万するんだからいっしょだろ

446:NAME IS NULL
07/03/15 13:09:02
>443
LinuxでもRHELくらいならいいと思うけど。
HP-UXとどっちがマシか?って聞かれると微妙なモノがあるし。

447:NAME IS NULL
07/03/15 13:28:18
>>437
これって、Linuxがしょぼいってことだよな?
Windowsなら3GBくらい使えるんじゃない?


448:NAME IS NULL
07/03/15 13:43:15
あんまWindowsくわしくないけど、変わらんと思う。
WindowsServer 64bitだと知らんが。

449:NAME IS NULL
07/03/15 13:43:23
>>447
シェアードメモリで使える空間が1.7Gで
ユーザーが使えるアドレス空間は2~3Gくらいあるのとちゃうの?
WindowsだとOracleのバックグランドプロセスがスレッドで実装されているから、
全バックグランドプロセス+シェアードメモリが2~3Gに納まっていなけりゃいかんので
メモリのピークはunix系より早く来ると聞いたことがある。

450:NAME IS NULL
07/03/15 14:22:41
まあ、どっちでもいいや。
これから使うことも無いだろうし。


451:NAME IS NULL
07/03/16 13:02:54
まあ、ウィンドウズやリナックス使ってる香具師は負け。

452:NAME IS NULL
07/03/16 13:04:27
なんていってたら、SQLServerに食われるだけだけどね。


453:NAME IS NULL
07/03/16 14:37:27
>>452
SQL Serverは微妙に使いにくいwww


454:NAME IS NULL
07/03/17 01:21:44 b8i9VR5l
>>449
あれ?VLMは考慮しない上でのお話?

455:NAME IS NULL
07/03/17 01:41:00
いまどきLinuxもWindowsもx64がフツーに動くのに、なぜに32bitで使いたいの?

456:NAME IS NULL
07/03/17 10:09:20 b8i9VR5l
>>455
H/Wを総入れ替えできないからだろ?
新規構築なら64ダロ

457:NAME IS NULL
07/03/21 17:46:05 OhTggdhX
OracleクライアントとOracleサーバ間の物理接続と言われているものの数の
確認方法ってどんな方法がありますか?
(v$sessionビューのレコード数でOK?)

Version は、クライアント/サーバ共に 10.1.0.2.0 です

458:NAME IS NULL
07/03/21 18:21:05
物理接続って言ったら、EthernetとかX25とかのことを言うぞ、普通は。


459:NAME IS NULL
07/03/21 21:06:20
すみません。ここの説明で上がっている物理接続の意味で使いました。
この接続の数を確認できる方法が知りたいです。

URLリンク(otndnld.oracle.co.jp)


460:NAME IS NULL
07/03/22 07:53:08
>>459
そのドキュメント中に
int getPoolSize()
ってのがあるだろうが。

461:NAME IS NULL
07/03/23 10:06:59
oracleで100Kb程の文字データを登録して、selectで検索したいのですが、
LONGやCLOBはwhere句に指定できないとエラーが出ます。
LONGやCLOBの項目を、select文で検索することはできないでしょうか?


462:NAME IS NULL
07/03/23 10:15:58
自作関数の結果でインデックスを作りたいのですが、
CREATE INDEX IDX_SEARCH_TARGET ON XXX_TBL( XXX_FUNC(ITEM_1, ITEM_2) ) を実行すると

SQL実行中に以下のエラーが発生しました。
エラーコード:30553 [Oracle][ODBC][Ora]ORA-30553: 関数がDETERMINISTICではありません。

としかられます。
DETERMINISTICで調べたのですが、対応法がよくわかりません。
ご教授お願いします。

463:NAME IS NULL
07/03/23 10:17:36
>>461

URLリンク(asktom.oracle.com)

464:NAME IS NULL
07/03/23 13:10:46
ファンクション索引は、引数だけで戻り値が一意に定まるファンクションでないといけない。
この性質がDETERMINISTIC。
XXX_FUNCの中で別のテーブルデータを取ってきたりするとこの条件にあてはまらない。

DETERMINISTIC句はSQLリファレンスのCREATE FUNCTIONを見る!
あとPL/SQLユーザーズガイドもね。


465:NAME IS NULL
07/03/23 16:21:25
可変長引数の関数って作れますか?

466:NAME IS NULL
07/03/23 16:22:29
>>464
ありがとうございます。
調べてみます。

467:NAME IS NULL
07/03/23 23:02:20
>>465
PL/SQL?

468:NAME IS NULL
07/03/26 13:19:14
>>467
すみません。ストアードファンクションです。
Oracle9iです。

469:NAME IS NULL
07/03/26 21:26:49
>>468
自分が知ってる範囲では見つからないなぁ。
強いて言えば、配列 (PL/SQL表) に値を入れて、それを引数で指定することで
可変長の引数を実現できると思う。
Oracle9i PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス リリース2(9.2)
の「DBMS_DESCRIBE」プロシージャが参考になるかもしれん。
あとはOTN-Jのフォーラムで聞くのも良いと思う。ここより見てる人は多い気がする。

470:NAME IS NULL
07/03/26 23:53:30
デフォルトnullとかオーバーロードじゃダメなの?

471:NAME IS NULL
07/03/28 08:35:07
>>468
Javaストアドで書いたら?

472:NAME IS NULL
07/03/29 13:50:38
tableA
id
itemA

tableB
id
itemB

select A.id, itemA, itemB from tableA A left outer join tableB on A.id = B.id

上記のクエリをXX_VIEWにして

select * from xx_view where itemB is not null
とすると、nullのデータが出てきます。(これは、tableAに紐づかなかったデータ)

XX_VIEWの結果に対し、itemB is not nullが評価されると思ったのですが、違うようです。
この結果は仕様なのでしょうか?

473:NAME IS NULL
07/03/29 20:04:52
NULLを弾いてから外部結合、てことなのか。何か納得いかないが。
select A.id, itemA, itemB from tableA A left outer join tableB on A.id = B.idをインラインビューとしてやると正しく取れる?

474:NAME IS NULL
07/03/30 10:43:01
>>473
結果は変わらないです。
遅れて申し訳ないですが、oracle9iです。

475:NAME IS NULL
07/03/31 15:47:18
10g XEでやってみたけど、ちゃんとNULLの行はじいてくれたよ。

ちなみに、こっちの構文ではどう?
select A.id, itemA, itemB from tableA A, tableB B where A.id = B.id(+)


476:名無しさん@Linuxザウルス
07/04/02 19:25:47
DB:Oracle 10i XE
OS:日本語WindowsXP SP2

SPFILEXE.ORAをいじって
*.NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
*.NLS_TIMESTAMP_FORMAT='YYYY/MM/DD HH24:MI:SS'
て設定して再起動して思った通りに設定されたことを確認しました。
が、シカトこかれてデフォルトの書式はRR-MM-DDのままでした。

いろいろ調べたところ、どうやら
レジストリのNLS_LANGがJAPANESE_JAPAN.JA16SJISTILDEてのが
超巨大なお世話の犯人くさいですが、
こりをどう設定すれば上記の書式がデフォルトになるのでしょうか?
ちなみにシステム環境変数にはNLS_LANGはなかったです


477:名無しさん@Linuxザウルス
07/04/02 19:28:38
そまそ
Oracle 10g XEですた


478:NAME IS NULL
07/04/02 22:56:10
>>477

REGEDIT開いてHKEY_LOCAL_MACHINE=> SOFTWARE => ORACLE => HOME<番号>
新規値でNLS_DATE_FORMATを追加。
値としてYYYY/MM/DD HH24:MI:SS。

479:NAME IS NULL
07/04/03 09:05:56
そんな日本人しか使わないような糞設定しないほうが良いと思うが。
アプリケーション鯖側で任意のフォーマットに変換して使えば?

480:NAME IS NULL
07/04/03 09:44:29
俺もSQLで目的の書式に変換する方がよいと思う。


481:476
07/04/03 19:54:14
ありがとうございますた

>>479-480
ハゲ同なんだが
アプリ担当がどっか行っちゃったんで
いま逆コンパイルしてソース作ってるとこ

Javaでまだよかった、わはは


482:NAME IS NULL
07/04/03 21:49:52
セッションの開始時に、 ALTER SESSION SET NLS_DATE_FORMAT='YYYY…' を
発行する手もあるよ。

483:NAME IS NULL
07/04/04 00:35:01
SQLで変換はDB側に負担がかかるから遣らせたくないな。
まあ用途や規模にもよるだろうけど、DB側とアプリ側のどちらで処理したほうがパフォーマンスでるのだろう。

484:NAME IS NULL
07/04/04 08:40:36
>>483
TO_CHAR関数はそんなに負荷かかるものか?

485:NAME IS NULL
07/04/04 21:58:48
>>483
TO_CHARした結果、結合でインデックスが使われなくなるのであれば別だがSQLのほうが早い。

486:NAME IS NULL
07/04/04 22:15:14
>>483
Javaでアレコレ文字列加工するよりもSQLでやった方がほとんどの場合速い

487:NAME IS NULL
07/04/04 23:03:30
速いかどうかより負荷が重要。
一人でDB使ってるとかじゃないし。

488:NAME IS NULL
07/04/05 00:20:18
アプリで処理してダラダラとコネクションつなぎっぱなしと
SQLで処理してコネクション短時間で終わるのでは、
後者の方がシステムから見たらやさしいはずだが。

一人でDB使ってるとかじゃないし。

489:NAME IS NULL
07/04/05 10:59:30
コネクションは繋ぎっぱのほうが負荷が低い訳だが。
つ keep-alive

490:NAME IS NULL
07/04/05 11:31:16
うむ。
ただつなぎっぱだと、リソースの無駄使いになるから、
セッションマルチプレクスとかコネクションプーリングとかを使用する。


491:NAME IS NULL
07/04/05 16:43:31
ま、まともな神経ならコネクションプール使う罠www

492:NAME IS NULL
07/04/05 18:39:05
>SQLで変換はDB側に負担がかかるから遣らせたくないな。

なんて言うヤツがコネクションプールを知ってるとはとても思えんがw

493:NAME IS NULL
07/04/05 23:47:25
きっとデフォ設定で共有接続なんだろ

494:NAME IS NULL
07/05/02 21:23:53
oracleサーバーがクラッシュでなんとかオラクルのインストールディレクトリを取得できましたが、
そのデータを使用してDBの復元はできないでしょうか?

495:NAME IS NULL
07/05/02 22:10:19
必要なファイルがすべて正常であれば可能。


496:NAME IS NULL
07/05/02 22:29:47
>>494

基本はredolog、control file、datafileが残っていれば可能。
というかDBだったら定期的にバックアップとか取ってるんじゃないのか?

497:NAME IS NULL
07/05/02 22:31:12
>>494
最低限、制御ファイルとREDOログファイル、
pfileないしspfile、データファイルが
まったく無事なら復旧できると思うが。


498:NAME IS NULL
07/05/03 00:11:33
バックアップから復元という選択肢がないのが不思議。

499:NAME IS NULL
07/05/03 02:05:00
つ~か、重要な環境ならarchivelogモードにして定期的に
バックアップとっていると思うけどな。
最悪、バイナリ部分が吹っ飛んだとしても、新たにソフトを
インスコして、バックアップから戻せるべ?

500:NAME IS NULL
07/05/03 10:26:21
>>495-499
みなさんありがとうございます。
バックアップを取っていなかったことは、面目ないっす。
これに懲りて、定期的にバックアップします。
インストールディレクトリから復元する場合、
oracleをインストールした後、インストールディレクトリを入れ替えればよいでしょうか?


501:NAME IS NULL
07/05/03 11:27:27
>>500
とりあえず>>495-499の内容を把握してから
出直してこいwww


502:NAME IS NULL
07/05/04 01:44:44
>>500

つ~か、お前の言っているインストールディレクトリの意味が良く分からん。
まずは鯖の種類は何よ? 窓? Linux? Sun? HP-UX? AIX?

それとOracle関連でどのファイルを救出できたんだ?
バックアップ無しのNon-archivelogモードで復旧できる可能性があるとしたら、
最低限でも一貫性の取れたデータファイルだけは復旧できていないとどうにもならん。
最悪それさえ残っていれば、手間はかかるがコントロールファイルの再作成および
open resetlogsで上げられる。

503:NAME IS NULL
07/05/04 15:57:13
>>502
すみませんでした。
windowsXPです。
インストールディレクトリとは、インストーラで指定したインストールディレクトリで、
C:\oracleです。現在その下にoradata、admin、ora92があり、
ディスククラッシュはしていないので、C:\oracle以下のファイルは無事に残っています。
別のWindowsXPマシンのC:\oracleに新たにオラクルをインストーラーでインストールし、
その後、C:\oracleを丸ごと前のものと入れ替えてoracleを起動すれば復旧できるのかと思いまして・・・
今別のマシンがないため、試すことができない状況です。

504:NAME IS NULL
07/05/04 19:25:16
>>503
ディスククラッシュしてないということは、マザーとか電源とかが原因の故障?
だとすれば、電源が強制的に切断されたがその時にはOracleがShutdownされていた、ならセーフでしょう。
前回正常電源切断後、電源が立ち上がらなくなったのでもセーフでしょう。
電源強制切断時にOracleが稼働中だったらケースバイケースかもねぇ。
とりあえず、同じSIDで別PCにデータベース作ってファイルをまるごとコピーして起動してみ。
なんとなく、復旧できそうな気はするけど、自動復旧できなければ手動で対応できるかどうかだろうねぇ。
もちろん、場合によっては全然ダメかもしれないけど。で、アーカイブログモードなの?ノーアーカイブなの?
ノーアーカイブであったとしても停止時にトランザクションが少ないorREDOが十分に大きいなら可能性はあるかも。
…っていうくらいにいろいろ可能性があるので、そんな状況説明だけでは話が散乱するだけかもね。

505:NAME IS NULL
07/05/04 21:04:31
断片的な話を聞いてる限りじゃ簡単に直せそうだね
重要なデータなら、プロに頼んだ方が確実のような気がするよ
素人が下手にやって直せるモノをダメにしても良いなら
チャレンジしてみるのも良いと思うけど

506:NAME IS NULL
07/05/04 21:07:24
まずは復旧を試す前にもバックアップしろよ。
復旧途中でいろいろ試して弄ってるうちに、ファイル壊して復旧不能にしてしまうってのはよくある罠。

つーかクラッシュして鯖止まったままで困らないの?
代替PCすら用意してなかったら、かなり痛いね。

507:NAME IS NULL
07/05/04 22:24:46
>>503

鯖が窓なら確かにその方法でもいける。
流れとしては・・・

1. ボラクルのソフトウェアを前と全く同じディレクトリにインスコ
2. 前と同じSIDで新規DBを再作成
3. 以前のデータベース関連のファイルを全て(redolog、datafile, orapw、init.ora、control)を入れ替える。
4. DB起動

注意点としては>>505が言っているように、復旧を始めるまえに今の全てのファイルの
バックアップを取得しておくこと。
最悪ヒューマンエラーを起こしたとしても、また復旧を始められる。
これはリカバリの基本中の基本。

508:NAME IS NULL
07/05/05 03:37:52
SIDじゃなくて、内部的になんかユニークIDもってなかったっけ?
そこら辺って大丈夫なの?


509:NAME IS NULL
07/05/05 06:20:48
窓はそこまで高等じゃなかったはず。

510:NAME IS NULL
07/05/05 08:49:57
XPで動かしてるぐらいだから、再インスコでも十分なのかもな。
なんか連休入ってるみたいで音沙汰ないし。

511:NAME IS NULL
07/05/05 19:31:25
クラッシュサーバーからファイルを取り出せたっぽいから
その取り出した先の媒体がリカバリーリトライ用のバックアップになるだろうね。

512:NAME IS NULL
07/05/05 20:56:06 62q5988W
エラーメッセージが文字化けします。

ORA-00942: ???????????????

513:NAME IS NULL
07/05/05 21:11:59
>>512

NLS_LANG
oerr ora 942

とか。


514:NAME IS NULL
07/05/05 21:40:26
>>512
ORA-00942をググるか
エラーメッセージガイド見て探せwww

ま、「表またはビューが存在しません。」だけどなwww

515:NAME IS NULL
07/05/06 11:16:31 GJ+A4Kez
512です。みなさんありがとうございます。

文字コード(文字セット)がUS7ASCIIで時点で日本語はENDですかね。

こんなんで作った覚えないけどな。。

516:NAME IS NULL
07/05/06 12:20:54
日本語でOK

517:NAME IS NULL
07/05/06 16:20:01
どこをジャパニーズにしたいのかティーチしてショーしろ

518:NAME IS NULL
07/05/06 16:32:54
たぶんここのことだろ

>文字コード(文字セット)でUS7ASCIIで時点で日本語でENDですかででで。

519:NAME IS NULL
07/05/06 18:15:03
(引用ミスってるようだけど)正解。

520:NAME IS NULL
07/05/06 19:10:12
メッセージをジャパニーズにチェンジしたいのか、データベースをジャパニーズにチェンジしたいのか。


521:NAME IS NULL
07/05/06 21:48:10
うんこ日本語ですいまねん。
メッセージをジャパニーズにチェンジしたいです

522:NAME IS NULL
07/05/06 23:11:50
頭を英語で使えば問題ないと思う。

523:NAME IS NULL
07/05/07 00:31:02
>>521
NLS_LANGをLANGとトゥギャザーすればオーケー。


524:NAME IS NULL
07/05/07 12:03:13
>>504
おまえ何を言っているんだ??
ディスククラッシュしてなくてマシンの電源が落ちただけなら、マザーか電源かしらんが、
交換してOracleを再起動するだけで自動的にインスタンスリカバリが働くから、
電源が落ちる前の最新の一貫性のある状態には戻るだろ。

「電源強制切断時にOracleが稼働中だったらケースバイケースかもねぇ。」
稼動中に電源落ちても問題ないだろ。もちろん、コミットしてないデータは
失われるが。



525:NAME IS NULL
07/05/07 22:42:39
>>503
どうやらなにも心配せずに故障したパーツを交換して起動すれば
問題なく復旧するようですね(by 524氏)。
リカバリーコマンドや、バックアップからのリストアも不要のようなので楽ですね^^

526:NAME IS NULL
07/05/07 23:31:54
データが消えてないかチェックするのは基本。

527:NAME IS NULL
07/05/08 13:20:46
>>525
>リカバリーコマンドや、バックアップからのリストアも不要のようなので楽ですね^^
俺が言ってるのはあくまで「ディスククラッシュ」してなければの話だけどね。
してなければ、リカバリコマンド入力やリストアする必要はない。


528:NAME IS NULL
07/05/08 21:34:40
ディスククラッシュしてなければ(部分的を含む)論理的破損とかもありえないものなんだね。
知らなかった…orz 便利になったものだ。

529:NAME IS NULL
07/05/08 22:06:05
WindowsのNTFSなら大丈夫だろう。
Unixでも最近のファイルシステムなら大丈夫だろう。
Linuxは一部のファイルシステムが、ヤバいかもしれん。
RAWの場合は、Oracle次第。


530:NAME IS NULL
07/05/08 23:26:47
fsckがよしなにぶった切ってエラーの無いようにしてくれてるだけでは?
もちろん使えない(w

531:NAME IS NULL
07/05/08 23:48:37
Oracleの場合はっていうかほとんどのDBMSがそうだと思うけど、
sync書き込みになっているから、ファイルそのものの破壊はないと思う。
ところが、Linuxについては、VFSがきちんとsyncをしないことがあるらしく、いまいち信頼性に欠けるらしい。
LinuxのVFSについては、結構問題になっていて、XFSやreiserFSといったファイルシステムについては、
それぞれがVFS自体にも修正を施した上で実装されているみたいだ。

fsckはメタデータについてチェックするだけなんで、ファイルそのものについてチェックをしてくれるわけではない。


532:NAME IS NULL
07/05/09 04:14:09
何のための

ジャーナリングファイルシステム

なのか


533:NAME IS NULL
07/05/09 04:31:35
何のために

同期書き込み

しているのか

ちょっと小一時間考えてみます


534:NAME IS NULL
07/05/09 08:47:51
syncしてたら遅いけどな。
遅延書き込みしないと遅いよ。でも書き込めなかったデータは失う。

535:NAME IS NULL
07/05/09 10:06:14
REDOログエントリの書き込みや制御ファイルの更新あたりを
同期書き込みしておけばOK。データブロックの書き込みは非同期で十分。


536:NAME IS NULL
07/05/12 12:12:36
同期であっても非同期であってもファイルに書き込んでいる最中に電源が切れて
読めなくなるようなことはないの?
クライアントPCで停電になったあとにチェックディスクすると
使っていたファイルが修復されたりすることがあるけど(完全に修復されるのかどうか分からないけど)
サーバーではそういうことはないのかな?

537:NAME IS NULL
07/05/12 12:43:57
>>536

つ~か、鯖だと普通はAPCとかついているから、停電になっても
クリーンシャットダウンぐらいは出来るようになってるよ。

万が一、鯖がクラッシュしたりしてもハイエンドクラスのストレージだと
ダブルチェックサム機能で、コラプトブロックとか書き込まない様に
なっていたりするしね。

一応おかしくなった時のために、RMAN使って物理・論理チェックを
かけることも出来るけどね。



538:NAME IS NULL
07/05/12 13:24:37
>>537
れすさんくす。以前に質問していた人が
サーバークラッシュしてディスククラッシュしていないって書いてあったので
クライアントPCであるような物理的には大丈夫でも論理的に異常になっている可能性は無いのかな?
と、質問してみました。
サーバークラッシュって書いてあるので単純な停電ではなくてハードエラーで落ちたのでしょうから、
その辺はどうなのかな?って。サーバー構成によっては大丈夫な場合もあるってことですね。

539:NAME IS NULL
07/05/14 23:30:04
>>538

勿論、非同期とかで書き込みしている時とかには、物理もしくは論理で
ブロックコラプションが起きる事もある。
その場合はEEだとRMAN使ってメディアブロックリカバリーでブロック単位で
リカバリかけたりする事も出来る。


540:NAME IS NULL
07/05/15 20:49:29
独自で作ったOracleの便利スクリプトを紹介してくれ

541:NAME IS NULL
07/05/15 21:42:43
>>540
OTNのCodeTips見てこい

542:NAME IS NULL
07/05/15 21:48:06
なるほど。サンクス。DB Magazineも買ってくる。

543:NAME IS NULL
07/05/24 00:30:48
オラクル入れようと思ったが、カーネル再構築の途中。orz

544:NAME IS NULL
07/05/25 20:54:16
カーネル再構築なんてまたくだらない事やってるな。

545:NAME IS NULL
07/05/25 21:57:12
まだ8i使ってるからな。orz

546:NAME IS NULL
07/05/25 22:16:19
もうサポート対象外では?

547:NAME IS NULL
07/05/27 11:13:31
そもそもサポート受けてないだろう

548:NAME IS NULL
07/05/27 20:09:57
去年の10月くらいに8の質問して答えてくれたけど。

549:NAME IS NULL
07/06/01 10:01:32
oracle9iを使って、ある条件で検索した結果の10~20件目だけを抽出するSQLを考えています。
下記のSQLで結果は取れましたが、これ以外でよい方法などありましたら教えていただけないでしょうか。
SELECT
    *
  FROM
    (
      SELECT
          (
            SELECT
                COUNT (*)
              FROM
                TEST_TBL
              WHERE
                DEL_FLAG <> '01'
          ) AS TOTAL,
          row_number() over ( ORDER BY XXX ASC) AS row_cnt,
          MASTER_ID
        FROM
          TEST_TBL
        WHERE
          DEL_FLAG <> '01'
    )
  WHERE
    row_cnt BETWEEN 1 AND 20
  ORDER BY
    XXX ASC



550:NAME IS NULL
07/06/01 11:50:20
(´Д`)

551:NAME IS NULL
07/06/01 14:27:34
>>549
ググればROW_NUMBER関数を使った例がいくらでも転がってる。


552:NAME IS NULL
07/06/16 18:27:40 I1V9HKtK
教えてください。

外部プロシージャを止めるにはどうすればいいのでしょう?
外部プロシージャをバージョンアップするために、
.soファイルを上書きしたいのですが、

lsnrctl stop

でリスナーを停止してもextprocPLSExtProcが浮かんだままで、
cpコマンドで上書きしようとしてもアクセス中なので出来ないと怒られます。
killコマンドでこのプロセスを殺してもいいものなのでしょうか?
それともdrop libraryなどで一度oracleから取り除かなければならないのでしょうか?

以上、よろしくお願いします。

553:NAME IS NULL
07/06/17 01:05:12
>>552

Killってかまわん。
まあ、確実なのはDBシャットダウンすれぱ止まるはずだけどね。


554:NAME IS NULL
07/06/17 13:10:18 h5nfYdZ9
>>553
アホ
DBを止めるとき、lsnrctl stopしたあとに浮かんだままのoracleインスタンスをkillするのか、お前は

>>552
drop libraryすれば.soファイルへのアクセスは停止する筈

555:NAME IS NULL
07/06/20 09:58:28 2tTyyyLm
tabという名前の表を作成したらテーブル一覧が見られなくなりました

どうすればいいですか?

556:NAME IS NULL
07/06/20 10:50:34
そのtabを削除すればいいんじゃね?


557:NAME IS NULL
07/06/20 11:14:18
>>555

tabというのはsynonymだかんねぇ。
user_tablesからうまく作ってったら?

558:NAME IS NULL
07/06/21 02:25:09
>>555

取りあえずそのtabをDropする。
んでもって以下のスクリプトで再作成しろ。

CREATE OR REPLACE VIEW TAB
(TNAME, TABTYPE, CLUSTERID)
AS
select o.name,
decode(o.type#, 2, 'TABLE', 3, 'CLUSTER',
4, 'VIEW', 5, 'SYNONYM'), t.tab#
from sys.tab$ t, sys.obj$ o
where o.owner# = userenv('SCHEMAID')
and o.type# >=2
and o.type# <=5
and o.linkname is null
and o.obj# = t.obj# (+)
/


559:NAME IS NULL
07/06/21 03:31:24
わざわざVIEWの定義を調べてご苦労だけど、再作成はいらん。DROPで充分。
新しいTABをDROPしたくないならSYS.TABで元のTABの内容が参照できる。

560:NAME IS NULL
07/06/21 11:27:32 aqXLPoKz
UPDATE USER_SOURCE SET TEXT = ' FROM TESTA WHERE A = 2;'
WHERE NAME = 'PPP' AND LINE = 5

権限が不足しています。エラーが出ますが、なぜでしょうか。

561:NAME IS NULL
07/06/21 11:41:36
>>560
権限が足りないんだろ。


562:NAME IS NULL
07/06/25 18:32:35
CBO前提で開発してるのに統計採って無いことに気付いた。ありえなくね?
速攻採るべきだよね?ちなみに9.0です。

563:NAME IS NULL
07/06/25 21:04:35
とるべきとしか言いようがない。


564:NAME IS NULL
07/06/25 23:17:07
ありえね

565:NAME IS NULL
07/06/25 23:35:35
>>562

すでに本番リリース済みの場合には、統計情報を収集したことが原因で
コスト計算時に使用される統計情報がデフォルトから収集したものに変わったことにより、
SQL文のアクセスパスが変わってパフォーマンス劣化が
発生する可能性も有るので注意したほうがいいと思う。

もし、パフォーマンス劣化が発生したら、そのSQLに影響している統計情報を
deleteすること。


566:562
07/06/26 09:49:56
>>565
thx検証しながらやってくYO。
数が多くて大変だがorz

567:NAME IS NULL
07/06/26 12:03:09 bHNCzBBO
条件に当てはまる行を先頭に移動させる方法ってありますか?

568:オラクル太朗
07/06/26 20:24:42 MCoTLU9N
オラクル10g勉強中です。
オラクル10gを削除したいのですが、
プログラム追加と削除から消せないようなので、
削除のしかた教えてください。
あとインストールの参考になるようなサイトがあったら教えてください。
お願いします。

569:オラクル太朗
07/06/26 20:28:28 MCoTLU9N
追加↑
OSはWindows2000serverです。

570:NAME IS NULL
07/06/26 22:12:50
勉強後に消した方がよくないか?
削除したいのならインストールできたのじゃないか?

571:NAME IS NULL
07/06/26 22:38:16
>>568

1. インストール時と同じように、OUIを起動する。
2. インストールされているソフトの一覧を出す
3. 消したいソフトを選んで削除

その後に、完全にクリーンインストールするために以下のレジストリを削除。

My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
My Computer\HKEY_CURRENT_USER\SOFTWARE\ORACLE
My Computer\HKEY_LOCAL_MACHIN\SYSTEM\CurrentControlSet\Services以下のOracleとつく全て

あとはついでにC:\Program Files\Oracleフォルダも消しておけ。

窓でのDBインストールなんて、クリックしていきゃ勝手にインスコされるだろ。

572:NAME IS NULL
07/06/26 22:46:34
>>568
つ「Oracle Database インストレーション・ガイド」

ほれ、これで「Oracle Databaseソフトウェアの削除」方法でも勉強しろや。
インストール方法も勉強できるぞ。

573:オラクル太朗
07/06/26 23:37:26 MCoTLU9N
NAME IS NULLさんありがとうございます。
学校ですでに10gがはいってるサーバーマシンを借りてきて、
すでに入っているものは消してから使ってくださいといわれたので、
インストールもアインストールもしたことなかったので、
途方にくれてたとこでした。
本当ありがとうございました。

574:572
07/06/27 00:18:22
>>573
どの名無しに感謝されたのかわからんが、
その程度の初学者ならここからお勉強するといいさ。
URLリンク(otn.oracle.co.jp)

575:NAME IS NULL
07/06/27 00:25:15
「Select name from itemmaster where id1 = 0000or id2 = 0001」
上記のSQL文は、間違いだと思うのですが、何故かSQL Plusで実行したら
通りました。
上記のSQL文って正しいのでしょうか?
id1とid2はchar型でシングルクォートを付けてないし、0000とorの間に
スペースが無いし、普通は通らないと思うのですが、、、
何か分かる人はいるでしょうか?
ちなみに、Oracle 10g 10.1.0.2です。

576:NAME IS NULL
07/06/27 00:27:49
>>575
仕様です

577:NAME IS NULL
07/06/27 01:28:29 qWRscJ4i
JPublisherって使ってる人いる?

578:NAME IS NULL
07/06/27 02:36:53
>>575

シングルクォートが無くても、暗黙的に変換してくれる。
ただし、明示的にChar型を宣言していないため、索引が使われない
などのデメリットはある。
スペースも勝っての判断してくれる場合がある。
以下のSQLを試してみるがいい。

select*from user_users;

579:オラクル太朗
07/06/27 22:29:26 DoTZCG5U
>>574さんありがとうございます。
2ch初心者なので、571、572、573の名前がNAME IS NULLで同じで
同一人物だと勘違いしていました。
571、572、573さんありがとうございます。
サーバーマシンはなんとか、DBにconnectできました。
クライアント側にもクライアントCDをインストールしたのですが、
サーバー側に接続を試すToolが入っていません。
インストールタイプをInstantClientしか入れてないからでしょうか?
あとインストールCDが多すぎて、どれが必要なのかわからない状態です。
Oracle Database リリース・ノート 10g リリース2(サーバー側)
Oracle Database Client インストレーション・ガイド 10g リリース1(クライアント側)
をインストールしました。ほかにインストール必須なCDはありますか?
教えてください。お願いします。

580:NAME IS NULL
07/06/28 00:18:40
>>579

SQL*PLusってツールがはいっていない?

581:オラクル太朗
07/06/28 06:54:42 3LjSIdu7
580>>
SQL*PLusははいっています。

582:NAME IS NULL
07/06/28 07:01:16
>>579

どこにインストールしたか分からないが、tnsnames.oraの設定をまずしろ。
そうしたらコマンドプロンプト開いて「tnsping <DBエリアス>」と打ってみろ。
ちゃんと設定がうまくいっていたら、後はSQL*PLUSでもなんでもつながる。


583:オラクル太朗
07/06/28 07:03:14 3LjSIdu7
582さんありがとうございます。
いまから学校いって早速試してきます。

584:NAME IS NULL
07/06/28 18:44:33
oracle9iのjavaクラスの中でネットワークドライブにファイルを書き出したいのだがどうもうまくいかない。

マッピングしても

java.io.FileNotFoundException: No such file or directory

ねーよって出ちゃう

ローカルドライブなら普通に書き込めるんだけど。

なで?

585:NAME IS NULL
07/06/28 19:04:54
>>584
Windowsか?

586:NAME IS NULL
07/06/28 19:20:17
>>585
Windowsっす。
今のところXPっす。

587:NAME IS NULL
07/06/28 19:26:04
>>586
Administration Assistant for Windows の起動オプション
のNTアカウントをネットワークアクセス権のあるユーザーにしてみ
ローカルアカウントではネットにアクセスできん

588:NAME IS NULL
07/06/28 19:27:23
>>587
マジスカ

ありがとっす!
やってみるっす!

589:オラクル太朗
07/06/28 21:45:07 3LjSIdu7
クライアントからサーバーに接続はできたのですが、
クライアントからサーバに入っているテーブルにアクセスしても見れません。
サーバーがわでsysユーザーでテスト用にdeptテーブルを作り、ユーザーfoo
を作りました。クライアント側でfooでログインして、dept表を見るには
どうしたらいいのでしょうか?
教えてください。


590:NAME IS NULL
07/06/28 22:06:28
>>589
GRANTでfooに必要な権限を与える。
SYSで作ったテーブル名はsys.deptになってるはず。
そもそもSYSアカウントでユーザーテーブルを作らない。

591:NAME IS NULL
07/06/28 22:13:43
>>587
ユーザー作ってそのユーザーでオラクルインスタンス起動した。
プロセスマネージャーではそのユーザーで起動してる。

再起動もした。

リスナーで怒られたのでリスナーも同じユーザーに

けどネットワークドライブに書き込めん・・
java.io.FileNotFoundException: No such file or directory

uncでアクセスしてもネットワークドライブで割り当ててもだみっす。

もちろんdbms_java.grant_permissionで権限は与えてる・・・

なぜなのかぁぁぁぁ!!





592:NAME IS NULL
07/06/28 22:33:38
>>591

サービス(インスタンス)もちゃんとそのユーザーで起動しているか?

593:NAME IS NULL
07/06/28 22:37:48
>>592
そうなのよぉ
taskmgrで見る限りちゃんと変わってるんですよぉ

で、そのまま起動するとリスナーでora-12500で怒られるので
リスナーのユーザーもそのユーザーに合わせて正常に起動したんですよぉ

謎っす

なんか単純なとこでしくじってるのかなぁ

あと考えられるとこってありますか??
GODよ教えてくださいっす

594:オラクル太朗
07/06/28 22:39:19 3LjSIdu7
590>>さんありがとうございます。
fooには、grantでconnect権限をあげただけです。
それでは、サーバー側でuserをもう一人作ってそのuserでテーブルを作れば、
クライアント側でfooユーザー接続してみることはできますか?



595:NAME IS NULL
07/06/28 22:44:32
>>592

なんか出来た・・・・

IPアドレスじゃなくてNETBIOSの名前でアクセスしたら出来た・・・

\\hoge\hoge.txt○
\\10.8.0.1\hoge.txt×
みたいな・・・

おいおい・・・

いや、でもほんと助かりますた。

すげえ感謝っす


596:NAME IS NULL
07/06/28 22:59:30
>>594

ユーザを作成して
そのユーザでテーブルを作成して
クライアントからはそのユーザで接続すればOK


597:オラクル太朗
07/06/28 23:06:18 3LjSIdu7
596>>さんありがとうございます。
早速明日学校いって試してみます。
一つクリアしたらまた一つなかなか前に進まなくて本当大変です。
ここで問題が解決していきとても感謝です。
ありがとうございます。




598:NAME IS NULL
07/07/01 04:51:52
>>119
何年か前、協力会社としてJBCCの開発やったんだが・・・
技術者はいい人は居るんだが、スキルが糞。
営業は売り上げ上げる為なら、とにかく仕事を取ってきて技術者に「お前らやれ」
ってきたもんだ。「技術的に無理」っていったら、「客には出来るっていっちゃったから、
何とか作れ」って言われたぞ。売れれば何でもいいのかと子一時間。。。
IBMのパートナーの癖してAIXがわからんし、「smit」の話をしたら、「smit」って何?
とこれまた来たもんだ。最近ではさすがにUnix系が出来ないのがまずいのか、LPIの
ビジネスパートナーになってるみたいだが。。。

URLリンク(lpi.or.jp)

上はビジネスパートナーになってるソースね。

599:NAME IS NULL
07/07/01 18:58:02
まあ格安案件でも取りにいく所はそんなものです。
嫌なら、予算多めにして他の業者使えばいい話だ。

600:オラクル太朗
07/07/03 22:17:54 H6oFNBuZ
596さんありがとうございます。
うまくクライアントから表が見れました。
今バックアップとリカバリのところを勉強しています。
Enterprise Managerで設定しているのですが、ポリシーの設定後ホストの資格証明で
ユーザー名、パスワードを入れてもうまくいきません。
ERROR:WRONG PASSWORD FOR USERという
エラーが出ます。
user名はSYS passwordはoracleでと入力しているのですが、記述の仕方が
悪いのでしょうか?
教えてください。

601:NAME IS NULL
07/07/03 23:24:19
>>600

DBのパスワードを入れてどうする。
ホストにログインするユーザー名とパスワードを入れろ。

602:NAME IS NULL
07/07/04 00:39:51
DBコネクトとログインの区別がついてないってカコ悪い。

603:オラクル太朗
07/07/04 07:02:50 +iHTJJZc
601さんありがとうございます。
早速学校行って試してきます。


604:NAME IS NULL
07/07/14 12:22:18 lfqZZbE2
このスレ的に11gってどうよ?
まぁまだ発表されたばっかだけど...
今のところ,俺的にはあんま欲しい機能は無くて,
10gのマイナーバージョンアップって感じかな?
8iと10gはがらっと変わってメジャーバージョンアップって感じだったけど.

605:NAME IS NULL
07/07/14 13:25:30
単体で使う分には8iから大して変わりはないけどな。
11gは管理ツールの充実って感じがした。業務で使ってると、必要と要求の有った機能が割とサポートされてるって思った。

606:NAME IS NULL
07/07/15 05:17:12
すみません。
PL/SQLでストアードファンクションを使って、
値を複数返したいのですけど、出来ますでしょうか?

returnで返す値を複数指定出来ないかと思って
「RETURN a,b」みたいにやってもダメでした。

select FUNCTION() from emp
こんな感じのSQLで複数値が返ってくる方法は無いでしょうか。

607:NAME IS NULL
07/07/17 09:50:16
自分で答え書いてるじゃん。

608:NAME IS NULL
07/07/17 22:30:32
ファンクションの中にファンクションをネスト。

そんなことより質問PL/SQLで
表名 test
select * from test;
A列 B列
1   2007/7/17
2   2007/7/17
3   2007/7/18
4   2007/7/19

として
3   2007/7/17
3   2007/7/18
4   2007/7/19
を得たいんだけど
何かいいてない? A列の値を B列でグループ化しつつsumしたいんだけど
カーソルとカウンタかませるとできそうだがプログラムが長くなり祖でな・・・いい手ないかな

609:NAME IS NULL
07/07/17 22:38:06
質疑応答すれのがよかったか。ってかこの板人口少なそうだな。。。

610:NAME IS NULL
07/07/17 22:41:57
>>608
select sum(id),min(val) from hoge group by val;
でどう?

611:608
07/07/17 22:51:05
>>610
即レスサンクス。
参考にいたします。感謝感謝。

612:NAME IS NULL
07/07/18 12:43:24
emagent.exeって何をするプロセスですか
プロセス停止すると どういう問題が出ますか

613:NAME IS NULL
07/07/18 14:58:05
ヒント
em = Enterprise Manager

614:NAME IS NULL
07/07/18 16:04:16
実行時間のかかるSQL分があり、文法エラーがないかを確認したいのですが、
実際に実行しないで確認する方法はあるでしょうか?

本来、実行してから強制終了すればいいだけなんですが、
職場の事情で、インフラチームからSQL実行中の強制終了はするなと言われて、
エラーチェックできずに困っております。

615:NAME IS NULL
07/07/18 16:11:31
>>614
自分のPCにOracle突っ込んで
実行できる環境構築するwww

こういうのもあるけど、たぶんCREATE TABLE出来ないwww
URLリンク(otn.oracle.co.jp)

616:NAME IS NULL
07/07/18 21:12:26
>>614
実行計画とればいいんでない

617:NAME IS NULL
07/07/18 23:25:43
構文エラーのチェックだけならset autotorace traceonlyでいいんちゃう。


618:NAME IS NULL
07/07/19 01:31:02
traceonlyは実行しちゃうよ。結果を表示しないだけ。
explain planがいいんちゃう。

619:NAME IS NULL
07/07/19 10:18:30
cseを使い場合、odbcドライバコピるだけでは動かないのですが
クライアント入れないと駄目ですか?

620:NAME IS NULL
07/07/20 01:53:47
>619
だめです
素直にクライアントインスコ汁
つか、odbcドライバもファイルコピーだけじゃ動かんのじゃないか確か。

621:NAME IS NULL
07/07/20 03:36:26
インスタントクライアントの方が容量的にはかなり小さくなるな。
sqlplus、jdbc、odbcと必要なものはそろっているし。
環境変数の設定やodbcドライバの登録とかを手でやらないといかんけど。


622:NAME IS NULL
07/07/20 10:00:26
>>620
らじゃ、ありがとうございます。

623:NAME IS NULL
07/07/21 03:37:44
インフラチームって、もしかして本番機とか?
確認は検証機でどうぞ。

強制終了して、他の業務ジョブに迷惑かけたら始末書ものだよ。

624:NAME IS NULL
07/07/21 03:52:09
unix版から飛んできました。

SQL*FORMSという古いソフトを使っており、これがOracle7でしか
動かないのですが、Oracle7のままsolaris8以降の新しいOSに
乗せ変えたツワモノはいますか?

もちろん、DBを保証のあるバージョンにのせ変えるのがすじ
なのは分かってますがそれができないのです。

solarisのバイナリ互換性から考えると普通に動くと思うのですが。

625:NAME IS NULL
07/07/21 05:23:11
>>624

O/S新しくするのなら、アプリもこの際新しくしろや。
そんなサポートされいないバージョンのものを使い続けている方がどうかしてる。

626:NAME IS NULL
07/07/24 10:24:18
エクスポートファイルからテーブル一覧をクリップボードにコピーしたいのですが、
imp show=y file=xxx.dmp を実行すると、ログイン名を指定されます。
怖くて入力できませんが、このshowは実行時に詳細を表示するオプションなのでしょうか?

627:NAME IS NULL
07/07/24 10:43:40
>>626

verboseオプションではなく、show onlyオプションだよ。
つまりdmpに含まれるcreate table文など一覧を見る事が出来る。

628:NAME IS NULL
07/07/24 11:07:31
show onlyというオプションがないのですが、コマンドラインで指定するオプションではないのでしょうか。
遅れてすいません。Oracle9iです。

629:NAME IS NULL
07/07/24 13:05:50
>>628

だからshowはshow onlyの意味であって、show=yと指定すれば
実際のimpは行なわれずに、表示だけされるんだってば。
verboseという意味のshowでは無いということ。

630:NAME IS NULL
07/07/24 14:47:25
>>629
すいません。
ご親切にありがとうございます。

631:NAME IS NULL
07/07/24 17:25:25
>>629
ファイルの一覧のみは出せないの?

632:NAME IS NULL
07/07/24 17:52:10
my_view の定義が select a, b, from my_table where a = 1 の場合

select a, b from my_view where b = 1

select a, b, from my_table where a = 1 and b = 1

ではクエリーのパフォーマンスに違いが出てくるでしょうか?
客先からの仕様変更が激しく、アプリに影響がないようにすべてVIEWに対してクエリーしようかと考えています。

危険な方向性ですかね?

633:NAME IS NULL
07/07/24 19:19:11
その SQL はエラーになるんじゃないかな。


634:NAME IS NULL
07/07/24 22:20:54
>>632

実行計画取れば分かるが、viewに対してQueryを投げた場合、まずOracleは
内部的にそのSQLを書き換えて、実行パスを決定している。

635:NAME IS NULL
07/07/25 00:08:29
>>631

中身を見たかったらこれで全部出るだろ。

imp userid=\"/ as sysdba\" file=hogedat.dmp ignore=y show=y full=y log=bogeimp.log



636:NAME IS NULL
07/07/25 14:54:41
javaとかでフリーなライブラリがネット上にいろいろ転がっていますが、
これあると便利的なストアードファンクション・プロシージャを提供しているサイトとかって知ってますか?

637:NAME IS NULL
07/07/25 20:02:58
>>636

OTN

638:NAME IS NULL
07/07/25 23:39:45
登録したMACアドレスだけ接続を許可する様にしたいのだけど
何か方法有るかな?


639:NAME IS NULL
07/07/25 23:44:51
>>638

んなもんO/Sでやれ。

640:NAME IS NULL
07/07/26 10:18:48
やっぱり内科。
訳ありでOS側では制御出来ないのよ。

641:NAME IS NULL
07/07/26 11:12:39
>>640

だったらF/Wなり、iptablesなりかませればいいじゃん?

642:NAME IS NULL
07/07/26 11:51:51
>>641
スマソ 要件が詳しくなかったね。
環境は・・
OS:WindowsServer2003Sp2
Oracle10g
で・・
要件は「登録したMACアドレスだけのIPをOracleに接続を許可しる。ただし接続コントロールはOracle側でおこなうこと」なのよ。
他の事(OS設定や機器設定及び機器追加)は一切出来ない・・・orz


643:NAME IS NULL
07/07/26 11:54:09
スマソ 訂正。
誤:登録したMACアドレスだけのIPをOracleに接続を許可しる。
正:登録したMACアドレスだけをOracleに接続を許可しる。

接続はTCP/IPでクライアントはDHCPでIPコロコロ変わります・・orz


644:NAME IS NULL
07/07/26 12:20:59
ボラクルってMACアドレス拾えないだろ?

645:NAME IS NULL
07/07/26 13:14:39
>>642

結論から言うと無理だろ。
その用件考えた奴はアホだ。

646:642
07/07/26 18:44:47
スマソ DLL1本作って事故解決しました。

647:NAME IS NULL
07/07/27 00:22:20
んでも、その気になればMACアドレスは偽装できるんだから
無駄な努力、とまで言うのもアレだが、おバカな案件だな。

648:NAME IS NULL
07/07/27 11:11:08
unixのコマンドラインから、テーブルをcsv形式でエクスポートしたいのですが、
expだとダンプ形式にしかできないと認識しています。
何か方法はないでしょうか。

649:NAME IS NULL
07/07/27 11:32:57
>>648
sqlloader sqlldrかも

650:NAME IS NULL
07/07/27 11:33:55
>>649
エクスポートか、これじゃダメだね。

651:NAME IS NULL
07/07/27 15:45:56
>>648
OTN-JapanでCodeTips検索してこい

652:NAME IS NULL
07/07/27 23:11:13
>>648

んなもん幾らでも調べればやり方なんか転がってんだろうが。
URLリンク(asktom.oracle.com)
URLリンク(asktom.oracle.com)


653:NAME IS NULL
07/07/30 11:42:55
ボラクルってIPv6でお話し出来ますか?


654:NAME IS NULL
07/07/30 12:26:29
>>653

Pv4/ IPv6の混成環境は可能。
IPv6だけはまだ。

655:NAME IS NULL
07/07/30 14:01:15
>654
なるほど。ありがとうございました。


656:NAME IS NULL
07/08/03 10:36:19
sqlplusはSQLエラーのときエラーの行数が出ますが、
javaでjdbcを使ったSQLの場合、エラー行番号が取れません。
行情報はsqlplus独自のものでしょうか?

657:NAME IS NULL
07/08/03 19:54:46
>>656

はい。


658:NAME IS NULL
07/08/07 17:01:19
>>657
ありがとうございます。
たとえば、javaのjdbc経由のアプリで、エラー行番号を取得することはできたりするのでしょうか?

659:NAME IS NULL
07/08/07 20:17:25
>>658

そもそも行番号というのはなんですか。
あなたが思っているような単位でSQLは解釈されません。


660:NAME IS NULL
07/08/08 10:10:19
>>659
行番号は、つまり行は改行コードのことです。

661:NAME IS NULL
07/08/08 10:41:39
>>620
またまた質問ですみませんが、
どうしてもoracleクライアントをインストールすること(インストールプログラム使用)を許してもらえません。
そこでですが、別のマシンにインストール済みのoracleインストールディレクトリを丸まるコピーし、
それを別のマシンに同じディレクトリにコピーし、oracleインストールディレクトリ/ora92/binにパスを通し
cseでodbcではなく、oracleネイティブ接続で接続すれば、DB接続できるでしょうか?

662:NAME IS NULL
07/08/08 20:42:56
インスコしちゃだめって言うなら諦めた方がいいと思うが

663:NAME IS NULL
07/08/08 23:26:44
同じく。
インストールという行為を禁止されているなら必要な理由を提示して許可をもらえばいいし、
そもそもクライアントからOracleに直接接続するなというならその方法でできたとしてもNGだろ。

業務上必要なのにインストール許可を出さない会社ならやめてしまえ。

664:NAME IS NULL
07/08/09 01:53:23
>661
もう少し技術的な観点からも補足すると

cseは長いことバージョンアップしてないから新しいoracleクライアントだとどのみち使えんかもよ

665:NAME IS NULL
07/08/09 11:18:01
>>664
ありがとうございます。
Oracle9iのWindows版ではうまく動いています。

666:NAME IS NULL
07/08/09 11:40:24
sql analizeでログインできません。
DBには通常のユーザを登録しSELECT ANY TABLE権限もありますが、
下記のエラーメッセージが出ます。
このリポジトリーユーザは、特別なユーザなのでしょうか?

on リポジトリ接続 while レポジトリ・データベースに接続中エラーが発生しました。

XP-21162: 現行のリポジトリ接続には、十分な権限がありません

原因: Oracle Expertルール・エンジンでは、SQL文の妥当性チ
ェックを実行するために、SELECT ANY TABLEデータベー
ス権限が必要です。

アクショ リポジトリ・ユーザーの現行の権限をチェックしてくだ
ン: さい。

667:NAME IS NULL
07/08/09 12:30:26
>>666
以下のどちらかで対応しろ。

- そのログインユーザーに DBA権限を与える
- init.oraでO7_DICTIONARY_ACCESSIBILITY=trueを指定

668:NAME IS NULL
07/08/14 11:08:07
create table xx した日にちを取得することってできますか。

669:NAME IS NULL
07/08/14 11:13:39
user_objects

670:NAME IS NULL
07/09/04 08:41:28 pXMBPiTp
とても古い環境なんですがNT4に対してoas4をインストールしましたがマネージャーが起動しません。ホスト名+ドメイン+ポート接続でも検索エラーになります。
環境設定において特別ななにかが必要なことってありますか?なお、ネットには接続できました。

671:NAME IS NULL
07/09/04 09:32:15
>>670
Winだし、とりあえず再起動?

672:NAME IS NULL
07/09/05 00:53:17
複数のテーブルが入っているエクスポートファイルから、1つのテーブル分だけを簡単に取り出す方法ってありますか?
たとえばA,B,Cが入っているDMPからBだけが入っているDMPを簡単に作りたいのです。
いったん、インポートしてからBだけエクスポートすれば?というのは無しです。
そんなことが簡単に出来てしまうコマンドとかはないのでしょうか。

673:NAME IS NULL
07/09/05 01:09:20 huCY+7z7
>>672
いったん、インポートしてからBだけエクスポートすれば?

674:NAME IS NULL
07/09/05 07:01:18
>>672
tables

675:NAME IS NULL
07/09/05 09:53:33
>>674
ありがとうございます。
しかし、それは、そのテーブルだけインポートするということですよね。
すいません、説明不足でした。
毎日、フルでexpしたものを何日分か残す様になっています。
サーバは遠くで、外部からもアクセスできない環境にあるので、
それで、何か調べる必要が出てきた時に、DMPを送ってもらって調べたいのですが、
さすがにフルexpだとサイズが大きすぎて難しいので、必要なテーブル分だけ抽出出来たらなと思ったわけです。
稼働中のDBですので過去のデータなどをいったんインポートするなども出来ません。
それで、簡単なコマンド等で、フルDMPから一部だけ切り出す方法がないかと思ったのです。
ご存じの方がおられましたら、よろしくお願いします。

676:NAME IS NULL
07/09/05 09:54:34
>>672

imp時にBだけ指定すればいいじゃん?

677:NAME IS NULL
07/09/05 09:56:47
>>675

現実的な方法としては、その本番鯖の近くで別DBを作って貰って、そこでその
表BだけImpしてExpじゃないかねぇ?

678:NAME IS NULL
07/09/06 02:41:23
>>675
ユーザを新しく作ってそこに B だけインポート。

679:NAME IS NULL
07/09/07 13:05:58
>>676-678
ありがとうございます。
いずれにせよ、コマンド一発で簡単にというわけにはいかないということのようですね…


680:おれようメモ
07/09/07 21:53:52
-----------------------------------------------
select
  *
from
  (select reg_date from emp_main where customor = 'CUS001' order by reg_date desc)
where
  rownum = 1
----------------------------
    INDEX  NON-INDEX
COST  18    242
-----------------------------------------------
select
  *
from
  emp_main
where
  reg_date = (select max(reg_date) from emp_main where customor = 'CUS001')
and
  customor = 'CUS001'
and
  rownum =1
----------------------------
    INDEX  NON-INDEX
COST  6    230
-----------------------------------------------

681:NAME IS NULL
07/09/11 13:56:13 qUTPzdOn
Orcle8iですが教えてください。

あるパッケージ(国内で有名なベンダー)を使っていますが
dbサーバ起動時に削除したデータが登録されている現象が
あります。
実行制御データですが、まるでスタートアップの処理で作成
される感じです。
(保守契約が切れていまして問合せできません)
Orcle8iに起動時に処理させる機能はあるんでしょうか?

682:NAME IS NULL
07/09/11 14:46:37
通常のテーブルなどに設定するDMLトリガーじゃなく、データベーストリガー(この場合、Startupトリガー)なら
Oracleの起動時に実行できますね。8iで可能かはマニュアルを見て下さい。通常のCREATE TRIGGER文のとこにあれば載ってると思います。


683:NAME IS NULL
07/09/13 06:28:31 EzBaCPo5
ありがとうございます。

684:NAME IS NULL
07/09/13 09:23:19 rtETd5f1
>>682
Startupトリガーが、dbのどこを見ればよいのですか?
Object Browserで見ていますが・・・・
初心者ですみません。

685:NAME IS NULL
07/09/13 15:11:08
SELECT * FROM DBA_TRIGGERSでいけるんじゃないかな。


686:670
07/09/16 16:39:23
もうひとつすいません。

OAS管理画面(4.8.0.1)でツリーが表示されません。
原因が皆目つかないのですが誰かご存知でしょうか?

ちなみにIEの設定ではJAVAスクリプトはONになってます。


687:NAME IS NULL
07/09/21 17:02:18
SELECTが妙に遅いのでいろいろ調べてインデックス付け直したりしたわけですが一向に改善されず・・・


原因はSQL文でVARCHR2の項目にシングルクォートつけるの忘れてただけでした
無駄な作業させてごめんなさいごめんなさいごめんなさい(;´Д`)

688:NAME IS NULL
07/09/26 11:26:23
imp、expするときって、DBの文字コード依存しちゃいます?

689:NAME IS NULL
07/09/26 23:33:48
>>690

思い切りな。
まあ、大抵は自動で変換してくれたりするがな。

690:NAME IS NULL
07/09/27 10:10:11
oracleサーバーが実行したSQLのログを簡単に見る方法はないですか?
外部のシステムがoracleを使用していて、多分そこで悪さをしているのですが、
文句を言う前に証拠を見せろ野一点張りで…

何とかしてSQLのログを調べたいのですが、方法はありますか?

691:NAME IS NULL
07/09/27 10:12:22
定義が同じ、A・Bがあって、差分を取りたいのですが、簡単な方法あれば教えてください。

692:NAME IS NULL
07/09/27 10:56:19
インスタントクライアントって9i対応ないのでしょうか。

Windows(インスタントクライアント10g) → unix(9iサーバ) の環境で、
cseで接続できるでしょうか?

693:NAME IS NULL
07/09/27 11:19:33
>>691

データの差分ということ?
だったらminus関数使えば?

select * from A minus select * from B
といった感じに?

694:NAME IS NULL
07/09/27 11:20:36
>>690

簡単に見るというのは難しいね。
ファイングレイン監査か、もしくは10g OEM、あるいはサードパーティ製の
ツールが必要だろうね。

695:NAME IS NULL
07/09/27 11:40:07
>>692

出来る。
10gクライアントから9i DBの接続はサポートされている。


696:NAME IS NULL
07/09/28 11:00:45
>>695
ありがとうございます。

instantclient-odbc-win32-10.2.0.3-20061115.zip、instantclient-basic-win32-10.2.0.3-20061115.zipをダウンロードして
ダウンロードフォルダーにパスを通し、ODBCのインストールも実施して、
ODBCのドライバリストに登録されたことも確認しましたが、
システムDNSの登録の際に、インストールがされてませんのエラーが出ました。

クライアントのインストールをしなくても使えると書いてあったのですが、これはどうしてでしょうか?

697:NAME IS NULL
07/09/28 20:49:08 FkBhlVIQ
SI オブジェクトブラウザ最強

698:NAME IS NULL
07/09/28 22:30:25
URLリンク(www.mainichi-msn.co.jp)
--------------
神戸新聞社(神戸市)で今月22日に新聞製作システムが立ち上がらないトラブルで紙面が作れなくなった問題で、
システムを開発した日本電気(NEC)と日本オラクルは28日、システムに使われているデータベースソフト
「オラクル9iデータベース」にプログラムミスがあった、と発表した。

699:NAME IS NULL
07/09/28 22:42:48 ncTp7tKO
>>698

その件はshutdown abortを通常運用に組み込んでいたことが原因の一つにあるみたいなんで、
運用方法にも問題があるような気がする。


700:NAME IS NULL
07/09/29 00:53:39
shutdown abortを前提とした運用を設計したやつってすごいw


701:NAME IS NULL
07/09/29 01:06:52
神戸新聞のはKROWNが一般公開済み。

URLリンク(support.oracle.co.jp)


702:NAME IS NULL
07/09/29 02:14:22
>>696

面倒だから10gクライアント入れておけ。

703:NAME IS NULL
07/09/29 07:15:43
>>699
Oracleが開発に加わっていたのだから、最初に教えてあげるべき。
それか、問題と認識していなかったか。または、

704:NAME IS NULL
07/09/29 07:47:12
サポートや障害発生時の臨時稼動の費用は
開発より何倍も搾り取れるからシノギ行為を黙認した
または、

705:NAME IS NULL
07/09/29 07:56:03
>>703
神戸新聞社の組版システムはNECが開発、オラクル社製品のサポート「も」行っている。

じゃん

706:NAME IS NULL
07/09/29 21:19:35
では、NECが糞って事でFA?

707:NAME IS NULL
07/09/30 17:17:16 v3DOfxU+
>>706

NECは糞じゃない!!!!!

2006年3月に神戸新聞社の組版システムをカットオーバーさせた。

そして今年Oracle Award 2007【Oracle Partner of the Year(最優秀賞)】を受賞した

理由は
************
昨年度日本オラクルと共に顧客ビジネスに最も貢献したパートナーに贈られる賞であり、
NECはオラクルとの協業20周年という節目の年に、年間の最優秀賞を受賞しました。
************
URLリンク(www.nec.co.jp)


最優秀企業が糞なわけないじゃん!!!!!!!!

708:NAME IS NULL
07/09/30 17:23:46
>>707
できレースということか!!!!!!!!!

709:NAME IS NULL
07/10/02 02:08:12
NEC……Oracle……
計った喃 計ってくれた喃

710:NAME IS NULL
07/10/02 12:34:32
>>707
まさかAFO?

----------
たくさん売ってくれてありがとう だからOracle社が発行する(他では只の紙切れ)
賞状をあげるよ。もっと売れアホンダラ
----------
と見えるが。

・・・とここまで書いて釣りだったか?w


711:NAME IS NULL
07/10/02 21:28:07
OracleってDB以外にもなにか売ってるけど
どれが幸せ?

712:NAME IS NULL
07/10/02 21:59:36
>>711
DBだけ使うのが無難www

713:NAME IS NULL
07/10/02 23:22:12
>>711

他の製品を買うと、乾いた笑いしか出てこない状況になれます。
それを幸せと思えるマゾ体質な人にはお勧めです。

714:NAME IS NULL
07/10/05 11:21:00 QMmmkZwG
oracle 8.1.7 とかで現在日付をselect sysdate from dualとかでとれるけど、
ミリ秒まではどうやるの?oracle9以降だったらtimestamp型があるからうらやますぃ。

715:NAME IS NULL
07/10/05 22:40:25
>>714

対応していません。

716:NAME IS NULL
07/10/05 22:45:33
javaストアドを使う

717:NAME IS NULL
07/10/16 23:16:54 A38dmDSy
ORACLE無償版をVISTAにインストールして、
データベースを起動させたら


C:\oracle\BIN>net start OracleXETNSListener
システム エラー 5 が発生しました。

アクセスが拒否されました。


C:\oracle\BINN>net start OracleServiceXE
システム エラー 5 が発生しました。


のメッセージがでるんですけど、
どうすればいいのか教えてください

718:NAME IS NULL
07/10/16 23:36:26
とりあえずUACを切ってみる。
OracleXEがVistaに対応するのを待つ。
OSをWindowsXPやLinuxなどにかえる。

719:NAME IS NULL
07/10/16 23:36:46
理由がわからないのならVista使うのを止める。
解ったとしても解決するまでかなり面倒な操作が必要だと思う。

OracleはWindowsにとってはあまりお行儀が良くないのでこういう事が起きるのかもしれん。



720:NAME IS NULL
07/10/17 01:27:57 71Y6EBkY
よろしくおねがいします。

Oracle9.2iですが、実行計画を取得時に、
sql*plusから

SQL> set lines 80
SQL> set pages 0
SQL> set autotrace on
SQL> select * from hoge;

のようにして↓↓↓↓↓↓のような表を出力したいのですが、
マニュアルやネットを見てもその方法が分かりません。
どうかお助けくださいませm(_ _)m

Plan hash value: 2339479017
---------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL | HOGE | 1 | 2 | 2 (0)| 00:00:01 |
---------------------------------------------------------------------

721:NAME IS NULL
07/10/17 01:38:23
URLリンク(biz.rivus.jp)
ここを見たのか

何をやってみて、その結果
どんなエラーが出たのかを書けばいいんじゃない?

そうしないと
・Oracleインストールしてないんじゃねーの?
・「SQL>」ってそのまま打ち込んだんじゃねーの?
・hogeテーブルつくってないんじゃねーの?
・PLUSTRACEロール作ってないんじゃねーの?
・GRANTしてないんじゃねーの?
って馬鹿にされるだけ

722:NAME IS NULL
07/10/17 02:17:38 71Y6EBkY
>>721
ご返事ありがとうございます。

そのURLです。感謝です。
内容は、
1.sys as sysdbaでplustrace.sqlを実行
2.scott に plustraceを付与
3.scottでutlxplan.sqlを実行
4.scottでhoge表を作成
5.set autotrace on → select * from hoge
すると、

実行計画
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF 'HOGE'
統計
----------------------------------------------------------
0 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
228 bytes sent via SQL*Net to client
372 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
0 rows processed

となり、rows,bytes,cost(%cpu),timeなどが表示されません。
timed_statisticsはtrue、statistics_levelはtypicalです。
よろしくお願いします。

723:NAME IS NULL
07/10/17 03:43:34
10g Release2からフォーマットが変わったんだってさー。

SQL*Plus ユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2)
URLリンク(otndnld.oracle.co.jp)

・Autotrace Plan出力
Autotrace Plan出力では、情報が追加され、DBMS_XPLANパッケージ形式が採用されています。

724:NAME IS NULL
07/10/17 22:50:16 71Y6EBkY
>>723
ありがとうございました。
バージョンあげないとダメなんですね。。


725:NAME IS NULL
07/10/17 23:18:41
>>724
EXPLAIN PLAN FOR select * from hoge;
@?/rdbms/admin/utlxpls.sql

726:NAME IS NULL
07/10/18 22:25:29 J6h+RjKg
>>725
度々ありがとうございます。感謝です。
timeが出ないのが残念ですが、set timing on
で妥協します。。

727:NAME IS NULL
07/10/28 10:12:32
Oracle 11g 試した人は?

728:OfgoHgvTsOTtdvI
07/11/12 06:21:15
JtAZqq <a href="URLリンク(brnuilaqsfrr.com) [url=URLリンク(ucqqtnimqrmr.com) [link=URLリンク(xqdyrhjrqdlh.com) URLリンク(pxnybruverwn.com)

729:vELYWLIVFNyzkv
07/11/14 00:48:38
VQItLW <a href="URLリンク(kyjcsdjtzaxl.com) [url=URLリンク(tiqhvexmwhbv.com) [link=URLリンク(bwcfhxgsyyyg.com) URLリンク(rcvnkazixaqx.com)

730:FrpNgKyqRI
07/11/14 14:49:51
2PeCrp <a href="URLリンク(kumenfehjyer.com) [url=URLリンク(ffllsutrhdyx.com) [link=URLリンク(wlpgiioqtevk.com) URLリンク(pywkdlxcpnae.com)

731:NAME IS NULL
07/11/14 20:57:02
Oracle9iで、OSがWindows2003です。

上記の環境で使用しているSQL-Loaderが時間がかかるようになってきました。
単純にデータが増加してきたのでしょうがないのですが、
短くする方法というのはないでしょうか?
ネットで調べた結果、「ダイレクトパスインサート」という方法を
使用すればいいのかな?と思ったのですが。
ちなみに処理自体は、同じDB内のユーザーA.テーブルAから
項目順をかえ・日付項目を文字列化し・改行文字を置き換えて
ユーザーB.テーブルBに毎日洗替でINSERTしてます。
これは、一旦SQL文で上記の置換などを行ったものをテキストファイルに
書き出し、それをSQL-Loader(REPLACEモード)を使ってINSERTしてます。

どうかお知恵をかしください。よろしくお願いします。

732:NAME IS NULL
07/11/15 00:18:26
>>731
可能ならREPLACEよりTRUNCATEだろうな。
ダイレクトパスを使うならなおのこと。
速くはなるが制限もあるのでしっかりテストしてくれ。

733:NAME IS NULL
07/11/15 00:28:41
>>727
最初からSQL Developerはいってた。

734:NAME IS NULL
07/11/15 00:43:18
>>731

それってSQL*Loader使ってやらんでも、PL/SQLか何かで回して
やれば良さそうな気がするんだけど、気のせい?

735:731
07/11/15 21:03:14
>732
ありがとうございます。やはりそうでしたか。
いろいろ制限もあるみたいですし、テストやって考えます。
>734
ぶっちゃけそうです。ていうか自分で作ったなら、
何で一旦テキストファイルに吐き出すなんていうムダなことを思いつくんだ?
ていうぐらい謎のプログラムなんです。
違うユーザーとはいえ、普通にSQL文で対応可能なんですよ…
それにダイレクトパス使えばもっと高速と。
ただ、今回は時間と工数がないので、とりあえずの対応としてローダーを
早くしようとしております。

736:NAME IS NULL
07/11/16 00:12:00
>>735

もし工数が無いのなら、Viewか何かで対応したらいいんじゃないかと思うんだが?

737:NAME IS NULL
07/11/16 01:01:34
同じ項目のテーブルAとBがあって
Aに有ってBに無いレコードをBにインサートするには、

INSERT INTO B
(
SELECT * FROM A
MINUS
SELECT * FROM B
)

でOk?

738:NAME IS NULL
07/11/16 20:21:19
>>737

・MERGE文
・↓のようなものをインサート
(
SELECT A.* FROM A
LEFT OUTER JOIN B ON (~~)
WHERE
B.rowid is null
)
・↓のようなものをインサート
(
SELECT * FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE A.primaryKey = B.primaryKey ~~)
)
・↓のようなものをインサート
(
SELECT * FROM A WHERE A.primaryKey NOT IN (SELECT B.primaryKey FROM B )
)


739:NAME IS NULL
07/11/17 12:05:39
データベースリンクって使用して何か
困ったこととがありました?

740:NAME IS NULL
07/11/17 13:46:49
>>739

やたらと質問が抽象的だな。
昔は結構バグとかあったけど、最近は結構枯れてきている技術だから
そんなに不都合は発生しないと思うけど?

741:NAME IS NULL
07/11/17 14:46:46
DBリンク先と接続できない場合に,障害検知までに若干時間がかかる.
コネクションがしばらく残るから接続数の余裕がシビアな環境では思わぬリソースを食う.
そもそも昨今のHDD容量なら,DBリンク張ってサーバを分割する必要はあんま無いと思う.


742:NAME IS NULL
07/11/17 21:23:31
DBリンクって単純にサーバ分割するためのものか?

743:NAME IS NULL
07/11/17 21:28:14
派閥を分けるのにも使える

744:NAME IS NULL
07/11/17 22:42:41
別システムにマスタがある場合とかに使うけど、なるべくなら使わないでほしい。

745:NAME IS NULL
07/11/18 10:02:24
複製の方が一般的なのかな?


746:NAME IS NULL
07/11/18 10:28:18
例えば受注管理システムと生産管理システムが別々のDBに入っている場合で,
データのやりとりを円滑にするためにDBリンク張ったりするんだろうけど,
この場合,受注管理と生産管理をそれぞれ別スキーマとして,
同じDBインスタンスに放り込んで,シノニム経由なんかにした方が合理的,
ついでに昨今のサーバなら幾らでもデータ入るんだから,
同じサーバ内に同居させた方が良い,と言う話ですな.

参照のみならマテリアライズドビューを噛ました方が,
最悪DBリンクが切れても参照だけならできるから良いかも.

747:NAME IS NULL
07/11/18 12:32:03
>>746

必ずしも全部を新規構築できるわけじゃないから、
やむを得ず DB link を使うということはあると思うけど。

ストレージも信頼性の高いものを使うと恐ろしい値段になるし、
まだまだ「幾らでもデータ入る」というわけじゃない。
IBM DS8000 とかのことを言ってるんだけどね。

746 の言うこともわかるので、場合によりけりだろうかと。


748:JTLOQtCjv
07/11/20 21:31:22
hhJamt <a href="URLリンク(ktqyonfhfpfa.com) [url=URLリンク(ompjdlwxamuz.com) [link=URLリンク(ktqovczonfrh.com) URLリンク(scdcycaohszi.com)

749:NAME IS NULL
07/11/20 21:35:05 1MXWt+Kj
少しは運用の事考えろよ。
なにも考えずに合理的ってアホか

750:jaRWVWzy
07/11/20 21:55:34
lePxK8 <a href="URLリンク(itlfechfrgfr.com) [url=URLリンク(tdqvxdwspwaa.com) [link=URLリンク(mnzakwwlbbvg.com) URLリンク(eteyfpadvelc.com)

751:SxaDEXHyQLWacUiwVv
07/11/20 21:56:10
YgwLEH <a href="URLリンク(tlwxrmownvtc.com) [url=URLリンク(qtttqauwemde.com) [link=URLリンク(havofwrserwk.com) URLリンク(qczpydankgge.com)

752:NAME IS NULL
07/11/21 23:48:27
I was just a child when the stars fell from the skies.

753:NAME IS NULL
07/11/21 23:49:32
But I remember how they built a cannon to destroy them.

754:NAME IS NULL
07/11/21 23:51:03
And in turn how that cannon brought war upon us.

755:NAME IS NULL
07/11/21 23:53:37
War was an abstract idea, nothing more than a show on TV.

756:NAME IS NULL
07/11/21 23:55:37
As a child, I only saw it as something that happened in some far away land...

757:NAME IS NULL
07/11/21 23:56:51
Until that final day of summer...

758:NAME IS NULL
07/11/21 23:57:45
One day while on my way to school, I looked up in the skies.

759:NAME IS NULL
07/11/21 23:58:44
A sound like distant thunder.

760:NAME IS NULL
07/11/22 01:48:51
I'am a girl in love, just a girl in love.

761:NAME IS NULL
07/11/22 17:40:42
oracleのpl/sqlをunixのコンソール上でデバッグしたいのですが、
そんなコマンドあるでしょうか?

762:NAME IS NULL
07/11/22 17:44:27
まず、Oracleの製品に対して知識を身につけることをお勧めする。
クライアントツールで該当製品が存在しないか調べるように。

763:NAME IS NULL
07/11/23 04:29:48
>>761

SQL*PLUSのプロンプトでshow errorで一個ずつ潰していく。

764:lTaNvRAgIfHnodj
07/11/23 04:52:24
URLリンク(ublog.union.edu) buy zovirax

765:NAME IS NULL
07/11/23 08:51:25 wJPDrYJd
んで、show errors でわからんかったら、
SQL Developerでステップ実行したら、いいんじゃね?

766:NAME IS NULL
07/11/23 12:32:35
ユーザにデバッグ権限与えてしかるべきポートを開きそこに接続

767:palNVNjnCFL
07/11/23 21:15:18
URLリンク(kgnsye.cn) Imax california
URLリンク(kgnsye.cn) California dept of corporation htm
URLリンク(kgnsye.cn) Single family homes carlsbad california
URLリンク(kgnsye.cn) Archangel tattoo design
URLリンク(kgnsye.cn) Blue book pricings for atv

768:dOzoseWGoxAlxs
07/11/23 21:15:50
URLリンク(kgnsye.cn) Imax california
URLリンク(kgnsye.cn) California dept of corporation htm
URLリンク(kgnsye.cn) Single family homes carlsbad california
URLリンク(kgnsye.cn) Archangel tattoo design
URLリンク(kgnsye.cn) Blue book pricings for atv

769:MBYlAnagDOsOhT
07/11/24 06:46:21
URLリンク(dtdxmf.cn) eric Clapton mp3

770:NAME IS NULL
07/11/24 16:19:47 Lf07jaAJ
OracleでつかえるSQLクライアント標準で付属してないの?

フリーとかシェアつかうの禁止なんだけどどうすれば....
SQL*PLUSのプロンプトでがんばれと

771:NAME IS NULL
07/11/24 17:50:28
>>770

SQL*Plusはお前が考えているよりずっと高機能だぞ。
一度マニュアルをちゃんと読んでみるといい。

772:NAME IS NULL
07/11/24 18:50:17
>>770
11gからはSQL Developerが標準で付いています。
付いていない9i, 10gでもダウンロードすればいいでしょう。

773:NAME IS NULL
07/11/24 21:40:27
EMないしOEM使えばいいじゃん。


774:NAME IS NULL
07/11/24 23:05:25
>>770

( ´ー`)つiSQL*PLUS

775:AMyYhVtZT
07/11/25 02:12:25
URLリンク(bfsnbw.cn) anchor

776:NAME IS NULL
07/12/01 10:48:07
>>774
11gには無い

777:仕様書無しさん
07/12/01 14:35:16
SQL*Plusに不自由を感じた事がないんだが。


778:NAME IS NULL
07/12/02 01:05:20
>>770

( ´ー`)つラプター

779:NAME IS NULL
07/12/02 08:37:27
gvimとかxyzzyのsqlplusモードを使えば?
一応,DBに対してはsqlplusで接続してることになるから規約違反にはならないと思うけど.
もしくはそれらを参考にsqlplusのフロントエンドを自作するか.

780:NAME IS NULL
07/12/02 09:16:03
>>770
つ「ACCESS + ODBC」
俺なら絶対にやらないけどwww

Object Browserでも買え。


最終的には>>777に同意。


781:NAME IS NULL
07/12/08 02:04:39
ORACLE M@STER

782:NAME IS NULL
07/12/08 02:28:10
PL/SQLの開発で使うのに、
SQL DeveloperとPL/SQL Developer、どっちが良く使われてンの?

両方落として試してみたけど、EasyさではPL/SQL Dev. のような感じがした。
ていうか、SQL Dev.は重過ぎる(64X2 3800+)



783:NAME IS NULL
07/12/08 10:11:18
ObjectBrowserで開発しなくてはいけない俺はいったい・・・
はっきり言って運用ツールだよなこれ?

784:NAME IS NULL
07/12/08 13:22:47
いいえ、ケフィアです。

785:NAME IS NULL
07/12/08 14:42:22
>>783
運用ツールとしてもそこまで優秀とは思えない。
まあ、適当にがんばれ。

786:NAME IS NULL
07/12/08 15:01:11
>>783
マシンは買い換えられない、高いツールも買えない
完全に貧乏人のための寄せ集めツール
ま、俺も個人購入で使ってるが・・・

787:NAME IS NULL
07/12/08 15:32:37 bXZiXaG3
>782
テキストエディタとSQL*Plusっていう人も多いかも。

788:NAME IS NULL
07/12/08 17:06:22
>>787
いや、漏れも何年か前まではsql*plusのworksheetオンリーだったんだけどね。
今更そんな環境には戻れん。特にデバグ効率が違いすぎる。あとコード補完。

真のオラクラーだとplusだけでデバグ出来無きゃならんのかも知れんけど、実際の現
場ではとにかく効率重視な訳で。

789:NAME IS NULL
07/12/27 13:13:57
alter table 移動したいテーブル名 move tablespace 移動したい領域名
で移動中に、移動したいテーブル名に対してinsertした場合は、insertがロックされ移動終了後に正常にinsertが成功する流れになるでしょうか?

790:NAME IS NULL
07/12/28 00:59:43 1F8gzvEg
>789
索引が付いていれば、索引が無効になるので、insert時にエラー。
そうでなければ、成功。

791:NAME IS NULL
08/01/16 13:50:31 7pbGQp1K
どなたかご存知であれば教えていただきたいのですが、
会社でオラクルを購入することになりました。

一応、『ORACLE Standard Edition ONE 10g (10.1.0) 5NUP 製品版 for Win』の購入を考えています。

WEBアプリケーションの開発に使用するのですが、
開発に使用する端末のスペックは以下のとおりです。

  CPU:mobile AMD XP-M 2400+(1.8GHz)
  メモリ:1GB

上記スペックでオラクルは使用できますでしょうか?


もう1点教えていただきたいのですが、
購入しようとしている製品は9万円弱なのですが、
同じ5クライアントの製品で
『ORACLE Standard Edition 10g (10.1.0) 5NUP 製品版 for Win 』
というのがあります。(こちらは12万円くらい)

この2つは何が違うのでしょうか?


色々調べたのですがわからなくて質問しました。
よろしくお願いします。

792:NAME IS NULL
08/01/16 14:01:54 7pbGQp1K
789です。

使用しているOSを書くのを忘れました。

OSは

  WindowsXP HomeEdition Version 2002 SP2

です。

ほかのスレッドを見ているとHomeEditionだと動かないとか、
動いているとか色々な人がいるようですが…実際のところどうなんでしょうか?

793:NAME IS NULL
08/01/16 14:18:59
オフィシャルのシステム要件のページがMetaLinkに転送されるようになってた。
何かあったのかな。

>>791-792
マニュアルから
URLリンク(otndnld.oracle.co.jp)
Oracle Database ソフトウェア要件
32ビットWindows用のOracle Databaseは、次のオペレーティング・システムでサポートされています。
 -Windows XP Professional

エディション毎の機能の違い
ページはあるんだけど、これは11gのものなのでバージョン違い。
URLリンク(www.oracle.com)

ってことで、カタログから。
URLリンク(www.oracle.co.jp)
一番下に各エディション毎の機能対応表が。

794:NAME IS NULL
08/01/16 14:51:21
>>791
その程度の機種・用途なら、無料のExpressEditionを使うべきでは?

あと、実運用ではなく、開発のためだけであれば、そもそもライセンスを買う必要もない。


795:NAME IS NULL
08/01/16 14:52:43 7pbGQp1K
>>793

情報ありがとうございました。

やはりHomeEditionはサポート対象外なのですね。

796:NAME IS NULL
08/01/16 14:54:03 7pbGQp1K
>>795

すいません。レスの番号をまちがえました…。

2ちゃんねる初心者なもので…。

797:NAME IS NULL
08/01/16 14:54:59 7pbGQp1K
>>794

また間違えてしまいました…。スミマセン。

798:NAME IS NULL
08/01/16 16:37:02
>>789
OracleをXP Homeに入れるのは
自己責任で対処できるだけの
自信がなければダメだよ。

素直にXP Proに汁。

799:NAME IS NULL
08/01/16 17:01:17
俺は開発デモ機にノートPCのXP Homeに入れたことがあったけど、
特に問題は起きなかったよ。
ただし、管理者権限が細かく設定できないからお勧めできないし、
保障対象外なので素直にやめておいた方が良いよ。


800:NAME IS NULL
08/01/16 17:04:36
>>799
俺は全く問題ないケースと、
DBCA/NETCAが起動しないケースがあったな。


801:NAME IS NULL
08/01/17 12:19:08 8keqyfsn
791です。

皆様ご意見ありがとうございました。

社長と相談し、最終的にOSをProにアップグレードすることになりました。

OracleのサポートもOSがHomeだとサポート対象外ということもありますし…。

先ほど、開発端末2台分のWindowsXP Professional アップグレード版を2つ購入してきました。

午後からはOracleを買いに行きます。

色々とありがとうございました。

802:NAME IS NULL
08/01/17 14:42:45
今Oracleって小売店で買えるの?
確かに昔ぷらっとほーむで見たことはあるが…

803:NAME IS NULL
08/01/18 03:59:06
>>801

Oracleダイレクトに電話してライセンスだけ買えば?
本体はU.S OTNからででも落とせばいいし?

804:NAME IS NULL
08/01/18 12:20:33 Uu/5PqWD
791です。

Oracleは会社の都合で今週中に必要だったので、
代理店に直接受け取りにいきました。

箱を空けたらCDやらDVDやらが30枚くらい入っていてびっくりしました。
(なのに説明書はペラペラです…)

とりあえずvistaの端末にデータベースとクライアントをインストールしました。

805:NAME IS NULL
08/01/18 12:52:41
今はマニュアルも全てデータだからね
昔はちゃんとした本で、その重さときたら・・・

806:NAME IS NULL
08/01/18 16:15:52
まあ重さもそうだが値段もすごかったな。
たかがダンボール数箱分のくせに車買えるくらいした。

807:NAME IS NULL
08/01/18 20:26:51 BBt2DSbf
CentOS5 + Oracle10g の環境です。

Oracle サーバ (=NFS クライアント) 上の oradata 配下を NFS に配置した
スタイルで運用しようと試行錯誤しているのですが、ORA-00205 が発生するため
データベースをマウントした状態でインスタンスを起動できません。
nomount なら起動できます。
アラート ログに下記のエラーメッセージが出力されます。

ORA-00202: Message 202 not found; No message file for product=RDBMS, facility=ORA; arguments: [/opt/oracle/product/10.2.0/db_1/oradata/tstdb1/control01.ctl]
ORA-27086: Message 27086 not found; No message file for product=RDBMS, facility=ORA
Linux Error: 37: No locks available
Additional information: 10
Fri Jan 18 19:40:01 2008
ORA-205 signalled during: ALTER DATABASE MOUNT...

NFS クライアントのマウント オプションは下記の通りです。
hard,initr,rsize=16384,wsize=16384

調べると、ファイルのロック制御に失敗しているようなのですが、なかなか有効な情報が
見つからず困っています。
oradata 配下を NFS に配置することはできないのでしょうか。

808:807
08/01/18 20:34:28
x : hard,initr
o : hard,intr

809:NAME IS NULL
08/01/18 20:34:31
>>807
データベースファイルをNFSで運用するのは非推奨だし、
たしか動作保証外になってた希ガス。


810:NAME IS NULL
08/01/18 21:16:55
> oradata 配下を NFS に配置することはできないのでしょうか。

はい。できません。

どうしても共有したければ OCFS2 を構成してください。


811:NAME IS NULL
08/01/18 21:32:15 SGztWTji
米Sun、MySQLを買収。「SolarisにはMySQL、WindowsにはSQL Server、Oracleオワタ\(^o^)/」という時代へ
スレリンク(news板)

812:NAME IS NULL
08/01/18 22:12:17
ならないよw
DBに関する重要特許は独占しているし、安定性もセキュリティも桁違い。

813:NAME IS NULL
08/01/18 22:20:17
MySQL監査機能がないから
最近の案件だと製品選定で真っ先に落ちる


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch