Oracle 質問総合スレ

このエントリーをはてなブックマークに追加
942NAME IS NULL:2007/11/08(木) 11:40:00 ID:???
>>941
列の変更内容を確認して、処理をバイパスするようにすればよくね?
943NAME IS NULL:2007/11/08(木) 12:44:23 ID:???
>>942
まだ試してはいないのですが、
普段から全列の比較を行なうと、必要なトリガ処理も遅くなりやしないかと・・・
944NAME IS NULL:2007/11/08(木) 13:19:38 ID:???
>>940
ありがとうございます。UNIONは頭にありませんでした・・・
しかし実行すると not a single-group group functionが発生します。
group byでnameとestimateを指定しても同じでした。この場合どこをgroup指定すればよいのでしょうか?
945NAME IS NULL:2007/11/08(木) 15:25:02 ID:???
連投すいません。自己解決いたしました。
946NAME IS NULL:2007/11/08(木) 21:20:55 ID:E3dPED87
オラクル、PC初心者です。

oracle database 10gをインストールしました。

Enterprise Managerに繋ぎたいのですが
つながりません。
http://ホスト名:ポート番号/em/
なのは分かるのですが、
ポート番号はportlist.iniを参照すればわかります。
ホスト名を確認するにはどうすればいいのでしょうか?
947NAME IS NULL:2007/11/08(木) 21:24:08 ID:???
>>946
IPアドレスで繋がるだろ。
948NAME IS NULL:2007/11/08(木) 21:27:12 ID:E3dPED87
どうすればわかりますか?
PCも初心者なので。。。
949NAME IS NULL:2007/11/08(木) 21:29:37 ID:E3dPED87
今、IPアドレス分かったので、
http://ipaddress:1158/em/
でアクセスしましたが、
つながりません。

何が悪いかわかりません。
どうしたらいいでしょうか?
950NAME IS NULL:2007/11/08(木) 21:56:01 ID:???
インストールしたマシンだったら
http://localhost:1158/em/
でいいんじゃね?
951NAME IS NULL:2007/11/08(木) 22:03:00 ID:E3dPED87
>950
おっしゃるとおりにしましたが、
だめでした。
http://localhost:1158/em/
どうしたらいいでしょうか?
952NAME IS NULL:2007/11/08(木) 22:15:40 ID:???
emctl status dbconsole で確認すれ
953NAME IS NULL:2007/11/08(木) 22:23:25 ID:E3dPED87
>>952
C:\Documents and Settings\User>emctl status dbconsole
Environment variable ORACLE_SID not defined. Please define it.

このようなログです。
どうすればいいですか?
954NAME IS NULL:2007/11/08(木) 22:32:25 ID:???
環境変数「ORACLE_SID」が定義されてないよ。ということ。
とりあえず、インストール時に設定したSID(orclとか)を環境変数にセットして再度emctl〜

set ORACLE_SID=orcl
emctl 〜
955NAME IS NULL:2007/11/08(木) 22:46:48 ID:E3dPED87
インストール時に設定したSIDはmydynabookにしました。

C:\Documents and Settings\User>set ORACLE_SID=mydynabook

C:\Documents and Settings\User>emctl status dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://MYDYNABOOK:1158/em/console/aboutApplication
Oracle Enterprise Manager 10g is not running.

となりました。
どうすればいいですか?
956NAME IS NULL:2007/11/08(木) 22:49:15 ID:???
Oracle Enterprise Manager 10g is not running.

サービスが起動していないようですので、
以下のコマンドでサービスを起動させてから、上のようにブラウザでアクセスしてみてください。
そのときに、アクセスすべきURL等も表示されたと思います。

emctl start dbconsole
957NAME IS NULL:2007/11/08(木) 22:56:06 ID:E3dPED87
C:\Documents and Settings\User>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://MYDYNABOOK:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...要求したサービスは既に開始されています。

NET HELPMSG 2182 と入力すると、より詳しい説明が得られます。


C:\Documents and Settings\User>NET HELPMSG 2182

要求したサービスは既に開始されています。


説明

既に動作中のサービスを開始しようとしました。

対処

動作中のサービスを一覧表示するには、次のように入力してください:

        NET START
958NAME IS NULL:2007/11/08(木) 22:56:39 ID:E3dPED87


この後に
ブラウザにアクセスしましたがだめでした。。。
959NAME IS NULL:2007/11/08(木) 23:17:46 ID:???
う〜ん、http://localhost:1158/em/でも駄目なんだよね
コンパネのサービスの「OracleDBConsole」は開始状態になってる?
なっていれば、そのPCからのアクセスはできると思うんですがねぇ。
960NAME IS NULL:2007/11/08(木) 23:37:58 ID:E3dPED87
http://localhost:1158/em/
でもだめです。。。
OracleDBConsoleは確認したところ起動してます。

他に考えられる原因はありますでしょうか?
961NAME IS NULL:2007/11/08(木) 23:45:01 ID:???
パーソナルファイアーウォール
962NAME IS NULL:2007/11/08(木) 23:58:31 ID:E3dPED87
え?
963936:2007/11/09(金) 00:05:54 ID:???
>>937,938
レスありがとう
ttp://www.techscore.com/tech/sql/11_03.html
を見た感じだと、SERIALIZABLEしておけば無敵のような気がして。
それだけなんです。意味不明な勘違い野郎でしょうか?
964NAME IS NULL:2007/11/09(金) 00:10:32 ID:???
>>962

>>961ではないけど、外部からのアクセスに対してポート1158が閉じているんじゃないか?ということ。

明日早くもう寝ますので最後になりますが、サービスの「OracleServicemydynabook」がある筈なので
それも起動されているか確認してください。

あと、OSの種類やブラウザでアクセスするととどの様になるか(Not Foundになるとか)を提示すれば、
他の方からもヒントを得られるかもしれません。また、ネットでも検索してみてはいかがでしょうか。
965NAME IS NULL:2007/11/09(金) 00:22:54 ID:VyNt3dee
>>964
とりあえず報告まで。

OracleServicemydynabookがあり、状態は『起動』となっています。

ブラウザでアクセスしたときの状況ですが、
OSはWindowsXP
http://localhost:1158/em/でアクセスすると
------------------------------------
 ページを表示できません。
検索中のページは現在、利用できません。Web サイトに技術的な問題が発生しているか、ブラウザの設定を調整する必要があります。
ネットワーク接続の問題の修正を試みるには、 [ツール]、[接続の問題の診断...]"をクリックしてください。
-------------------------

とこんな感じで表示されます。

遅くまで申し訳ないです。。。

966NAME IS NULL:2007/11/09(金) 00:24:22 ID:???
>>960
%ORACLE_HOME%\install の下の portlist.ini ファイルでポートを調べて
http://localhost:ポート/em/
967NAME IS NULL:2007/11/09(金) 00:28:27 ID:VyNt3dee
iSQL*Plus HTTPポート番号 =5560
Enterprise ManagerコンソールのHTTPポート(mydynabook) = 1158
Enterprise Managerエージェントのポート(mydynabook) = 3938

この場合1158でいいんですよね?
でもだめです。
なにがいけないのでしょうか?
968NAME IS NULL :2007/11/09(金) 03:36:12 ID:???
>>963

普通はデフォルトのREAD COMMITTEDでそんなに不都合は発生しないと思うけど?
銀行系のトランザクションでガチになんかしないとならんのか?
969NAME IS NULL :2007/11/09(金) 03:38:34 ID:???
>>967

まずはTelnet使うなり、なんなりしてPortに繋がるか試してみたら?
Loopbackアドレスは試してみたか?
http://127.0.0.1:1158/em
とかみたいにさ?

あとはブラウザーで串通していたりとかしていないか?
ブラウザーのインターネットオプション関係でプロクシー関係の所全部
外してアクセスしてみろ。
970NAME IS NULL:2007/11/09(金) 09:43:42 ID:???
Windows XPのSP2ならコンパネの下にWindows ファイアウォールがあるが、それが遮断している可能性は?
とりあえず、このファイアウォールをオフしてから試してみるとか。
971NAME IS NULL:2007/11/09(金) 12:00:31 ID:VyNt3dee
>>969
初心者なので解読が難しいです。ごめんなさい。
普通はそのへんの設定をしなくてもアクセスできるものなのですよね?

>>970
やってみましたが、無理でした。

そもそもお聞きしたいのですが、
今回Oracleの勉強をするために
Oracle Database 10g を
自宅PCに取り込んでとのことだったのですが、
インストールするのは
DVD内の『Database』フォルダ内のインストーラー
だけでいいんですよね?
『client』フォルダや他のフォルダ内ののインストーラーは
必要ないんですよね?
その辺があやふやなもので。
ご回答お願いします。
972NAME IS NULL:2007/11/09(金) 14:06:04 ID:???
>>971
http://localhost:1158/
だけで、
Oracle Application Server Containers for J2EE 10g (9.0.4.1.0)
なタイトルの画面が表示されない?
もし駄目なら ブラウザを変えてアクセスしてみるとか
Firefox や Opera を一時的にインスコしてみて アクセスできないかためしてみたら?
973NAME IS NULL:2007/11/09(金) 14:11:21 ID:???
そもそも SQL*PLUS で ORACLE に接続できますか?

コマンドプロンプトから
> sqlplus scott/tiger

接続されました
SQL>

まで行く?
974NAME IS NULL:2007/11/09(金) 16:09:44 ID:v3ZhBncP
C:\Documents and Settings\User>sqlplus scott/tiger

SQL*Plus: Release 10.2.0.1.0 - Production on 金 11月 9 16:09:29 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました


ユーザー名を入力してください:
ERROR:
ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
975NAME IS NULL:2007/11/09(金) 16:30:01 ID:???
>>974
Oracleサーバを別のPCにインストールしてるなら、

> sqlplus scott/tiger@<接続文字列>

となる <接続文字列> は設定してますか?
976NAME IS NULL:2007/11/09(金) 21:10:34 ID:???
すみません質問です。
PLSQLでパイプライン関数に配列(PLSQL表)を引数で渡したいのですが、コンパイルエラーになってしまいます。
ちなみに、開発者ガイドでは通常のファンクションで渡せるものは使えると記述されていました。
引数をVARCHAR2にするとコンパイルが通ることは確認しています。よろしくお願いします。
977NAME IS NULL:2007/11/09(金) 21:14:26 ID:???
書き忘れました。
環境は10gリリース2です。
978NAME IS NULL:2007/11/09(金) 21:18:39 ID:???
>>977
表関数は関係なく配列のタイプがまずい
979936:2007/11/10(土) 01:10:08 ID:???
>>968
レスありがとうございます。
銀行系ではないです。
いや、なんか、石橋な安全策をとるのであれば、
ノンリピータブルリードとファントムインサートとか
も気にしたほうがいいのかと思ってしまいまして。
えーと、銀行系でもないのであれば、トランザクション
の設定を変更せずに他の処理で排他制御を行うということで
いいのでしょうか?
980NAME IS NULL :2007/11/10(土) 03:30:02 ID:???
>>979

RDBMSでアプリ開発した事があるのなら、このあたりの処理とかも
分かってデザインとかしていると思うけどねぇ。
そこまでガチにファントムインサートやらノンリピータブルリードとかを
気にしないとならないアプリとかは、まだお目にかかった事ないな。
981NAME IS NULL :2007/11/10(土) 03:31:12 ID:???
>>974

DBが起動すらしていない可能性が高いな。
それとリスナーも落ちてんじゃないのか?
いずれにせよ初心者がいきなりDB入れてどうこうできるものではないよ。
ちゃんと勉強してからインストールもした方がいい。
982NAME IS NULL:2007/11/10(土) 06:31:18 ID:???
オブジェクトブラウザで更新するにはどこか設定が必要ですか?
983NAME IS NULL:2007/11/10(土) 07:56:36 ID:???
>>982
接続スキーマの対象オブジェクトへの更新権限かな。
984NAME IS NULL:2007/11/10(土) 08:59:24 ID:Hk8Ewm0v
974ですが、
色々ご意見ありがとうございます。
そもそも自分のPCのメモリは256MBでして
これって少ないですか?
実質は240MBくらいです。
さくさく動かすにはどのくらいのメモリが
必要でしょうか?
また一から出直して
やってみたいと思います。
そのときはみなさま
ご協力お願い致します。
985NAME IS NULL :2007/11/10(土) 11:05:39 ID:???
>>984

10gなら2GB。
986oraora:2007/11/10(土) 14:14:14 ID:WHCji1vp
質問です、つい先日ORACLEを導入した超初心者です。
ORACLE 10Gを使用しています。
統計情報を取得するとパフォーマンスがUPする(何かのサイトでそんな事が書いてました。)との事で、
optimaizerはchooseで設定し、一部のテーブルのみ統計情報を取得しております。
皆さん統計情報の取得はどうされていますか?
どのような条件のテーブルの場合統計情報を取得しているかお聞かせ下さい。
(例えばレコード数が多い又は全テーブルなど。。)
すみません、統計情報がどのように役にたつか、いまいちその良さが
理解できていません。。
987NAME IS NULL:2007/11/10(土) 20:29:46 ID:???
>>986
10gはデフォルトで定期的に統計情報取得するようになっているだろ?
988oraora:2007/11/10(土) 20:58:28 ID:WHCji1vp
>987さん
そうなのですが、自動取得する統計情報は一旦統計情報を手動で取得
してからではないと、自動取得する対象にならないみたいなのですが。。
optimizer_mode=chooseだからですかね
989NAME IS NULL:2007/11/10(土) 22:14:47 ID:???
そんなはずはないぞー
990NAME IS NULL:2007/11/10(土) 23:59:30 ID:???
991NAME IS NULL
>>986

統計情報は馬鹿なOracleのコストベースオプティマイザーが狂った
実行計画で全件検索かけたり、内部ビューを作ったりして検索の
パフォーマンスが極端に遅くなったりしない様に、データの分布や
索引の構成情報を最新のものに保つために取ります。
ただし、コストベースオプティマイザーが常に最速の実行計画で
検索してくれるとは限りません。
そんな時にはヒント文などを用いて、強制的に自分で実行計画を
良いものに変更する等の対応が求められます。

統計情報の取得のタイミングとしては、データ量や分布がそんなに
変化しない表なら頻度は高くなくていいだろうし、逆に挿入・削除などが
頻繁に行なわれるようなら、大規模挿入・削除が行なわれた直後には
必ず行なうなどの対応をする必要があるでしょう。