[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/16 00:32 / Filesize : 269 KB / Number-of Response : 970
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Oracle 質問総合スレ2



1 名前:NAME IS NULL [2007/11/11(日) 09:59:59 ID:CkUvZ6Yh]


◆前スレ

Oracle 質問総合スレ
pc11.2ch.net/test/read.cgi/db/1163907455

◆公式サイト

OTN-J
ttp://otn.oracle.co.jp/

OTN
ttp://www.oracle.com/technology//index.html



2 名前:NAME IS NULL [2007/11/11(日) 10:48:20 ID:nV8gYVk+]
>>1


3 名前:NAME IS NULL mailto:sage [2007/11/11(日) 10:50:51 ID:???]
んで・・ジュースは飲んだのか?w

4 名前:NAME IS NULL mailto:sage [2007/11/11(日) 11:28:23 ID:???]
>>1

乙。

毎回の事だけど補足ね。

OTNからダウソ出来るソフトは、使用期限がついているものの、これは紳士協定に
なっていて、機能的に使えなくなるというものではない。

5 名前:NAME IS NULL mailto:sage [2007/11/13(火) 01:49:50 ID:???]
普通にoracle.comからDownloadすればいいと思うよ。
今ならOracle 11gが手に入るわけだし。

6 名前:NAME IS NULL mailto:age [2007/11/13(火) 13:34:17 ID:???]
項目テーブル:項目コード(PK)、値

というテーブルがあり、項目の値を集計しないといけません。

例えば集計項目1番は
項目コード1の値 * 項目コード2の値 + 項目コード3の値
集計項目2番は
(項目コード2の値 + 項目コード3の値) / 項目コード1の値

というように求めます。
このような条件の時、DB内でうまく演算の順序を保持し、計算結果を
出せるような仕組みって可能でしょうか?

7 名前:NAME IS NULL mailto:sage [2007/11/13(火) 13:35:55 ID:???]
>>6

( ^ω^)つ View

8 名前:NAME IS NULL mailto:age [2007/11/13(火) 13:40:44 ID:???]
>>7
ですよねーorz
+、−だけだったらできるんですけど…orz

9 名前:NAME IS NULL [2007/11/13(火) 21:33:42 ID:win9bqJG]
dete型で年、月、日の値を持っておいて、
select * from テーブル名を実行した時に
デフォルトで月だけを表示するようにって出来きますか?

10 名前:NAME IS NULL mailto:sage [2007/11/13(火) 23:33:05 ID:???]
>>9

SQL> alter session set nls_date_format ='MON';

Session altered.

SQL> select sysdate from dual;

SYS
---
NOV




11 名前:NAME IS NULL mailto:sage [2007/11/13(火) 23:49:21 ID:???]
>>10
ありがとうございます。
それだと全てのテーブルに対して月だけを表示する形になるんですよね?
特定のテーブルの特定のカラムに対して限定すると言う
やり方はないのでしょうか?

12 名前:NAME IS NULL mailto:sage [2007/11/13(火) 23:52:04 ID:???]
>>11

( ^ω^)つ View

13 名前:NAME IS NULL mailto:sage [2007/11/14(水) 00:06:21 ID:???]
>>12
やっぱViewくらいしかないですよね・・・
ありがとうです><

14 名前:NAME IS NULL [2007/11/16(金) 23:32:36 ID:MwFc3JH0]
shutdownの即時モードに時間がかかってるんだけど、
原因にはどういうものがありますか?

15 名前:NAME IS NULL mailto:sage [2007/11/17(土) 00:31:29 ID:???]
DB_CACHE_SIZEが大きい場合は、
データベースバッファキャッシュ内の更新済みブロックを
データファイルに書き戻す処理に時間がかかる。

スケジュールで落とすなら、shutdown immediateする10分ぐらい前に
alter system checkpointを打つのが定番。

ただshutdown immediateが遅い/ハングする系の不具合がいくつかあるから
一度サポートに聞いてみたほうがいいかもね。

16 名前:NAME IS NULL mailto:sage [2007/11/17(土) 01:58:10 ID:???]
>>14

9i以上ならFAST_START_MTTR_TARGETをきちんと指定して、checkpointを調整するようにしろ。
9i以上ならこまめにチェックポイント取っている方が早かったりする。
redologのタイミングでチェックポイント取るのは8iまでのテクニックだな。

17 名前:NAME IS NULL mailto:sage [2007/11/17(土) 22:35:00 ID:???]
LIMITって無いの?

18 名前:NAME IS NULL mailto:sage [2007/11/18(日) 00:22:09 ID:???]
>>17

何の?


19 名前:NAME IS NULL mailto:sage [2007/11/18(日) 02:30:02 ID:???]
>>18
SELECTの結果をちょん切るやつ

20 名前:NAME IS NULL mailto:sage [2007/11/18(日) 03:00:24 ID:???]
>>19

じゃあ ROWNUM で。
今度は質問はわかりやすく書いてね。




21 名前:NAME IS NULL mailto:sage [2007/11/18(日) 11:50:41 ID:???]
LIMITはMySQL。TOPだとMS SQL Server。

22 名前:NAME IS NULL mailto:sage [2007/11/19(月) 19:11:06 ID:???]
>>20
8i以降ならROW_NUMBERの方が自由度が高くないか?

23 名前:NAME IS NULL mailto:sage [2007/11/19(月) 20:57:48 ID:???]
>>22

ROW_NUMBER() は遅くなることもあるからなぁ。


24 名前:NAME IS NULL [2007/11/19(月) 23:26:26 ID:e/HNJ/vE]
Oracleのパッケージで、SYS_REFCURSORを複数のプロシージャで使いまわすってできますか?

create or replace package aaa is
procedure testA( cur1 out sys_refcursor, cur2 out sys_refcursor, cur3 out sys_refcursor);
procedure Test1( cur1 out sys_refcursor);
procedure Test2( cur2 out sys_refcursor);
procedure Test3( cur2 out sys_refcursor);
end;

こんな感じでパッケージがあって、testA がアプリ側からCallされます。
Test1〜Test3はそれぞれ別のテーブルからデータを取得します。

まずtestA でTest1をCallし、その戻り値を判定し、以降の処理を行う。。。って感じなのですが、

create or replace package body aaa is

procedure testA( cur1 out sys_refcursor, cur2 out sys_refcursor, cur3 out sys_refcursor)
is
begin
Test1( cur1 out sys_refcursor) ;
end ;


ここで、cur1 の中身を見たいんです。
FETCHとかすればいいのかなと思っても、エラーになります。
なんかいい方法ありませんか?
なんでこんな作りなのかとか言われても答えられません。
そういうポリシーらしいです。



25 名前:NAME IS NULL mailto:sage [2007/11/19(月) 23:49:49 ID:???]
>>24

面倒かもしれないが、一回取ってきた値をどっかの表に格納して、それを他から
参照するようにでもしたら?

26 名前:NAME IS NULL [2007/11/20(火) 00:06:17 ID:C4WLKplh]
>>25
それのやり方がいまいちわからんのです。

cur_temp sys_refcur ;
って定義して、 cur_temp := cur1 ;
みたいにはやってみたんですが、
cur1の中身が消えちゃうんですよね。。。。

oracle難しい。。。。。

27 名前:NAME IS NULL mailto:sage [2007/11/20(火) 03:26:13 ID:???]
>>26

cur_temp sys_refcur ; と前もって宣言しておいて、それからPL/SQLを実行してんだよね?

28 名前:NAME IS NULL mailto:sage [2007/11/20(火) 17:35:53 ID:???]
utPLSQL って 2005年で更新止まってるけど、まだ使用できますか?


29 名前:NAME IS NULL mailto:sage [2007/11/20(火) 20:29:38 ID:???]
SYSAUXが増えつづけて止まらないんだけどなんで?

30 名前:NAME IS NULL [2007/11/20(火) 20:35:16 ID:wWhiZNbu]
パソコンショップならここ!!
want-pc.com



31 名前:NAME IS NULL mailto:sage [2007/11/21(水) 00:17:52 ID:???]
>>29

きちんとAWRのPurge Jobをスケジュールしているか?

32 名前:NAME IS NULL mailto:sage [2007/11/21(水) 00:21:09 ID:???]
純粋なOracleの質問ではないかもしれませんが、
Oracleマスタープラチナまでいくには費用はどれくらいかかるものなのでしょうか?

ブロンズ・シルバー・ゴールド・プラチナと、段階ごとに教えてくだされば助かります。
宜しくお願いします。

33 名前:NAME IS NULL mailto:sage [2007/11/21(水) 00:54:56 ID:???]
実行計画ってなに?

MySQLに例えておはなししてはくれまいか

34 名前:NAME IS NULL mailto:sage [2007/11/21(水) 03:27:25 ID:???]
>>32

根性と気合さえあれば、ゴールドまでは実機がなくても卓上の勉強だけで
取ろうと思えば取れる。
ただゴールドを取るために、最低でも試験を5つぐらい受けなくてはならなくて、
各試験毎に受験料が1万5千円ずつぐらいかかったと思った。

まあ、詳しくは以下で。
ttp://www.oracle.com/global/jp/education/certification/portal/index.html

35 名前:NAME IS NULL mailto:sage [2007/11/21(水) 03:30:42 ID:???]
>>33

簡単に言うとSQLがどういった順序で実行されているかということ。
最初に索引のスキャンがあって、次に目的のデータブロックが読み込まれて
いるといった様な事が、この実行計画を見れば分かる訳。
表や索引の分析が行われていないために、全表走査が走っているなんて
ことも分かる。



36 名前:NAME IS NULL [2007/11/21(水) 04:10:25 ID:msoO2PlP]
ユーザー単位でデータベースを削除したいんですかどうすればいいんですか?
コマンドプロンプトから行える方法を探しています

ユーザー単位でインポートしたdmpファイルをいれたいんで
一度削除したかったのですが

37 名前:NAME IS NULL mailto:sage [2007/11/21(水) 04:59:17 ID:???]
>>35
explainみたいなもの?

38 名前:NAME IS NULL [2007/11/21(水) 06:33:21 ID:TLAHprir]
>>32


試験費用については>>34の言っているとおりだが、ゴールドについては
研修で要履修コースを受ける必要があるので、その費用として
更に最低でも20万円ぐらい必要。

プラチナについてはゴールドを取得している状態からだと、要履修コースを
2つ受けて、さらに試験費用が20万円ぐらいなので、最低でもだいたい60万円ぐらい必要。

なにも持っていない状態からプラチナまで取ろうとすると試験を全部一発で合格しても
100万円近くかかるということになる。


39 名前:NAME IS NULL mailto:sage [2007/11/21(水) 08:56:40 ID:???]
>>36

お前はデータベースという単語の使い方を間違っている。
ユーザーをスキーマごと消去していいなら以下のコマンド。

drop user ユーザー名 cascade;

40 名前:NAME IS NULL mailto:sage [2007/11/21(水) 13:25:59 ID:???]
ありがとうございました



41 名前:NAME IS NULL mailto:sage [2007/11/21(水) 22:11:40 ID:???]
1 DBLINKしてあるSQL抽出結果を参照専用のマテビューにしています。
2 マテビューは強制リフレッシュを定期的に行っています。

この状況下でマテビューリフレッシュ時に該当マテビューを検索対象にしたSELECT-SQLが
マテビューリフレッシュ終了まで固まってしまいます。

当然と言えば当然なのですが、SELECT系のSQLが固まらない良い手は無いですか?

42 名前:NAME IS NULL mailto:sage [2007/11/21(水) 22:24:17 ID:???]
>>34
11gのEnterprise Editionダウンロードできるから、
実機使うが吉。ただし重いので、Oracle用のマシンが用意できるとGood。

43 名前:NAME IS NULL mailto:sage [2007/11/21(水) 23:31:40 ID:???]
>>38
ありがとうございました。
少なくとも、ゴールドまでは30万くらい プラチナまでは 90万ちょいかかるということですね。
個人では無理ですなぁ・・・

44 名前:NAME IS NULL mailto:sage [2007/11/22(木) 00:37:51 ID:???]
>>41

読み取り専用のマテビューにすればselectは出来るよ。
それ以外は排他ロック取るから無理。

45 名前:NAME IS NULL mailto:sage [2007/11/22(木) 03:23:46 ID:???]
>>43

一人前のDBA育てるのにトレーニング受けさせたら、100万はくだらないからなぁ。
まあ、Oracleに就職したら社内で受けさせてくれるけどさ。

46 名前:NAME IS NULL mailto:sage [2007/11/22(木) 10:54:34 ID:???]
実行計画ってやらないといけないの?
DB設計時にあらかじめわかって設計するものではないの?

47 名前:NAME IS NULL mailto:sage [2007/11/22(木) 11:37:06 ID:???]
>>46
机上論と実装は異なるから。

48 名前:NAME IS NULL mailto:sage [2007/11/22(木) 11:52:09 ID:???]
表領域にあるテーブル一気に削除したいんだけどそういうコマンドはないのですか?
いちいちテーブル名指定してdropして…とやらないとダメなんですか?

49 名前:NAME IS NULL mailto:sage [2007/11/22(木) 12:49:08 ID:???]
>>48

drop tablespace 表領域名 including contents;

50 名前:NAME IS NULL mailto:sage [2007/11/22(木) 15:21:00 ID:???]
>>49
ぐぐっても検索の仕方が悪いのかなかなか調べられず困ってたので助かりました
トンクスです!



51 名前:NAME IS NULL mailto:age [2007/11/22(木) 17:12:35 ID:???]
CREATE TABLE時に[hoge_id]を5桁ぞろえの数値デフォルトにしたいのですがどんな方法になるでしょうか?
例えば
INSERT でinsert into hoge (hoge_id) VALUES(1);
とした場合、自動的にhoge_id の値を00001として保持して欲しいのです。

52 名前:NAME IS NULL mailto:sage [2007/11/22(木) 17:25:16 ID:???]
>>51
トリガーかな。


53 名前:NAME IS NULL mailto:sage [2007/11/22(木) 17:52:54 ID:???]
>>51
おまえはそもそも数値という物がどういう物なのかを理解していない。

54 名前:NAME IS NULL mailto:sage [2007/11/22(木) 18:02:59 ID:???]
select MAX(xxx) from xxx;でxxxに値が入っていない場合NULLを返すんですが0を返して欲しいです。
方法若しくは関数教えてください。。。

55 名前:NAME IS NULL mailto:age [2007/11/22(木) 18:10:28 ID:???]
>>53
黙れ

56 名前:NAME IS NULL mailto:sage [2007/11/22(木) 18:54:25 ID:???]
>>55
情けない。

57 名前:NAME IS NULL mailto:sage [2007/11/22(木) 18:56:51 ID:???]
>>54
NVL関数でどう?
SELECT NVL(MAX(XXX) FROM XXX

58 名前:NAME IS NULL mailto:sage [2007/11/23(金) 00:09:26 ID:???]
数値型で0詰めはできない。
文字列型でPL/SQLストアドプロシージャを使え。

59 名前:NAME IS NULL mailto:sage [2007/11/23(金) 02:01:54 ID:???]
すいません

OAS4.0.8.1をwindowsNT→windows server2000 へバージョンアップしたいのですが
対応してるんでしょうか?
古いので良くわからなくて・・・


60 名前:NAME IS NULL mailto:sage [2007/11/23(金) 10:55:30 ID:???]
サポートが終わってるOS使っているようでは・・・
普通にOSとデータベース両方を最新へアップグレードした方が良いよ。
会社で承認してくれるなら、WindowsServer2008とOracle11g又はSQLServer2008
が出るからそれにすべて変えるのもあり。



61 名前:NAME IS NULL mailto:sage [2007/11/23(金) 17:27:59 ID:???]
PLSQL使わなくとも型変換と0パディングぐらい出来る。
文字列変換後のパディングはLPAD。
Nullを置き換えるならNVL関数で十分。

62 名前:NAME IS NULL mailto:sage [2007/11/24(土) 11:13:51 ID:???]
>>60
ありがとうございます。
そうするのが一番なのはわかっているんですが・・・




63 名前:NAME IS NULL mailto:age [2007/11/26(月) 13:29:19 ID:???]
他のユーザの作成したビュー、テーブルをsysからみることはできますでしょうか?
例えばユーザhogeで作成したtable(test_table)のカラム情報をsysから見るコマンドってありますか?


64 名前:NAME IS NULL mailto:sage [2007/11/26(月) 13:32:03 ID:???]
>>63

権限があれば、スキーマ.テーブルで見れる。
SQLの本で書いてると思うけど。

65 名前:NAME IS NULL mailto:sage [2007/11/26(月) 13:51:47 ID:???]
>>63
sysはsysdbaだからALL_TAB_COLUMNSから列情報も問題なく取れると思うが。

任意のスキーマのテーブルの参照なんか言うまでも無かろう。


66 名前:NAME IS NULL mailto:sage [2007/11/26(月) 15:33:45 ID:???]
設定してあるストアドファンクションのコードを確認したいのですが、調べても見つかりませんでした。
無理なのでしょうか?
また、desc テーブル名でテーブル情報が見れますがINDEX等も併せて見たいです。
可能でしょうか?

67 名前:NAME IS NULL [2007/11/26(月) 16:27:34 ID:hr1x2rtf]
CREATE OR REPLACE FUNCTION func_hoge(
f_id IN user.id%TYPE,
f_ip IN user.ip%TYPE,
f_name IN user.name%TYPE,
f_pass IN user.password%TYPE,
f_birth IN user.birth%TYPE
)
RETURN NUMBER IS
r_cnt NUMBER;
r_max NUMBER;
r_number user.number%TYPE;
BEGIN
SELECT COUNT(number) INTO r_cnt FROM user WHERE id = f_id;
IF r_cnt > 0 THEN
RETURN NULL;
END IF;
SELECT MAX(number) INTO r_max FROM user;
r_number := r_max + 1;
INSERT INTO user(number, id, ip, name, password, birth) VALUES(r_number, f_id, f_ip, f_name, f_pass, f_birth);
RETURN s_number;
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
END func_hoge;

こんなストアドファンクション作ったのですが、
正しい値をいれてSELECTしてもNULLしか返ってきません。
色々調べた結果、INSERTの部分でエラーが起こっている(EXCEPTIONに移行している)ようでした。
ためしにINSERT文だけ外して定義してみたところ、きちんとr_numberの値が返ってきます。
ストアドファンクションでINSERTは使えないのでしょうか?


68 名前:NAME IS NULL [2007/11/26(月) 21:13:36 ID:AcLfRp+N]
>>67

例外処理を外して、エラーメッセージを出力させて、原因を調査したらどうかね?


69 名前:NAME IS NULL mailto:sage [2007/11/26(月) 23:05:10 ID:???]
mysqlみたくコマンドラインで操作する画面はありますか?

70 名前:NAME IS NULL mailto:sage [2007/11/26(月) 23:15:32 ID:???]
>>66
> 設定してあるストアドファンクションのコードを確認したいのですが、調べても見つかりませんでした。
> 無理なのでしょうか?

USER_SOURCE

> また、desc テーブル名でテーブル情報が見れますがINDEX等も併せて見たいです。
> 可能でしょうか?

USER_INDEXES, USER_IND_COLUMNS。
desc で見るのは無理。



71 名前:NAME IS NULL mailto:sage [2007/11/26(月) 23:21:08 ID:???]
>>69

Oracleでコマンドライン操作といったら、SQL*Plusでしょ。
sqlplus で起動できる。


72 名前:NAME IS NULL mailto:sage [2007/11/26(月) 23:47:27 ID:???]
>>69

つ〜か、GUIで操作するなんざ遅くてやってらんねぇよ。

73 名前:NAME IS NULL mailto:sage [2007/11/27(火) 00:05:09 ID:???]
>>67
ストアドファンクションでINSERTが出来ないなんてことはない。
何処かに問題が有るだけ。

とはいってもそこから先はデバッグの世界だろ。
ExceptionでSQLCODEを拾ってSQLERRMでメッセージ拾うしかないだろな。
ここで相談しても仕方ないと思うが・・。

参考までに、INSERT時のエラーで多いのは型が間違ったり
Null禁止なのにNull転送したりが多い。
後は権限不足でInsert出来ない事もある。

とりあえずSQLエラーコード拾ってみないとなんともいえない。

74 名前:NAME IS NULL mailto:sage [2007/11/27(火) 09:25:36 ID:???]
>>68 に一票 ノシ

75 名前:67 [2007/11/27(火) 12:24:05 ID:UcyMPmDo]
返信ありがとうございます。

>>68さん
EXCEPTION外せばエラーがそのまま表記されるんですね… 要素1個1々、RETURNで確認してたorz..
はずして実行してみたところ、
ORA-14551: 問合せの中でDML操作を実行することはできません。
ORA-06512:"HOGE.FUNC_HOGE", 行19
とでました。

このエラー番号を調べてみると以下のエラーが出ました。
ORA-14551:SELECTで呼んでいるファンクションではINSERTできない?
ORA-06512:権限が足りない?

この場合、どんな解決策があるでしょうか?

76 名前:67 [2007/11/27(火) 12:36:20 ID:UcyMPmDo]
>>73さん
詳しい説明ありがとうございます。
>後は権限不足でInsert出来ない事もある。
原因はこれっぽいのですが、どのような権限をつければいいでしょうか?
SELECT * FROM USER_TAB_PRIVS_RECDしてみたところレコードがないようです。
初歩的なことで申し訳ないのですが宜しくお願いしますm(_ _)m


77 名前:73 mailto:sage [2007/11/28(水) 00:54:27 ID:???]
>>76
SELECT-SQLの中で更新を伴うFunctionは実行出来ないよ。
これは権限云々ではなくトランザクションの問題。
更新系のSQLを扱う前にトランザクションについて勉強した方がいい。

とりあえず助言するとすれば・・・
更新(追加・削除も)を伴うストアドは、Call、Execute等で実行すべし。
コミット・ロールバック制御も忘れずに。





78 名前:NAME IS NULL mailto:age [2007/11/28(水) 19:17:17 ID:???]
select qid, quest from quest_tbl;
上のSQL文ですべての質問を取り出す際、ユーザがこの質問に答えているか、調べたいのですが下のSQL文を併せて調べるよう連結させるにはどうすればいいでしょうか?
select COUNT(user_tbl) FROM answer_tbl where qid=$qid and title IS NOT NULL;

79 名前:NAME IS NULL mailto:sage [2007/11/28(水) 22:03:31 ID:???]
>>67
ファンクションを実行する部分もしっかり書かないと

80 名前:NAME IS NULL mailto:sage [2007/11/28(水) 23:44:53 ID:???]
>>78

('A`)つunion



81 名前:NAME IS NULL mailto:sage [2007/11/28(水) 23:46:47 ID:???]
>>78

('A`)つdecode関数

82 名前:NAME IS NULL mailto:sage [2007/11/29(木) 00:26:22 ID:???]
>>78


select qid, quest from quest_tbl
natural left outer join (select qid, count(*) answered_count from answer_tbl group by qid )


83 名前:78 mailto:age [2007/11/29(木) 13:12:16 ID:???]
皆さんありがとうございます。

>>82さん
それだとwhere qid=$qid and title IS NOT NULLが反映されてないと思うのですが、、
select qid, quest from quest_tbl a
natural left outer join (select qid, count(*) answered_count from answer_tbl where qid=a.qid and title IS NOT NULL )
これでためしてみましたが出来ていないようです。。

>>81さん
DECODEの解説を見てみたのですが、どうも今回やりたいこととは違う気がします、、
select qid, quest,decode((select title from answer_tbl where qid=a.qid ),NULL,0,1) from quest_tbl a
これだとエラーになりました。

>>79さん
unionだと出来そうな感じです。
ただ値を持ちまわす方法が分かりません。
SELECT qid, quest FROM quest_tbl a UNION SELECT COUNT(*) cnt FROM answer_tbl WHERE a.qid = qid and title IS NOT NULL;
これだとaなんて知らないというエラーがでます、、、

84 名前:82 mailto:sage [2007/11/29(木) 21:56:23 ID:???]
>>83
あーはいはい。>>82のcount(*)をcount(title)にすればいいよ。

85 名前:NAME IS NULL mailto:sage [2007/11/29(木) 22:03:04 ID:???]
>>83
それと、NATURAL JOINってのをちゃんと調べろ。クエリ書くのめんどい時によく使う。
FROMの中で並べたテーブル同士で相関クエリはできない。あと質問分かりやすく書け。

86 名前:NAME IS NULL [2007/11/29(木) 23:50:09 ID:t7fkIFy6]
exp tes/pass owner=tes file= …
のコマンドでバックアップにユーザー単位エクスポートしたファイルを
インポートするには
imp tes/pass owner=tes file= …じゃダメなの?
某サイトのリファレンス通りにしたんですが
ownerというコマンドは無いとエラーがでました
エクスポートしたファイルの設定そのままでインポートするには(初期化は行ってる)どうすればいい?

87 名前:NAME IS NULL mailto:sage [2007/11/30(金) 00:09:14 ID:???]
imp help=y(だったかな?)でマニュアル見れ
fromuser touserの項目だ


88 名前:NAME IS NULL mailto:sage [2007/11/30(金) 00:24:48 ID:???]
即レス感謝
fromuserでエクスポートしたユーザー、touserでインポートしたユーザーという認識で合ってるよね
後で確かめてみます

89 名前:NAME IS NULL mailto:sage [2007/11/30(金) 01:02:49 ID:???]
>>86

スキーマ毎にExportしたのにをImportしたいだけだったら
いちいちユーザー名指定せんでも「imp \"/ as sysdba\" IGNORE=Y FULL=Y」で
いけるんじゃね?

90 名前:NAME IS NULL mailto:sage [2007/11/30(金) 01:06:44 ID:???]
初期化の意味がわからんがインポートしたいのとエクスポートしたいユーザが一緒なら
いちいちfromuser touser使う意味あるのか?



91 名前:NAME IS NULL mailto:sagw [2007/11/30(金) 01:53:46 ID:???]
>某サイトのリファレンス

「オラクル リファレンス」でぐぐると一番上にあるサイトかwたしかに
リファレンスでownerを使ってインポしようとしてるなw

92 名前:88 [2007/11/30(金) 13:02:13 ID:WhidIDin]
fromuser touser使う場合スキーマ重複しても平気?
スキーマ自体はエクスポート後一度削除して同じ名前でスキーマ作ってます

>>90
わけわりで手間のかかる形とってます
そんな便利なのもあるのねdです

93 名前:NAME IS NULL mailto:sage [2007/11/30(金) 19:03:43 ID:???]
業務でバリバリにJavaStoredProcedureを使ってる人っている?
基幹業務でJavaSPを使っても特に問題ないですかね?

周りで「使ってるよ」ていう話を殆ど聞かないので。まあ、ちょっとした
SPならPL/SQLで書いた方が早いんだけどさ。

94 名前:NAME IS NULL mailto:sage [2007/11/30(金) 23:11:01 ID:???]
↓未だに使用例を見たことが無い機能

・オブジェクト指向機能 ・Dimension
・Nested Table ・MODEL句(まあ、普通はいらんよなあ)
・ネイティブコンパイルされたPL/SQL
・Partitioned Outer Join ・GROUP BYのCUBE、ROLLUP、GROUPING SETS
・pivot句(あたりまえか) ・MERGE文(俺の職場ヤバス) ・XML機能
・User-defined Operator

95 名前:NAME IS NULL mailto:sage [2007/11/30(金) 23:29:28 ID:???]
merge句は一度使い出すと便利すぎてヤヴァイ
気が付くとメチャメチャmerge句を使ったspになってる事多しw

96 名前:NAME IS NULL mailto:sage [2007/12/01(土) 00:16:21 ID:???]
Java使う場合はアプリケーションサーバに実装コードを書いてるから、
自然と使う機会がなくなる。
使う機械が多そうなのは、
多次元分析をストアドプロシージャで実装
XmlをSoap通信で流す(Webサービスとして実行)
実行してパフォーマンスが大幅に上がりそうなのはこれ位だと思う。

97 名前:NAME IS NULL mailto:sage [2007/12/01(土) 00:25:04 ID:???]
スキーマやオブジェクトなどの概念を図解で説明してるわかりやすいサイトありませんか?

98 名前:NAME IS NULL mailto:sage [2007/12/01(土) 00:26:34 ID:???]
・ネイティブコンパイルされたPL/SQL

これ使ったことある
DBMS_RANDOMが速くなってテストデータ作成時間が短くなった

99 名前:NAME IS NULL mailto:sage [2007/12/01(土) 00:27:50 ID:???]
>>97
DBマガジンのバックナンバー買えば?
毎年周期的に初心者向け特集やってるから

100 名前:NAME IS NULL mailto:sage [2007/12/01(土) 02:29:01 ID:???]
Javaストアドと言えば,10gならJPublisherで
Webサービス/SOAP呼出する部分は結構重宝してる.
たまにアクロバティックな経路で外部のSOAPサービス呼び出す処理が必要なんで.
パフォーマンスは結構良いように感じた.



101 名前:NAME IS NULL mailto:sage [2007/12/04(火) 17:06:26 ID:???]
神様、教えて下さい。
ocfs2の導入で
Loading module "configfs": Unable to load module "configfs"
Failed
と表示され、ocfs2の起動が行えないでいます。

ocfs2-tools-1.0.2-1.i386.rpm
ocfs2console-1.0.2-1.i386.rpm
ocfs2-2.6.9-22.0.1.EL-1.0.8-1.i686.rpm
を導入して、cluster.confを作って/etc/init.d/o2cb configureだけでは
ocfs2は利用できないものなのでしょうか。


102 名前:NAME IS NULL mailto:sage [2007/12/04(火) 20:37:03 ID:???]
> Loading module "configfs": Unable to load module "configfs"

自分で答え書いてるだろ。


103 名前:NAME IS NULL mailto:sage [2007/12/04(火) 22:21:50 ID:???]
>>102
なぜモジュールがロードできないのに
ローディング中なのでしょうか?

104 名前:NAME IS NULL mailto:sage [2007/12/04(火) 22:40:01 ID:???]
ocfs2のconfigfsを作るものなのか、自動的に作成されるものなのかが
わからないのですが・・・。

105 名前:NAME IS NULL mailto:sage [2007/12/04(火) 23:08:45 ID:???]
ローディング処理中のロードできないってメッセージでしょうがあんた

106 名前:NAME IS NULL mailto:sage [2007/12/04(火) 23:48:59 ID:???]
面倒くさいなぁ。

depmod -e とかしたか?


107 名前:NAME IS NULL mailto:sage [2007/12/05(水) 01:16:07 ID:???]
>>101

cluster.confはクラスター内の全ノードで一緒の内容になっているんだよな?
というよらもO/Sのバージョンとcluter.confの内容ぐらいさらせ。

108 名前:101 mailto:sage [2007/12/05(水) 20:31:12 ID:???]
102-103,105-107さん
ありがとうございました。解決しました。
カーネルモジュールの選択ミスという凡ミスが原因でした。

configfs等は自動生成されるみたいです。
感謝です。

109 名前:106 mailto:sage [2007/12/05(水) 20:45:06 ID:???]
>>108

ちゃんとした人だったのね。きつい言い方してごめん。


110 名前:NAME IS NULL [2007/12/06(木) 04:57:34 ID:pfhV3Pvu]
UNIXにOracleを導入したのですが、
UNIXへのログインIDによって、与える権限を帰ることってできますか?

たとえば、下のように、UNIXにログインするIDは異なるが、
Oracle DBに接続するユーザは同一だった場合、
@ではSELECT権限を与えるが、AではSELECT権限を与えない(=全てのテーブルを見せたくない)、
といった制御をしたいと思っているのですが、どのようにすればよいでしょうか。

Oracle DBに接続するユーザ毎にGRANTするロールを変えればいいのでしょうが
同一ユーザでも与える権限を変えたいのですが……。



UNIX OSに ID 「userA」でログイン  UNIX OSに ID 「userB」でログイン
   ↓                   ↓
Oracle ID 「dbuserC」で接続    Oracle ID 「dbuserC」で接続
   ↓                   ↓
   @                   A



111 名前:NAME IS NULL mailto:sage [2007/12/06(木) 05:09:54 ID:???]
>>110

あ゛っ?
何でDB側がO/SのログインIDで権限を変えないとならないんだよ?
大体クライアントが自PC使ってSQL*PLUSでアクセスして来たらどうすんだよ?
ちょっと考えたら如何に理不尽な要求か分かるだろうが?



112 名前:NAME IS NULL mailto:sage [2007/12/06(木) 17:55:28 ID:???]
>>110
無理。

OSユーザ≒DBユーザなら、OS認証でなんとかなりそうだけども
OSユーザ≠DBユーザならどうにもならない。
他にそんな事ができるのってあったっけ?

113 名前:NAME IS NULL mailto:sage [2007/12/06(木) 21:41:29 ID:???]
Oracleのインストール作業を人に頼んだら
いくらかかるの?

114 名前:NAME IS NULL mailto:sage [2007/12/06(木) 21:43:31 ID:???]
>>112
sqliteみたいなのなら普通に出来るが
サーバ/クライアントになってるのだとまず無理だろう

115 名前:NAME IS NULL mailto:sage [2007/12/06(木) 22:17:04 ID:???]
すみません。質問です。
このようなSQLがあったとして:

SELECT * FROM (SELECT * FROM HOGE ORDER BY FUGA) WHERE ROWNUM <= 100

一番外周のSELECTの結果はFUGAでソートされているとは限らないですよね?
面倒でも、

SELECT * FROM (SELECT * FROM HOGE ORDER BY FUGA) WHERE ROWNUM <= 100 ORDER BY FUGA

とすべきなのでしょうか。すみませんが、ご存知の方教えてください。

116 名前:NAME IS NULL mailto:sage [2007/12/06(木) 23:23:10 ID:???]
>>115

実行計画取れ。

117 名前:NAME IS NULL [2007/12/06(木) 23:52:04 ID:5y+EMV/z]
EXP→IMPやってDBをメンテしたあと、INDEXをリビルドしました。そしたらそれをやる前までI/Oの負荷はぜんぜんなかったのに急にI/Oディスクの負荷が100%いくように
なっちゃいました。もしみなさんがあたりをつけるとしたらどこらへんですか?
ちなみに自分のスキルはoracle暦6っ月のへたれです。

118 名前:仕様書無しさん mailto:sage [2007/12/07(金) 00:24:55 ID:???]
>>113
一番安くて5万円〜
20万とかよく聞く価格帯。

>>115
結果をソートさせた状態に"保障"させたいのなら
面倒でもorder byをつけるべき。
今のバージョンならつけてもつけなくても結果は同じだけど
次のバージョンとかになったらわかんないよ。

>>116
実行計画でわかるもの?

>>117
ディスクの問題?それとも特定の表領域を使用した場合に負荷が高くなるの?
全容量に対して使用量はどのくらい?


119 名前:117 [2007/12/07(金) 00:38:11 ID:Sq6yutGL]
れすありがとう
>>117
> ディスクの問題?それとも特定の表領域を使用した場合に負荷が高くなるの?
> 全容量に対して使用量はどのくらい?
使用量は78%です。ディスクはエラーがありませんでした。表領域の特定はちゃんとはしてませんが、
データ領域(レコード、INDEX)のところで負荷がたかくなっているようです。
なぜようですってかともうしますと、自分の職場ではなく、遠隔地にあるサーバで(リモートできない)話を
きいている状況です。
初期パラメータのメモリはいじってませんが、もしかしたらバッファがゼロになっていて検索にディスク
みているんじゃないかとも疑ってはいます。


120 名前:NAME IS NULL mailto:sage [2007/12/07(金) 03:34:31 ID:???]
>>119

Reguildした時に表領域を指定せずにやっちゃって、表と索引とが
同じ表領域に作られちゃったってパターンを疑う。



121 名前:119 [2007/12/07(金) 09:02:13 ID:VdnRSR1z]
>>120
あっなるほど。考える材料増えました。ありがとう!

122 名前:仕様書無しさん mailto:sage [2007/12/07(金) 21:15:24 ID:???]
>>117
全体的に遅くなるとかじゃなくてディスクI/Oが問題になってるんだよね?
I/O性能が劣化してそうな感じなら、データファイルの断片化くらいしか思いつかない。

Rebuildの時に十分な領域がない

小さいサイズでのファイル自動拡張

データファイル断片化
・・・とか。

でもこんなので、いきなり100%いくとは考えられないし・・・。

やっぱり、>120さんの理由でディスクI/O性能の限界を超えたとかかなあぁ。


123 名前:NAME IS NULL [2007/12/08(土) 00:10:09 ID:RdFFMJzL]
oraclexeをamdマシンに入れる方法教えてください。
debian4.0です。

124 名前:NAME IS NULL mailto:sage [2007/12/08(土) 02:54:41 ID:???]
>>123

CPUのタイプなんか気にしなくていいだろうが?
ただマニュアルによるとx86版はDebian 3.1にしか対応していないみたいだぞ?
まあ試すだけ試してみたら?

download.oracle.com/docs/cd/B25329_01/doc/install.102/b25144/toc.htm#CIHFEBGE

125 名前:NAME IS NULL [2007/12/08(土) 19:16:12 ID:RdFFMJzL]
>>124

dpkg: oracle-xe-universal_10.2.0.1-1.0_i386.deb の処理中にエラーが発生しました (--install):
パッケージアーキテクチャ (i386) がシステム (amd64) と一致しません
以下のパッケージの処理中にエラーが発生しました:
oracle-xe-universal_10.2.0.1-1.0_i386.deb


126 名前:NAME IS NULL mailto:sage [2007/12/09(日) 02:52:00 ID:???]
>>125

お前、エラーメッセージを読めないのか?
お前のCPUはAMDの64-bit版だ。
xeは32-bit版しか出ていないんだから、入らないって文句言われてんだよ。




127 名前:NAME IS NULL mailto:sage [2007/12/09(日) 04:00:11 ID:???]
CPUの違いは気にせんでもいいが
せめて32ビットと64ビットは気にしとけww

128 名前:NAME IS NULL mailto:sage [2007/12/10(月) 01:55:00 ID:???]
>>125

Kernelが64-bit i686でコンパイルされてるから、32-bit版のXEが
入らないって文句言われてんだよ。
uname -aでkenelのバージョン確認してみ?

129 名前:NAME IS NULL mailto:age [2007/12/12(水) 14:09:25 ID:???]
ユーザが入力した文字をMERGEでUPDATE若しくはINSERTしたいのですが以下の分だとORA-00971エラーがでますどこがまずいのでしょうか?

MERGE INTO
 hoge a
USING
 (SELECT
  '1' seq, '1' id
 FROM
  DUAL
 ) b
ON
 (a.seq = b.seq AND a.id = b.id)
WHEN MATCHED THEN
 UPDATE
  hoge
 SET
  str_title = 'サンプル',
  str_url  = 'example.com/',
  str_comment= 'サンプルです'
WHEN NOT MATCHED THEN
 INSERT INTO
  hoge ( id, seq, str_title, str_url, str_comment )
 VALUES
  ( 1, 1, 'あ', 'example.com/', 'サンプルです');

130 名前:NAME IS NULL mailto:sage [2007/12/13(木) 01:08:13 ID:???]
文法がまずい。
UPDATEのうしろとINSERTのうしろがおかしい。



131 名前:NAME IS NULL mailto:sage [2007/12/13(木) 13:13:56 ID:???]
Oracle 10gを開発で使いたいのですが
この場合どのライセンスを購入すればよいでしょうか?
開発するアプリケーションの種類はWebアプリです。


132 名前:NAME IS NULL mailto:sage [2007/12/13(木) 13:59:42 ID:???]
>>131
開発だけならPersonalでもいいし、OTN Software Kitでもいい。
まぁ、US-OTNに利用者登録してダウンロードすれば
開発ライセンスのメディア代もタダだけどな。

技術サポート受けたいなら、Personal買え。

133 名前:NAME IS NULL mailto:sage [2007/12/13(木) 20:44:55 ID:???]
そうそう。日本ばっかり見てると損する。

134 名前:NAME IS NULL mailto:sage [2007/12/14(金) 13:48:01 ID:???]
トリガー中において、自分は、どのクライアントプログラムによって起動されているのか?
を取得する方法はありますか?


135 名前:NAME IS NULL mailto:sage [2007/12/14(金) 13:51:54 ID:???]
まったくの未経験がOracle silver followを取るとしたら
どのくらい勉強時間が必要よ?

136 名前:NAME IS NULL mailto:sage [2007/12/14(金) 14:01:46 ID:???]
>>134

この辺のファンクション使えば取れそうじゃね?

ora_sysevent,
ora_login_user,
ora_instance_num,
ora_database_name,
ora_dict_obj_name,
ora_dict_obj_type,
ora_dict_obj_owner,

137 名前:134 mailto:sage [2007/12/14(金) 14:03:53 ID:???]
>>136
ありがと
調べてみます。

138 名前:NAME IS NULL mailto:age [2007/12/14(金) 15:53:31 ID:???]
以下のストアドファンクションを実行したいのですが、INSERTが入っているとエラーになります。
呼び方は下のサイトを参考にしたのですがコマンドラインだと実行も出来ないようです。
ttp://oracle.se-free.com/jdbc/g5_func.html
>begin ? := hoge('test','test'); end;");


CREATE FUNCTION hoge(
id IN NUMBER,
pass IN NUMBER
)
RETURN NUMBER IS
s_number NUMBER;
BEGIN
SELECT COUNT(id) INTO s_number FROM t_hoge WHERE id = f_id;
IF s_number >0 THEN
RETURN 0;
END IF;
INSERT INTO t_hoge(id,pass) VALUES(f_id,f_pass);
return f_id;
END;
/

どこがいけないのでしょうか?

139 名前:NAME IS NULL mailto:sage [2007/12/14(金) 17:38:04 ID:???]
f_idとf_passはどこで宣言されているの?

140 名前:134 mailto:sage [2007/12/14(金) 18:04:05 ID:???]
すみません。
以下のSQLで取得できました。

SELECT PROGRAM FROM V$SESSION VA
WHERE EXISTS (
SELECT VB.SID, VB.SERIAL# FROM V$SESSION VB
WHERE VA.SID = VB.SID
AND VA.SERIAL# = VB.SERIAL#
AND VB.AUDSID = SYS_CONTEXT('USERENV', 'SESSIONID')
);




141 名前:NAME IS NULL mailto:sage [2007/12/14(金) 20:14:54 ID:???]
Oracleの勉強を始めたばかりです。
何とかDBを好きになりたくて、楽しみたいと思ってます。
自宅でDBを使って楽しむ方法ってどういうものが
あるのでしょうか?
自分では思いつけないので、教えてください。

142 名前:NAME IS NULL mailto:sage [2007/12/14(金) 23:22:41 ID:???]
>>141

俺もOracleで9年以上飯食ってるけど、自宅でなんか使ったことないよ。
自分の勉強のためにLinuxにRAC入れたりして遊ぶぐらい。

143 名前:NAME IS NULL mailto:sage [2007/12/14(金) 23:40:56 ID:???]
>>141
郵便局から郵便番号と住所のデータをダウンロードして遊ぶとか。

業務プログラマなら知識増えるだけで
周囲に自慢できるから、単に新しい機能覚えるだけでもモチベーションでるよ。
SQLに疎い業務プログラマまじで多い。

144 名前:NAME IS NULL mailto:sage [2007/12/15(土) 00:01:26 ID:???]
>>141
業務SEなら これ読んで データベースに展開してみるのもいいんでない?
ttp://www.amazon.co.jp/gp/product/images/4534032501/sr=8-1/qid=1197644344/ref=dp_image_0?ie=UTF8&n=465392&s=books&qid=1197644344&sr=8-1

目的ないと きついよね

145 名前:NAME IS NULL mailto:sage [2007/12/15(土) 00:22:57 ID:???]
俺もほぼ同じぐらいOracle扱っているが、入れているのはノートPCだけだなw
滅多に使わない

146 名前:NAME IS NULL [2007/12/15(土) 00:27:08 ID:RcQd2CIu]
ADO.NET+Data Provider For Oracle でOracleへの接続ですが
Oracle10gR2とOracle11gには接続可能でしょうか?

当方、Oracle9iでは接続の実績があるのですが上記のバージョンに変更しようと思っています。

147 名前:NAME IS NULL mailto:sage [2007/12/15(土) 00:42:23 ID:???]
www48.tok2.com/home/weusd/up/up3126.jpg

148 名前:NAME IS NULL mailto:sage [2007/12/15(土) 03:21:19 ID:???]
>>147

可愛いじゃねぇかよ(;´д`)ハァハァハァ

149 名前:NAME IS NULL mailto:sage [2007/12/15(土) 16:58:56 ID:???]
>>142-145
参考になりました。ありがとうございます。
色々探してみようと思います。

150 名前:NAME IS NULL [2007/12/16(日) 21:38:49 ID:eMcHXlqr]
来年度からDBを扱うシステムアプリの保守を頼まれたので、
特に障害とか保守作業とかが必要ないときであっても、
毎月簡単な報告書くらいまとめようかな、と思います。
(DB自体の保守や管理ってもっときちんとした報告書とか作成すべきでしょうが、
あくまで「DBを扱うアプリ」側の保守なので、簡易なものでいいと思ってます)

報告書の内容としてぱっと思いついたのは

・ レコード件数
・ 使用領域・未使用領域の状況
・ Oracleの表領域が格納されているディスク自体の容量の状況

…とかを考えてるんですが、そのほかに
「これは必須だろ常考」「DBAならこれを確認しとくのが当たり前」って項目があれば
ぜひご意見を伺いたいです。



151 名前:NAME IS NULL mailto:sage [2007/12/16(日) 22:11:55 ID:???]
>>150
まず、OTNで聞いた方が良い。

152 名前:NAME IS NULL mailto:sage [2007/12/16(日) 22:41:33 ID:???]
性能情報も欲しい
・CPU使用率の推移
・DiskI/O量の推移
・夜間バッチの処理時間推移
・平均レスポンス時間の推移


153 名前:NAME IS NULL mailto:sage [2007/12/17(月) 00:35:46 ID:???]
そもそもその情報がどうして必要なのかをちゃんと纏めた方がいい

154 名前:NAME IS NULL mailto:age [2007/12/17(月) 16:10:34 ID:???]
----簡単な質問解答格納テーブル
--テーブル quest
hoge_id str_quest look_flg date
   1   名前は     1 07-12-17
--テーブル answer
user_id hoge_id str_answer look_flg date
  111    1    益男     1 07-12-17

このようなテーブルでhoge_idが一致するデータを連結して取得する際に、answer側が空(IDが存在しない)の場合はquestの値だけを返してくれるヴューを作っているのですがうまくいきません。(hoge_id の値を持ったquestがない場合はNULLでOK)
作ったヴューは以下です。

CREATE OR REPLACE VIEW get_quest AS SELECT
quest.str_quest,
answer.str_answer,
quest.date AS q_date,
answer.date AS a_date
answer.look_flg
FROM quest,answer
WHERE quest.look_flg = 1;

SELECT * get_quest WHERE hoge_id=1 and user_id=111;
これだと明らかに間違っているのは分かるのですがどうしても最適な文が思いつきません。
ご教示お願い致します。

155 名前:NAME IS NULL [2007/12/17(月) 20:53:03 ID:vNanl1pJ]
>>150
アプリ側からみたDBの報告なら日別、時間別の
アクセス数集計とレスポンス計測・報告で十分。


156 名前:NAME IS NULL mailto:sage [2007/12/17(月) 23:58:36 ID:???]
>>154
SQLの前に日本語を書けるように頑張ってください。
あなたの書いていることがよく分かりません。
実は自分が何をしたいのかもわかっていないのではないのでしょうか?
Viewはビューで結構です。
前半のSQL文はQUESTとANSWERの全組み合わせを取り出しているにすぎず、
後半のSQL文は文法間違いしています。

SELECT
hoge_id,
quest.str_quest,
answer.str_answer,
quest.date AS q_date,
answer.date AS a_date
answer.look_flg
FROM quest LEFT OUTER JOIN answer USING (hoge_id)

ただし、これだとquestにanswerが複数合った場合に複数questが出力される。

157 名前:NAME IS NULL [2007/12/18(火) 02:36:57 ID:q4P2kapu]
Oracleのツールに関して質問があります。

今月のDBマガジンで「Oracle SQL Developer」の紹介がありました。

その記事のなかでクエリービルダーの話がでてきたんですが…
「SQL Developerは 〜 SQL PLUSと比べるとはるかに見やすいだろう。
また、クエリービルダーを起動すれば…」

SQL Developerの中にクエリービルダーという項目はありませんでしたし、
ネットで調べても、oracleのクエリービルダーというツールも見当たりませんでした

ご存知の方いましたらぜひ教えてください。

158 名前:NAME IS NULL mailto:sage [2007/12/18(火) 04:43:10 ID:???]
www.oracle.com/technology/products/database/sql_developer/files/what_is_sqldev.html
あるみたいだが、実際に見たことはないなあ
明日会社で試してみる

159 名前:158 mailto:sage [2007/12/18(火) 12:30:28 ID:???]
あったよ。
SQLワークシートの何もない部分で右クリック→Query Builder。
初めて知った。Accessっぽいね。

160 名前:154 mailto:age [2007/12/18(火) 14:08:39 ID:???]
>>156
どこが変な日本語なのでしょうか??
普通に理解できると思いますが、、、

>viewはビュー
ヴューでもビューでも大差ないと思います

ビューでquestとそれに紐づいたanswerを全部取り出せるようにしておいて
SELECTの際にuser_id(ユーザ番号)を指定して(ユーザごとの)解答+質問文を取り出したいのです。

やりたいことは分かっていただけましたでしょうか?



161 名前:NAME IS NULL mailto:age [2007/12/18(火) 19:50:55 ID:???]
SELECT 社員番号, 名字, 名前, 年齢, 性別 FROM 社員テーブル;
SELECT 社員番号, 資格名, 取得日 FROM 資格テーブル;
SELECT 社員番号, 部署名, 配属日 FROM 部署テーブル;

これらのSQL文を1文で取得したいのですが可能でしょうか?
社員テーブル1つに対して資格テーブル,部署テーブルは1行以上になる可能性があります。

■社員テーブル
 ■資格テーブル1
 ■資格テーブル2
 ■資格テーブル3

 ■部署テーブル1
 ■部署テーブル2

このように配列で返して欲しいのですがどんな方法があるでしょうか?
または皆さんならどうしますか?
やはり3文で応答するしかないのでしょうか?

宜しくお願い致します

162 名前:NAME IS NULL mailto:sage [2007/12/18(火) 20:40:41 ID:???]
>>161
ストアドでOK

163 名前:162 mailto:sage [2007/12/18(火) 20:45:39 ID:???]
ストアドじゃ意味不明だ罠。
JavaストアドでOK。

PL/SQLでも問題なく出来るとは思うけど、
VARRAYとか考えずに配列データとして出力まとめるなら、
普通の記述言語の方が楽だろ。

164 名前:NAME IS NULL mailto:sage [2007/12/18(火) 21:27:16 ID:???]
>>161
絶対にやってはいけない:
SELECT 社員番号, 資格ARRAY, 部署ARRAY
FROM 社員テーブル
INNER JOIN (SELECT 社員番号, SYS_CONNECT_BY_PATH(資格名 || '@' || 取得日, '/') 資格ARRAY, CONNECT_BY_ISLEAF 資格_IS_LEAF
FROM (SELECT ROWNUM RN, 社員番号, 資格名, 取得日 FROM 資格テーブル)
START WITH RN = 1 CONNECT BY PRIOR RN = RN + 1 AND PRIOR 社員番号 = 社員番号) USING (社員番号)
INNER JOIN (SELECT 社員番号, SYS_CONNECT_BY_PATH(部署名 || '@' || 配属日, '/') 部署ARRAY,
CONNECT_BY_ISLEAF 部署IS_LEAF
FROM (SELECT ROWNUM RN, 社員番号, 部署名 , 配属日 FROM 部署テーブル)
START WITH RN = 1 CONNECT BY PRIOR RN = RN + 1 AND PRIOR 社員番号 = 社員番号) USING (社員番号)
WHERE
1 = ALL(資格_IS_LEAF, 部署IS_LEAF)

165 名前:164 mailto:sage [2007/12/18(火) 21:36:13 ID:???]
>>164
あ、ROWNUMのところは適当に
ROW_NUMBER (PARTITION BY 社員番号 ORDER BY 社員番号)
ということにしておいてください。MySQLみたいな集約のCONCATが無いOracleでたまにやる。
(ソースコードには残らない仕事のときだけ)

166 名前:NAME IS NULL mailto:sage [2007/12/18(火) 23:31:45 ID:???]
>>159
ありがとうございます!

167 名前:NAME IS NULL mailto:sage [2007/12/19(水) 10:06:27 ID:???]
>>164

そのSQLは階層問い合わせ使ってるから、バージョンによっては使えない。
使えるバージョンを書いておかないと、勘違いする人いるから
書いた方が良いいと思う。

168 名前:NAME IS NULL mailto:sage [2007/12/19(水) 19:29:44 ID:???]
階層的クエリは9i以降だよ。新規案件で8i使ってる人いるのかな?

169 名前:NAME IS NULL mailto:sage [2007/12/20(木) 00:18:16 ID:???]
SQLのパフォーマンス面で質問があります。

Aテーブルに50万件のレコードが格納されており、whereで5000件程度に
絞れると仮定します。
1:select * from A inner join B on ( ) where 〜
2:select * from (select * from A where 〜) inner join B on ( )

この2つを比較するとどちらの方がパフォーマンスがよいのでしょうか?

170 名前:NAME IS NULL mailto:sage [2007/12/20(木) 01:20:04 ID:???]
内部表が少ない方がパフォーマンスが良い。
最初に評価される表がINDEXを使えたり、行数が少ないなら早い。
1は結合してから検索かけてる
2はA表を最初に評価対象にしている。
結果は2だろうけど、RDBMSがどのような最適化してるから知らないからな。



171 名前:NAME IS NULL mailto:sage [2007/12/20(木) 01:20:06 ID:???]
実行計画とってみればいいじゃない
たぶんOracleが強力に最適化してしまうので、どっちも同じ実行計画になるよ。

172 名前:NAME IS NULL [2007/12/20(木) 23:30:04 ID:5x3NWZXY]
こんにちは、オラクルについて質問があります。

オラクルクライアントってサービスなの??

サービスであるならば、オラクルを使用しないシステムの開発中は、
サービスを停止したいのですが、、

173 名前:NAME IS NULL mailto:sage [2007/12/21(金) 00:56:53 ID:???]
止めても構わないよ。
所詮、バックグラウンドでリスニングするための設定プロセスにすぎないから。

174 名前:NAME IS NULL [2007/12/22(土) 17:43:56 ID:qZUX37h2]
>>173
こんにちは、172です。

オラクルクライアントのサービスはどうやってとめるのですか?

175 名前:NAME IS NULL mailto:sage [2007/12/22(土) 20:32:56 ID:???]
>>174
Oracle Clientはサービスじゃない。


176 名前:NAME IS NULL mailto:sage [2007/12/22(土) 21:08:24 ID:???]
オラクルクライアントってサービスなの??
サービスであるならば、サービスを停止したいのですが、、

止めても構わないよ。

オラクルクライアントのサービスはどうやってとめるのですか?

Oracle Clientはサービスじゃない。 ←今ここ


一人、バカが紛れ込んでいます。さて、誰でしょう?w

177 名前:仕様書無しさん mailto:sage [2007/12/22(土) 21:20:54 ID:???]
え?一人なの?

178 名前:NAME IS NULL mailto:sage [2007/12/22(土) 23:51:05 ID:???]
オラクルクライアントってサービスなの??
サービスであるならば、サービスを停止したいのですが、、

止めても構わないよ。

オラクルクライアントのサービスはどうやってとめるのですか?

Oracle Clientはサービスじゃない。

サービスでないなら止める必要無い。
終了。

179 名前:NAME IS NULL mailto:sage [2007/12/25(火) 00:12:49 ID:???]
オラクルマスターって、ねずみ講?

180 名前:NAME IS NULL mailto:sage [2007/12/25(火) 00:46:20 ID:???]
OracleClientはサービスじゃなくて、
設定ファイルを使ってオラクルと通信するクライアントツール



181 名前:NAME IS NULL mailto:sage [2007/12/25(火) 01:13:44 ID:???]
つまり >173 が分かってなかった、ってことでFA?

182 名前:NAME IS NULL mailto:sage [2007/12/25(火) 06:20:57 ID:???]
>>181
何をいまさらwww

183 名前:NAME IS NULL [2007/12/26(水) 18:54:47 ID:if5svl3h]
amd64でもchrootでxe入れることが出来るとは。

184 名前:NAME IS NULL mailto:sage [2007/12/27(木) 00:03:56 ID:???]
>>183

Kernelがi386だったというオチだったりしないか?

185 名前:NAME IS NULL [2007/12/27(木) 11:27:38 ID:YLT4m45U]
linuxでoracleを動かしているんですが、インストールしただけで
プロセスが大量にできて、メモリも結構食っているので、一旦止めようと
思っています。でも、止め方がわかりません。
バージョンは11g-R1です。どうすればいいですか?
/etc/init.d/の下にもそれらしきものはないし。。。


186 名前:NAME IS NULL mailto:sage [2007/12/27(木) 12:25:44 ID:???]
sqlplus "/ as sysdba"がなんのことか分からないなら

とりあえずこれを試してみよう。
/opt/oracle/product/11.1.0/db_1/bin/dbshut


187 名前:NAME IS NULL [2007/12/27(木) 12:29:57 ID:YM6G8kqZ]
>>184
$uname -ar
Linux debian 2.6.18-5-amd64 #1 SMP Mon Dec 3 04:55:28 UTC 2007 x86_64 GNU/Linux

188 名前:150 [2007/12/29(土) 17:15:41 ID:PG+gUzIR]
>>151
みなさんアドバイスありがとうございます。

>>152>>155
ありがとうござます。
今まで出された項目を下に書いてみました。

・ レコード件数
・ 使用領域・未使用領域の状況
・ Oracleの表領域が格納されているディスク自体の容量の状況
・ CPU使用率の推移
・ DiskI/O量の推移
・ 夜間バッチの処理時間推移
・ レスポンス計測・平均レスポンス時間の推移
・ 日別、時間別のアクセス数

> アプリ側からみたDBの報告なら日別、時間別の
> アクセス数集計とレスポンス計測・報告で十分。

アプリ側かDB等の環境/基盤保守側かで報告する観点も変わってくるんですね。
夜間バッチの処理時間推移もどちらかというとバッチアプリに関連するから
念のためそれも調べておこうかと思います。

>>153

パフォーマンス的に問題が発生していないかを確認しておきたい、
というのが、今回の目的に該当するかと思います。

登録・更新するレコード件数が増加傾向にあるので、自分は当初
・ 使用領域・未使用領域を監視して必要に応じ再編成等対処
・ 自動拡張設定になっているので、表領域が格納されているディスク自体の容量を確認しておき
万が一自動拡張したときに容量不足になる危険性がないか調査
というのを考えてました。

それと、誤解を恐れずに書くと、ちょっと言葉は悪いですが

DBに関する報告書を作成するのは、「DB障害を未然に防ぐため」が
いちばん重要な目的だとは思うのですが、
アプリ側の報告書なので
「納品物作成しましたよ、ちゃんと毎月チェックしてますよ」という
「作業したというアリバイ作り」っていう面もあると思ってます。

(もちろん、これが第一目的ではないですが……
ただDB障害が発生していないからといって何にもチェックせずのほほんとしてるのは
よくないのでは、と思うので。)

そういう発想はよくないのかもしれませんが……。

189 名前:NAME IS NULL [2008/01/01(火) 21:32:44 ID:oiaQYP0E]
>>186
こんなん出ましたけど、、、、

$ sudo /home/db/oracle/app/eiichi/product/11.1.0/db_1/bin/dbshut /home/db/oracle
Failed to auto-stop Oracle Net Listener using /home/db/oracle/bin/tnslsnr


190 名前:NAME IS NULL mailto:sage [2008/01/02(水) 01:12:27 ID:???]
がんばれ、えいいち



191 名前:NAME IS NULL [2008/01/02(水) 01:32:43 ID:Dgv8lEDk]
>>190

木手?

192 名前:NAME IS NULL mailto:sage [2008/01/02(水) 01:33:09 ID:???]
>>190
教えてよ。

193 名前:NAME IS NULL mailto:sage [2008/01/02(水) 02:27:49 ID:???]
えいいちです。
oracleを停止するのは諦めました。
とりあえず、oracle関係のプロセスを全killして、関係ありそうなファイルを削除
しました。リブートしてみて何か問題がなければいいかなと。


194 名前:NAME IS NULL mailto:sage [2008/01/02(水) 03:24:34 ID:???]
>>193

えいいち、いきなり消すなんてどうかしてんぞ?
root.shで色々といじくられてるんだぞ?
気に入らなかったら、どうしてインストーラー使ってアンインストかけようとしない?

195 名前:NAME IS NULL [2008/01/02(水) 22:13:11 ID:IKgH7NoX]
基本的な事ですが
別にオラは来ないんですが
なんでオラクルなんですか?

196 名前:NAME IS NULL mailto:sage [2008/01/02(水) 22:18:47 ID:???]
>>195

どうしても知りたかったら、Matrixを見てみるといい。


197 名前:NAME IS NULL mailto:sage [2008/01/02(水) 23:53:11 ID:???]
オラクル 神のお告げ

198 名前:NAME IS NULL mailto:sage [2008/01/03(木) 00:29:55 ID:???]
オラクルっていうとブラックオニキスのファイヤークライスタル編しか思い浮かばん

199 名前:NAME IS NULL mailto:sage [2008/01/03(木) 02:32:44 ID:???]
スターオーシャンのスキルのひとつ

200 名前:NAME IS NULL mailto:sage [2008/01/03(木) 04:46:03 ID:???]
>>198

オサーン、ハケーン。
ムーンストーンの発売をずっと待っているのはお前だけではあるまい。



201 名前:NAME IS NULL mailto:sage [2008/01/14(月) 11:30:37 ID:???]
iSQL*PLUSに対して、DBA権限でログインしたいと思っています。
マニュアルを読むと、JAZNとかいうシェルを起動するか
GUIでやるみたいなのですが、両方とも良くやりかたが
分からないです。
どなたか教えて頂けますか?

202 名前:NAME IS NULL mailto:sage [2008/01/14(月) 18:48:37 ID:???]
>>201
使ってないからしらないけど
iSQL*PlusはWindowsMeと同じに状態になってる
調べておいても無駄になるよ

203 名前:NAME IS NULL mailto:sage [2008/01/14(月) 19:20:33 ID:???]
>>202
そんな感じなんですか。
マニュアル見たら、「これからはisql*plusが基本ツールになる」
みたいに書かれていたので、isql*plusを使おうかと。
そうでないなら、sql*plusでいいかもしれませんね。

204 名前:NAME IS NULL mailto:sage [2008/01/14(月) 21:07:01 ID:???]
>>203
ttp://otndnld.oracle.co.jp/document/products/oracle11g/111/windows/E05878-01/whatsnew.htm#BGGBABGJ

205 名前:NAME IS NULL mailto:sage [2008/01/18(金) 15:19:35 ID:???]
高度な質問の中すみません。
ちょっとわけわからのです。
FileMakerPro9からODBCでOracle7(!)のテーブルを持ってきたいのですが・・・

SERECT * FROM ##### (####はテーブル名)

としても、
「ODBCエラー; [Microsoft][ODBC driver for Oracle][Oracle]ORA-00942;表またはビューが存在しません」
となります。
なんででしょう?

206 名前:NAME IS NULL mailto:sage [2008/01/19(土) 09:42:01 ID:???]
>>205

どのユーザーでログインしてるんだ?
ちゃんとSchema指定してるか?

select * from boge.hoge_table; みたいにさ?

207 名前:NAME IS NULL mailto:sage [2008/01/21(月) 09:17:05 ID:???]
>>206
ユーザーはsys(管理者権限)です。
Schema指定・・・したけどかわらん orz

208 名前:NAME IS NULL [2008/01/21(月) 09:48:31 ID:P/yV5kbJ]
>SERECT * FROM ##### (####はテーブル名)
SELECT * FROM ##### (####はテーブル名)

selectのスペルミス?

209 名前:NAME IS NULL mailto:sage [2008/01/22(火) 10:06:15 ID:???]
>>208
ぁぅ・・・
それは書き込み時のミスです。
ちゃんと「select * from ####」です。

もう、あれですかね。
Oracle7って時点でだめだめっすかね?

210 名前:NAME IS NULL [2008/01/23(水) 03:45:20 ID:s8cIM/FN]
10gです。
なるべくヒントを書かずに最適な実行計画を立てさせるには、
統計情報をどのように取得したらよいでしょうか?
そんなに複雑ではないSQLなのですが、
件数が増えると早々にインデックスを捨ててフルスキャンしてしまい、
ヒントでインデックスを指定するのに比べ、実行時間が10倍以上になってしまいます。
今は DBMS_STATS を使用し、100%で取っています。




211 名前:NAME IS NULL mailto:sage [2008/01/23(水) 07:31:55 ID:???]
>>210

OPTIMIZER_INDEX_CACHING や OPTIMIZER_INDEX_COST_ADJの初期化パラメータを
変更するとINDEX SCANのコストを低くできるよ。
使い方については、マニュアルや検索サイトで調べてください。


212 名前:NAME IS NULL mailto:sage [2008/01/23(水) 23:20:02 ID:???]
>>204
「Oracle Enterprise Manager Javaコンソール」も
無くなっているんだ?!

ガガーン!!重いけど、便利だったのに。。


213 名前:NAME IS NULL mailto:sage [2008/01/24(木) 23:39:38 ID:???]
会員番号 枝番 所属
10000001 00 A001
10000001 01 ’’(1byteスペース)
10000001 02 A002
10000001 03 ’’(1byteスペース)

上のようなテーブルで枝番が00のレコードの所属が変わった時に
履歴データを登録するトリガーを作ろうとしています。
(履歴データのテーブルは上と同じです)

登録したい履歴は
@枝番00の履歴
A枝番00以外で所属がスペースのもの(上だと01と03)
(履歴の所属は枝番00の所属をセット)

IF :OLD.所属 <> :NEW.所属 THEN
@ INSERT INTO RIREKI (:OLD.会員番号,:OLD.枝番,:OLD.所属);
A INSERT INTO RIREKI(
      SELECT 会員番号,枝番,:OLD.所属 FROM テーブル
      WHERE 会員番号 = :OLD.会員番号
AND 枝番号 <> 00
AND 所属 = ' '
);
END IF;

上のように作ったのですがAの履歴が登録されてくれません。
@は登録されます。
Aの履歴登録をファンクションにして見ても同じです。
(ファンクションを単体で動かすと登録されます)

どこがおかしいのでしょうか?アドバイスをお願いします。


214 名前:NAME IS NULL mailto:210 [2008/01/25(金) 03:32:01 ID:???]
>>211
ありがとうございました。おかげで急場がしのげました。

215 名前:NAME IS NULL [2008/01/25(金) 23:35:08 ID:FdYL0YIc]
AテーブルとBテーブルとCテーブルを結合して10000人の個人情報(1人1レコード)を取得する。
AテーブルとDテーブルとEテーブルを結合して10000人の個人情報(1人1レコード)を取得する。
AテーブルとFテーブルとGテーブルを結合して10000人の個人情報(1人1レコード)を取得する。
・・・といった感じでAテーブルに対して複数のテーブルを当てて取得したいようなのが
20種類くらいあったとして、それぞれが同じ10000人の個人情報だとする。
その10000人は、Aテーブルに対して条件を指定する事で取得出来て、
対象者をキーとして簡単に結合出来る場合、

一発のSQLで取るほうがいいのか、複数回に分けた方がいいか
どっちがいいかなパフォーマンス的に。
大量データを扱う場合、複数回に分けた方がいい場合があると聞いたので

216 名前:NAME IS NULL mailto:sage [2008/01/26(土) 00:04:20 ID:???]
>>215

何かよく知ってる仕事と関係がありそうな…
こういうところで新規性を失うと特許出せないですよ。特29条1項3条。

複数回に分けるということはトランザクションを考えないといけないので、
一般には1回で済ませるほうがいいですね。
パーティション表などの考え方とはちょっと概念が違いますよ。


217 名前:NAME IS NULL [2008/01/26(土) 07:59:23 ID:4u50YVa+]
>>216
そんな大層なものじゃないですよ、すごく超初心者的な質問です。
--
SELECT A.個人を特定するID,
B.住所,
C.職業,
ア.住所マスタ,
イ.職業マスタ
FROM A,B,C,ア,イ(外部結合)
WHERE
A.個人を特定するIDの条件
--
実際はもっと複雑なSQLですけど、これがB,CだけでなくZまであったとして、
B〜Z、ア〜ンまでのデータを一つのSELECT文で取得する場合と
BとC、DとE・・・といった具合に複数回にSELECT文を分ける場合で、
後者の方がパフォーマンスに優れる場合もあると聞いたんですが、
理由聞いてもイマイチ分からなかったので質問しました
こんな事、特許出すほど新規性のあるものでは無いと思いますが・・・

218 名前:NAME IS NULL mailto:sage [2008/01/26(土) 08:08:18 ID:???]
>>217
ちなみにどんな理由だったんだ?

219 名前:NAME IS NULL mailto:sage [2008/01/26(土) 08:14:01 ID:???]
>>218
検索しに行くレコード数が半端ないからという理由です
自分としては、どっちにしても同じデータを取得するのだから
単純に一度に取れた方がいいじゃんって思うのですが・・・

220 名前:NAME IS NULL mailto:sage [2008/01/26(土) 09:11:03 ID:???]
>>219
それ理由になってないな

10gで廃止されたが OPTIMIZER_MAX_PERMUTATIONSってパラメータがあるんだけど
テーブル6個だと結合順序は720通り,7個になると5040通りになる
9iのデフォルトの上限値はテーブル6個までの結合順序は完全に調査できるが7個は無理

大量のテーブルを結合するとCBOの実行計画で結合順序をミスったときのインパクトも急激にでかくなる
結合順序の選定は総当りではなく統計情報がサポートしてるけど完璧ではない



221 名前:NAME IS NULL mailto:sage [2008/01/26(土) 09:25:45 ID:???]
>>220
よく分かりました
THX!

222 名前:NAME IS NULL mailto:sage [2008/01/27(日) 08:55:53 ID:???]
>>215
俺だったら大量テーブルのJOIN結果のデータ取得は
マテリアライズドビュー使うがなぁ。


223 名前:NAME IS NULL mailto:sage [2008/01/30(水) 17:29:57 ID:???]
Oracle9iですがTNSリスナーが勝手に停止することは
ありえますでしょうか?

224 名前:NAME IS NULL mailto:sage [2008/01/30(水) 17:44:30 ID:???]
>>223
勝手に落ちてることはたまにある。
負荷掛かりすぎてたとかじゃないか?

225 名前:NAME IS NULL mailto:sage [2008/01/30(水) 17:50:41 ID:???]
>>224
なるほど。負荷がかかりすぎると落ちるとは知りませんでした。


226 名前:NAME IS NULL mailto:sage [2008/01/31(木) 00:51:56 ID:???]
>>225

listenerのログ見てみればいいじゃん?
誰かが間違って落としているかもよ?w
まあ、用意周到な奴はログも消しているかも知れないけどさw

227 名前:NAME IS NULL mailto:sage [2008/01/31(木) 10:09:01 ID:???]
リスナーに負荷が掛かる状況ってどういう状況でしょうか?
リスナーは接続を待ち受けてるだけではなく他の仕事もしているのでしょうか?

228 名前:NAME IS NULL mailto:sage [2008/01/31(木) 17:15:30 ID:???]
なかなか高負荷でリスナーが落ちるというソースがありません。
インスタンスが落ちるというのはあるみたいですが。
どこかにソースは無いでしょうか?

229 名前:仕様書無しさん mailto:sage [2008/01/31(木) 23:16:30 ID:???]
>>228
そんなソースがあってたまるかw


230 名前:NAME IS NULL mailto:sage [2008/02/01(金) 09:06:23 ID:???]
>>230

リスナーに負荷がかかる状況としては、RACなんかでロードバランスされていた
セッションが、インスタンス障害やノード障害などで落ちてしまった場合なんかが
該当するだろうな。
設定にもよるけど、こういった場合には生き残っているノードに、一気に新たな
セッションを確立しようとするから、一時的にリスナーに負荷がかかる事が
考えられる。



231 名前:NAME IS NULL mailto:sage [2008/02/01(金) 09:27:34 ID:???]
リスナーがのように軽い処理がウェイトじゃなく高負荷状態だったら
DBサーバーはきっと火を吹いてる

232 名前:NAME IS NULL mailto:sage [2008/02/01(金) 13:01:20 ID:???]
すまんちん。
おいらUDB2しか触ったことないのにDBなら一緒でしょ、とか
訳のわからん理由でoracleの案件に突っ込まれて涙目で勉強してるんだが、
兄貴諸氏お薦めの本や、サイトってないでしょか・・。
手探りだと時間かかってしまって・・。

できれば、トリガーとPL/SQLについて詳しく説明してあるものがいいです。


233 名前:NAME IS NULL mailto:sage [2008/02/01(金) 15:00:14 ID:???]
>>232
PL/SQL 入門 トリガー で検索しる

234 名前:232 mailto:sage [2008/02/01(金) 17:39:41 ID:???]
ざっくりしててわからんかったですよ。すまんです。
検索してみて、「やさしいOracle PL/SQL入門」ってのがよさげだったので
これにしてみました。
涙目にならず、がんばります。

235 名前:NAME IS NULL mailto:sage [2008/02/01(金) 17:48:18 ID:???]
>>232
Oracle Technology Network (OTN) Japan
otn.oracle.co.jp/

ここにユーザ登録しておけばある程度は何とかなる。
マニュアルもあれば、サンプルもあるし。

236 名前:NAME IS NULL mailto:sage [2008/02/01(金) 20:10:27 ID:???]
すみません、ちょっと教えてください。

アメリカ人のプログラマーの友人と会話の中で
「Oracle Master」という言葉を出しても相手は「?」という感じだったのですが
USでは別の言い方をされてるのでしょうか?

Google英語版で調べてみてもそれっぽいのが出てこないのですが・・・

237 名前:NAME IS NULL mailto:sage [2008/02/01(金) 20:23:24 ID:???]
>>236
ttp://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=141

238 名前:NAME IS NULL mailto:sage [2008/02/01(金) 20:25:27 ID:???]
silver=OCA
gold=OCP
platinum=OCM

239 名前:NAME IS NULL mailto:sage [2008/02/01(金) 20:26:37 ID:???]
>>236

OCM/OCP/OCA だな。


240 名前:NAME IS NULL mailto:sage [2008/02/02(土) 07:01:21 ID:???]
>>236

アメリカ在住だが、こっちではOracle CertifiedとかOracle Certified DBAとかって言う。
まあ、たまに面接とかするんだけど、レジュメの一番先に「Oracle Certified DBA」とかって
書いている奴に限って、実務は全然駄目だったりする。
特にインド人な。



241 名前:NAME IS NULL mailto:sage [2008/02/02(土) 07:28:53 ID:???]
>>240
日本でも同じだよ(w コレも全世界共通なのかな
資格なんてって思うけど...
実務でバリバリ出来る人は簡単にOCP(Gold)くらいは取れちゃうからね

242 名前:NAME IS NULL mailto:sage [2008/02/02(土) 13:21:36 ID:???]
windows vistaにOracle9iをインストールすることは可能ですか?
インストールの一番最後で、
「jrewを起動できませんでした」のエラーが出てしまいます。

243 名前:NAME IS NULL mailto:sage [2008/02/02(土) 15:59:50 ID:???]
記述がまったく間違ってないUPDATE文で
接続等もちゃんとしてあって、TBLがちゃんとあって
TBLの容量不足以外で
UPDATE文だけ失敗させる方法ってありますかね?

244 名前:NAME IS NULL mailto:sage [2008/02/02(土) 16:15:02 ID:???]
デッドロック


245 名前:NAME IS NULL mailto:sage [2008/02/02(土) 17:11:07 ID:???]
>>244
どうもありがとうです。それしかなさそうですね。

246 名前:NAME IS NULL mailto:sage [2008/02/03(日) 05:00:43 ID:???]
>>243

triggerで弾けば?

247 名前:NAME IS NULL mailto:sage [2008/02/03(日) 09:55:24 ID:???]
>>243
いちばん簡単なのはプライマリキー重複エラーじゃないか?

248 名前:NAME IS NULL [2008/02/03(日) 15:02:43 ID:Do4vvoU0]
oracle10gPlatinumをとりたいと思ってるのですが、
試験情報とかって知ってますか?
試験のイメージがわかないんですが、
具体的な試験の内容とか知っている人いれば教えてくれませんか?


249 名前:NAME IS NULL mailto:sage [2008/02/03(日) 17:51:18 ID:???]
www.oracle.comにアクセスできません
落ちてるんでしょうか

250 名前:NAME IS NULL mailto:sage [2008/02/03(日) 18:28:04 ID:???]
>>248
Platinum9iを保有しています
残念ながら具体的な内容は教えられないことになっています
「特訓コース」の研修にでも参加してみたら

>>249
繋がりますよ



251 名前:NAME IS NULL mailto:sage [2008/02/03(日) 18:33:26 ID:???]
>>250
FireFoxじゃなくてIEでアクセスしたら繋がりました。失礼しました。

252 名前:NAME IS NULL mailto:sage [2008/02/03(日) 19:02:42 ID:???]
>>248

去年の3月に受けたときはこんな感じ。

シナリオ0 45分 セットアップ
シナリオ1 120分 データベースとネットワーク構成
シナリオ2 120分 Enterprise Manager Grid Control
シナリオ3 60分 データベースの可用性を向上させる構成
シナリオ4 90分 データウェアハウス向け機能の構成
シナリオ5 120分 データの管理
シナリオ6 120分 パフォーマンスの管理
シナリオ7 105分 Real Application Clusters
シナリオ8 75分 Data Guard

あとは google 先生に聞いてみたらいいよ。


253 名前:NAME IS NULL [2008/02/04(月) 02:01:24 ID:p8Avi1wM]
特訓コースの内容をしっかり復習すれば
いけそうなのですかね?
特訓コース外の中身がでることってあるのでしょうか?

254 名前:NAME IS NULL mailto:sage [2008/02/04(月) 07:09:56 ID:???]
>>253
特訓コースを受講した
全員が合格しているわけではないと思うぞ
っとだけ言っておこう

255 名前:NAME IS NULL mailto:sage [2008/02/04(月) 08:27:30 ID:???]
>>253

ぜんぜん足りない。そんなに Platinum は甘くないよ。


256 名前:NAME IS NULL mailto:sage [2008/02/06(水) 01:06:09 ID:???]
Oracleであ興味があるのがifsというきのう なのですがあれは動きますか?


257 名前:NAME IS NULL mailto:sage [2008/02/06(水) 04:47:57 ID:???]
>>256
Internet File Systemのことか?

258 名前:NAME IS NULL [2008/02/06(水) 14:41:40 ID:wj1xNTA5]
>>256
動くよ

259 名前:256 mailto:sage [2008/02/06(水) 21:27:21 ID:???]
はい、自分でDBの勉強を使用つぃているのですが、いろいろ調べると、9iでは大々的に宣伝されているのに10gではマニュアルなどでは見つけられないんです。
 9iでコケた技術なのかな、って気になったわけです。

もしくはここで聞く話じゃないのを承知で聞きますが、mysql やposgreに同じ機能の物ありますか?

オフラインでレスしているので返信が遅れて申し訳ありません。

260 名前:仕様書無しさん mailto:sage [2008/02/06(水) 22:28:39 ID:???]
>>259
いまもう11gが出てるんだが。。。
9iを大々的に宣伝って、何を見てるんだ?

とりあえず、10gのマニュアル。
otn.oracle.co.jp/document/products/oracle10g/index.html




261 名前:NAME IS NULL mailto:sage [2008/02/07(木) 00:03:07 ID:???]
>>260

流れを読めよ。この人は ifs について聞いてるんだろうが。


262 名前:NAME IS NULL mailto:sage [2008/02/07(木) 03:06:42 ID:???]
実行計画ってどうやってみるの?
出力結果見ても見方が判らないから意味がわからない

263 名前:NAME IS NULL mailto:sage [2008/02/07(木) 20:49:36 ID:???]
>>259
つか、ifsは10gでcontent Management SDKに名前変わったよ。

>>262
Object Browserで参照すれば分かり易くしてくれる。

264 名前:NAME IS NULL mailto:sage [2008/02/08(金) 16:14:06 ID:???]
バッチジョブの用語の意味は何でしょうか。
調べたのですが、この用語の具体的な意味を解説しているサイトは見つかりませんでした。

265 名前:NAME IS NULL mailto:sage [2008/02/08(金) 16:19:30 ID:???]
そのまんま batch な job

266 名前:NAME IS NULL [2008/02/08(金) 22:46:04 ID:z4LAWO81]
★質問(既出だったらごめんなさい)

ある列に、半角文字が含まれているレコードを探し当てたいのですが、以下のSQLだと「バ」とか「ガ」など濁音とかだと見逃してしまう
なんか良い方法ないでしょうか?


------------------------------------------
--前提条件:文字コードは「JA16SJIS」

SELECT *
FROM TBL
WHERE LENGTH(COL) <> LENGTHB(COL)/2
;
------------------------------------------

267 名前:NAME IS NULL mailto:sage [2008/02/09(土) 11:47:07 ID:???]
半角カタカナはせいぜい60文字ぐらいだろうし、濁音とかだけが問題なら
OR INSTR('濁点')みたいな感じで、それらを別に検索すればよいのでは?

268 名前:256 mailto:sage [2008/02/09(土) 14:51:26 ID:???]
すいません。
返信が遅れました256です。
9iではあれだけ宣伝しているのに、10gのマニュアルにIFSの記載がまったくないので古いバージョンを導入しかないのかと
悩んでいたんです。 (9iで思いっきり失敗した事例で10gからなかったことにしたのかなぁ、なんて勝手に考えていました。)
あと実際の環境でWin2000の低スペックPCで運用したくできるだけ古いバージョンをインストールしようと考えていました。
11gってまだ手を出すレベルではないような気しますし。
社内でファイルサーバの整理にInternetFileSystemが有効かなぁ、なんて考えていたんです。
名称が変わっただけみたいですね。 >>263

皆様ありがとうございました。10g修行して戻ってまいります。

/チラシの裏
CLIEにnnsiだとどうしてもレスポンスが遅くなってしまいますです。
ソフトウェア技術者試験をDBがまったく歯が立たなくて落ちたので
もっと気合入れて勉強します。

以上チラシの裏/


269 名前:NAME IS NULL mailto:sage [2008/02/09(土) 23:33:10 ID:???]
>>264
ていうかバッチジョブって別にオラクル用語じゃないけどね
ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%83%81%E5%87%A6%E7%90%86

270 名前:NAME IS NULL [2008/02/10(日) 00:27:09 ID:C0/lH/mG]

------------------------------------------
--前提条件:文字コードは「JA16SJIS」

SELECT *
FROM TBL
WHERE LENGTH(COL) <> LENGTHB(COL)/2
OR INSTR('゙')
OR INSTR('゚')
;
------------------------------------------

でOK?




271 名前:NAME IS NULL mailto:sage [2008/02/10(日) 00:55:00 ID:???]
いや、それじゃ構文エラーだろう
そもそもINSTRって文字位置を返す関数でしょう

WHERE
LENGTH(COL) <> LENGTHB(COL)/2
OR COL NOT LIKE '%゙%'
OR COL NOT LIKE '%゚%'

とやりたいんじゃないの?

それか文字コードがSJISで固定なら文字コードで範囲を絞るとか

272 名前:266 mailto:sage [2008/02/10(日) 01:09:34 ID:???]
>271
頭いいっすね。勉強になります。
文字コードで範囲を絞るというと文字コードを返す関数があるのですか?


273 名前:NAME IS NULL mailto:sage [2008/02/10(日) 01:25:06 ID:???]
>>271
いやそれだと濁点・半濁点が含まれていないレコードが抽出されるぞ

と自己レス

LIKE演算子の前のNOTは不要でした

>>272
ごめん、あんまり詳しく考えずに書いたけどたぶんあるでしょう>文字コード関数
大体どんな言語にもあるし ASC()とか

274 名前:NAME IS NULL mailto:sage [2008/02/10(日) 01:26:03 ID:???]
スレちがい

275 名前:NAME IS NULL mailto:sage [2008/02/10(日) 02:13:25 ID:???]
>274
違ってないでしょ
もし違っているなら誘導たのむ

276 名前:NAME IS NULL mailto:sage [2008/02/10(日) 04:30:29 ID:???]
こっちだろ
オラクルだけの話題とはいい難い

SQL質疑応答スレ
pc11.2ch.net/test/read.cgi/db/1193486961/


277 名前:NAME IS NULL mailto:sage [2008/02/10(日) 13:55:25 ID:???]
>276
ありがとちゃーん

278 名前:NAME IS NULL mailto:sage [2008/02/10(日) 14:02:43 ID:???]
dump関数使えないかな?


279 名前:NAME IS NULL mailto:sage [2008/02/10(日) 21:12:18 ID:???]
ダパンプ関数?

280 名前:NAME IS NULL mailto:sage [2008/02/11(月) 02:41:56 ID:???]
俺がレスするといつもこうだ



281 名前:NAME IS NULL mailto:sage [2008/02/13(水) 11:44:50 ID:???]
今手元にOracle9iがあるんですが、エディションがわかりません。
何か確認する方法ってありますか?

282 名前:NAME IS NULL mailto:sage [2008/02/13(水) 13:18:15 ID:???]
インストーラー起動すればすぐわかると思う

283 名前:NAME IS NULL mailto:sage [2008/02/13(水) 14:02:15 ID:???]
階層問い合わせを高速化するのに何かいい方法はないでしょうか?

284 名前:NAME IS NULL mailto:sage [2008/02/13(水) 17:14:30 ID:???]
>>281
インストールメディアにはEnterpriseもStandardも入ってるからライセンス証書確認汁。


>>282
それじゃ分からんと思うよwww


>>283
実行計画とにらめっこ汁

285 名前:NAME IS NULL mailto:sage [2008/02/13(水) 22:21:44 ID:???]
9iってインストールするときにedition選ぶんじゃなかったっけ?
たしかインストールしたeditionがrepositoryに表示されてたと思ったが。

#ライセンス証書確認しても何が入っているかの確認にはならんかと思う。

286 名前:NAME IS NULL mailto:sage [2008/02/13(水) 22:25:07 ID:???]
インストーラー起動っていうのはCDとかのインストーラーじゃなくて
既にインストール済みのインストーラーのことで、それを起動したら
インストール済みのプログラムの細かいバージョンまで表示される。
今、手元に9iのサーバがないからenterpriseかどうかまで表示されるかはわからないけど。

287 名前:NAME IS NULL mailto:sage [2008/02/13(水) 22:32:05 ID:???]
>>285
「手元に有る」という表現では、インストール済みの実機とは限らん罠。

>>286
インストール済みの実機有るならsql*plusでconnectすればすぐ分かるだろ。


288 名前:正義の味方 [2008/02/13(水) 23:20:29 ID:UkjpCQOT]
地球を救う正義の味方、今こそ参上!!
seiginomikata.xxxxxxxx.jp/

289 名前:281 mailto:sage [2008/02/14(木) 17:59:24 ID:???]
無事解決しました。
接続の際にプロンプトにOracle9iとしか表示されないのでSEのようです。
また、インストーラ起動でパッチの確認も出来ました。
ありがとうございました。

290 名前:NAME IS NULL mailto:sage [2008/02/18(月) 05:28:37 ID:???]
oracle 10.0.1 + VB.NET2003 ストアドプロシージャの実行について質問です。

以下の内容でVBからプロシージャを実行しようとすると、
Parameter 'out_1':No size set for variable length data:String
というエラーになってしまいます。
SQL*Plusからプロシージャを実行すると正常に動作します。
原因がわからないのですが、わかる方いらっしゃったらご教示お願いいたします。


■以下、PL/SQLプロシージャ定義

CREATE OR REPLACE PROCEDURE HANTEI(
IN_1 IN CHAR,
IN_2 IN CHAR,
IN_3 IN DATE,
OUT_1 OUT CHAR,
OUT_2 OUT CHAR)
IS
BEGIN
 処理内容;     
END;
/


■以下、VB.NET側

Dim OraCmd As New OracleCommand
OraCmd.Connection = Me.Conn

OraCmd.CommandText = "HANTEI"
OraCmd.CommandType = CommandType.StoredProcedure

'--引数(IN属性)
OraCmd.Parameters.Add(New OracleParameter("in_1", 'A')).Direction = ParameterDirection.Input
OraCmd.Parameters.Add(New OracleParameter("in_2", 'A')).Direction = ParameterDirection.Input
OraCmd.Parameters.Add(New OracleParameter("in_3", 'A')).Direction = ParameterDirection.Input
'--引数(OUT属性)
OraCmd.Parameters.Add(New OracleParameter("out_1", OracleType.Char)).Direction = ParameterDirection.Output
OraCmd.Parameters.Add(New OracleParameter("out_2", OracleType.Char)).Direction = ParameterDirection.Output


Try

'ストアドプロシージャ実行
OraCmd.ExecuteNonQuery()



291 名前:NAME IS NULL mailto:sage [2008/02/18(月) 05:49:38 ID:???]
と思ったら事故解決しました。
ありがとうございました。寝よう・・・・

292 名前:NAME IS NULL [2008/02/18(月) 22:37:09 ID:IYQvJAZb]
Oracle9i上で、ViewがViewを5段階くらい呼んでできてるViewがあるのですが、
開くのに一日かかるため、実行速度の改善をしたいと思っています。
実行計画を見るとFULLアクセスしているテーブルが多いのですが、
Viewの先のViewの先のViewの先にようやくテーブルがあり、ヒントの
当て方がいまいち・・・。
そこで、ためしにOracle10gに乗せて、EMのSQLチューニングを実行したところ、
SQLプロファイルが適用されて、10分程度で開くようになりました。
このSQLプロファイルと同等のものをOracle9iに展開したいのですが、
どうにもやり方がわかりません。なにか方法あるでしょうか?

293 名前:NAME IS NULL [2008/02/19(火) 00:06:12 ID:U5+TvUAj]
シノニムでOK.
あるいはえんたープライズマネージャでいけるよ。がんがれ。

294 名前:292 mailto:sage [2008/02/19(火) 21:47:25 ID:???]
>>293
レスありがとうございます。
でも、ダメでした。
もう逃げます。

295 名前:NAME IS NULL [2008/02/19(火) 23:23:04 ID:moGfOmeq]
質問です。ざっくり概要を言います。
シーケンスを使っているテーブルA、そのカラムA
テーブルBのカラムBにはカラムAの値を入れる(FK制約はない)
新規データ登録処理で以下のような処理を読み込みデータ分ループしてます

for(---------){
INSERT INTO テーブルA(カラムA)VALUES(xxx.NEXTVAL)
SELECT xxx.CURRVAL FROM DUAL
INSERT INTO テーブルB(カラムB)VALUES(上のSELECTで取得した値)
}
という感じ
キーとなる項目以外省略しました。xxxはシーケンス。
これを同時に複数起動したらカラムAとカラムBの値がずれると言われました。
複数起動を考慮した場合どのようにするのが一般的ですか?
先にNEXTVALをSELECTしておくとかでしょうか・・・

296 名前:NAME IS NULL mailto:sage [2008/02/19(火) 23:50:41 ID:???]
ずれなかったような気もするけど自信ない。
でもそういう時はずれても良いようにすればよい。
for(---------){
SELECT xxx.NEXTVAL FROM DUAL
INSERT INTO テーブルA(カラムA)VALUES(上のSELECTで取得した値)
INSERT INTO テーブルB(カラムB)VALUES(上のSELECTで取得した値)
}
簡単でしょ。

297 名前:NAME IS NULL mailto:sage [2008/02/20(水) 00:00:40 ID:???]
Sequenceは一意性のために使うべきであって、連番を保障するものではないのに。
そもそもRollbackしたり、インスタンスクラッシュしたりすればあっと言う間に連番で
なくなるのに、なんでそんなにこだわるの?


298 名前:NAME IS NULL mailto:sage [2008/02/20(水) 11:46:08 ID:???]
>>295
insert 〜 returningが使えるならselectは入らない

299 名前:NAME IS NULL mailto:sage [2008/02/21(木) 10:26:36 ID:???]
ショボイ質問ですみません。
sqlldrは制御ファイル無しで実行する事は可能でしょうか?
ORACLE8です。

300 名前:NAME IS NULL mailto:sage [2008/02/21(木) 11:46:01 ID:???]
無理だったと思う。
というか、入力のどの部分をどの列に入れるといった指定がないと使う意味がないと思う。



301 名前:NAME IS NULL mailto:sage [2008/02/21(木) 11:58:36 ID:???]
>>300
ですよね・・。
ありがとうございます。
制御ファイル書いてきます!

302 名前:NAME IS NULL mailto:sega [2008/02/21(木) 13:49:57 ID:???]
rawデバイスを増やしたんで、Oracleに使ってもらえるように
設定したいんだけど、どこをいじればいいんだっけ?

303 名前:NAME IS NULL mailto:sage [2008/02/21(木) 23:56:31 ID:???]
>>304

それだけの情報で理解しろというのが無理だろ。
そもそもO/Sはなんなんだ?
Oracleは直にRaw Deviceに書き込んでいるのか?
それともASM経由で書いているのか?

304 名前:304 mailto:sage [2008/02/22(金) 08:34:42 ID:???]
>>303

304だが。誰に言ってるんだ。



305 名前:304 mailto:sage [2008/02/22(金) 10:04:25 ID:???]
>>303
>Oracleは直にRaw Deviceに書き込んでいるのか?
>それともASM経由で書いているのか?
これってどこ見ればわかるんだっけ?

306 名前:NAME IS NULL mailto:sage [2008/02/22(金) 11:09:57 ID:???]
sqlldrで使う制御ファイルを始めて書くのですが
記述はこれであってますかね・・。
理由があって聞く人も居ないのですが、カラム一個だけのデータを
ローダ使って読み込めという指示でして・・。
ORACLE8iです。

OPTINS
(DIRECT = TRUE)
LOAD DATA
(
INFILE AAA.dat'
BADFILE 'AAA.bad'
DISCARDFILE 'AAA.dis'
INSERT INTO TABLE 'EMP'
FIELDS TERMINATED BY ","(CLUM_A)
)

307 名前:NAME IS NULL mailto:sage [2008/02/22(金) 11:32:06 ID:???]
>>306

それは試してないけど、マニュアルを読めばわかるんじゃないの?


308 名前:NAME IS NULL mailto:sage [2008/02/22(金) 11:34:52 ID:???]
>>307
そうですね・・。
ありがとうございます。

309 名前:NAME IS NULL mailto:sage [2008/02/22(金) 23:56:45 ID:???]
>>305

v$datafile見れば分かるだろ?
ファイル名が+から始まっていれば、ASM経由で書いていることになるし、
そうでないのならRAW Deviceで書いてるんだろ。
それにASM経由で書いているのならプロセスで+ASMというのが沢山
あるんだから一発だろうが。

310 名前:NAME IS NULL [2008/02/24(日) 04:18:38 ID:iudEaq2G]
ストアドファンクションやらパッケージのサブプログラムが参照している
テーブルを列レベルまで調査するにはどの方法が良いでしょうか?

基本は@USER_DEPENDENCIESでテーブルレベルの目星を付けて
AUSER_SOUCEで該当のソースコードを目で確認 するしかないでしょうか。
シノニムやビューを挟んで間接依存していたり、リモート参照していたりする子も多いので、
DEPTREE、IDEPTREEでは役に立たない場合もあります。

このような調査を行ったことがある方、ご存知の方、見当がつく方、宜しくお願いします!
環境はUNIXのOracle9iです。




311 名前:NAME IS NULL mailto:sage [2008/02/24(日) 23:37:44 ID:???]
sp_dependsとかなかったっけ?

ところで自分も質問があります。
Pro*Cで書かれたDB操作共通関数(ConnectやFetchなど)を利用している
Cのモジュールがあるとして、
その処理をCsh+SQL*Plusで代替することは可能なのでしょうか?
Pro*Cの関数部分だけをCsh+SQL*Plusにしても
トランザクションが継承出来そうにないので無理だと思うのですが…。

312 名前:NAME IS NULL mailto:sage [2008/02/27(水) 00:30:31 ID:???]
質問があります。
いまさらですがOAS4.0.8を乗せ換えようとしてます。
新しい環境だとカートリッジに登録したJSERVLETアプリケーションが
起動しません。何か特別な設定があるのでしょうか?
手順書のPDF通りにしているのですが・・・。

WWWリスナー経由でほかのPCからだとJAVAアプリが実行できるのが
そのPCだと起動しないのが原因なんでしょうか?


313 名前:NAME IS NULL mailto:sage [2008/02/27(水) 09:44:08 ID:???]
select * from a, b, c, d
where a.code = b.code
and b.code = c.code
and c.code = d.code

をinner joinを使って書きたいのですが

select * from a
inner join b on a.code = b.code
inner join c on b.code = c.code
inner join d on c.code = d.code

としてみたのですが取得する行が
inner joinの方が多いのです。
上のSQLと同じ結果を返すにはどうすればよいでしょうか?

314 名前:NAME IS NULL mailto:sage [2008/02/27(水) 11:25:22 ID:???]
select * from a
inner join a on a.code = b.code
inner join a on b.code = c.code
inner join a on c.code = d.code

じゃだめだっけ?

315 名前:NAME IS NULL mailto:sage [2008/02/27(水) 11:26:02 ID:???]
select * from a
inner join a on a.code = b.code
inner join a on a.code = c.code
inner join a on a.code = d.code
こうか・・

316 名前:NAME IS NULL [2008/02/27(水) 23:19:04 ID:qnNBcgIv]
問い合わせ結果をSPOOLでCSV出力するコードなんですが
下記clum_aの重複行を表示しないようにしつつ、全ての列を表示したいのです。
簡単に言えば特定列でのDISTINCTなんですが、調べてもDISTINCTで一つのカラムのみ、
またはGROUP BYを使っての集計しか出てきません
サーバの都合でUTL_FILEが使えない(サーバ設定には変更を加えられない)ため
PL/SQLでCURSORを使う方法は無理かと思われます
長くなりましたがお願いします

--テーブル table_name
clum_a culum_b
_________
target 1
target 2
target 3
not_target 1
not_target 2
aiueo 1


SQL*PLUS
___________
SPOOL OUTPUT.csv
SELECT * FROM table_name
WHERE colum_a = 'target';
SPOOL off

317 名前:316 [2008/02/27(水) 23:24:23 ID:qnNBcgIv]
すみません 半角スペースは詰められるんですね

書き忘れです
・clum_aはVARCHAR2 culum_bはNUMBER
・追加条件;重複行がある時はclum_bの最大値の行を選択する

318 名前:NAME IS NULL mailto:sage [2008/02/28(木) 02:01:29 ID:???]
GREATESTで出来そうな気もするけど
手っ取り早いのはサブクエリでcolumn_a='taget'のMAXcolumn_b)を
とってくれば…

319 名前:NAME IS NULL mailto:sage [2008/02/28(木) 22:09:22 ID:???]
distinct と同時にROW_NUMBERを返して相関してやるんじゃダメなんけ?

320 名前:NAME IS NULL mailto:sage [2008/02/28(木) 22:13:16 ID:???]
ROW_NUMBERじゃなくてROWIDか(^^;



321 名前:NAME IS NULL [2008/03/01(土) 15:34:54 ID:lw4GEawQ]
DATE型の項目に
年月日時分秒で範囲指定をしたいのですが
どのように書けばいいのでしょうか
TMP > 'YYYY:MM:DD HH:MM:SS' 形式ではエラーがでてしまいます。

322 名前:NAME IS NULL mailto:sage [2008/03/01(土) 16:55:55 ID:???]
>>321

バージョンとどのエラーが出るのかがわからないと答えようがないが、
TO_TIMESTAMP() ではどうだ。


323 名前:NAME IS NULL mailto:sage [2008/03/01(土) 16:56:21 ID:???]
あ。DATE型なのか。TO_DATE() な。


324 名前:NAME IS NULL mailto:sage [2008/03/01(土) 17:45:59 ID:???]
TMP > TO_DATE('YYYY/MM/DD HH:MI:SS', 'YYYY/MM/DD HH24:MI:SS')
でいけました。ありがとうございます。

325 名前:NAME IS NULL [2008/03/03(月) 22:32:00 ID:5tZy63eQ]
項目A(3バイト)、項目B(6バイト)

(更新前)
AAA,BBBCCC
AAA,BBXCCC
AAA,BBPCCC

(更新後) ← このようにしたいです。
AAA,BBZCCC
AAA,BBZCCC
AAA,BBZCCC

目的は、項目Bの頭3バイトだけを”BB*”で条件に指定して、
項目Bの頭3バイトを全て”BBZ”に更新したい場合どうすればよいのでしょうか?
項目Bの後3バイトの”CCC”はそのまま残さなくてはいけないため、
どのようなSQL文にすれば良いのかわかりません。

どうしても後3バイトを生かしたままの更新なので。。。。困ってしまします。

お知恵をお貸しください。

326 名前:NAME IS NULL mailto:sage [2008/03/03(月) 23:28:47 ID:???]
マルチには答えない。


327 名前:NAME IS NULL mailto:sage [2008/03/03(月) 23:43:52 ID:???]
ヒントぐらい教えてやろう。

select substr(c2,1,2)||'Z'||substr(c2,4,6) from
hoge where substr(c2,1,3) like 'BB_';

後はPL/SQLなんかで回せば?

328 名前:NAME IS NULL [2008/03/03(月) 23:58:48 ID:5tZy63eQ]
>>326 すみません。でも、明日までの納期でした・・・・
    他に詳しいスキルをもってる人間な皆無でした。。。

>>327 ありがとうございます。PL/SQLのスキルは解読できるくらいで、
    製造はできないレベルです・・・

329 名前:NAME IS NULL mailto:sage [2008/03/04(火) 00:41:49 ID:???]
スキルのない人達だけでプロジェクトを進めたのが原因なら純粋にマネジメントの
問題だろ?
顧客には素直に謝るしかないじゃない?

330 名前:NAME IS NULL mailto:sage [2008/03/04(火) 11:53:52 ID:???]
スキルも糞も、アップデート文1行で行けるかと



331 名前:NAME IS NULL mailto:sage [2008/03/04(火) 12:19:54 ID:???]
もう間に合わないだろうし、飯暖める間に暇つぶしに書いたので
動くかどうかしらんが・・
これじゃダメかな?
え?動かない?知るか。
Update hoge t1
 set t1.column_b = (
  select substr(t2.column_b,3,1)||'*'||substr(t2.column_b,5,X)
   from hoge t2
   where t1.p_key = t2.p_key
           )
  where t1.column_b like 'BB%';

332 名前:NAME IS NULL mailto:sage [2008/03/04(火) 12:30:18 ID:???]
substr(t2.column_b,3,1・・・
もダメだ・・他不満飲んでくる

333 名前:NAME IS NULL [2008/03/09(日) 09:09:48 ID:fDcaGtrr]
Oracle Database 10g Express Edition(WindowsXP Pro)
でSQL*Plusに接続したいのですが、
例のログオン画面
・ユーザー名
・パスワード
・ホスト文字列
の入力画面が出てこないのですが、
どのようにすればSQL*Plusに接続できますでしょうか?



334 名前:NAME IS NULL mailto:sage [2008/03/09(日) 10:45:22 ID:???]
サービス起動してないんだろ

335 名前:333 [2008/03/09(日) 13:51:19 ID:fDcaGtrr]
自己解決しました

336 名前:NAME IS NULL mailto:sega [2008/03/09(日) 14:01:56 ID:???]
sqlplusでASMインスタンスにログインってどうやんの?

337 名前:NAME IS NULL mailto:sage [2008/03/09(日) 16:50:33 ID:???]
>>336

ORACLE_SID


338 名前:NAME IS NULL mailto:sage [2008/03/10(月) 22:32:51 ID:???]
PHP5でオラクル8のデータを取得すると全角文字が?になってしまいます。
困ってます。(´・ω・`)

339 名前:NAME IS NULL mailto:sage [2008/03/11(火) 00:31:51 ID:???]
あっそ。

340 名前:NAME IS NULL mailto:sage [2008/03/11(火) 09:30:55 ID:???]
>>338
困っていますで止められても(´・ω・`)
で、質問は?



341 名前:NAME IS NULL mailto:sage [2008/03/12(水) 00:42:31 ID:???]
文字コードが違うだけってオチでしょ

342 名前:NAME IS NULL mailto:sage [2008/03/12(水) 20:08:57 ID:???]
>>340
?になると見栄えが良くないので、空白等の別の文字に
置き換えたいのですが 可能でしょうか。

343 名前:NAME IS NULL mailto:sage [2008/03/12(水) 21:48:09 ID:???]
?をブランクに変換するのは文字列を切り出して?と
一致したら?にすればいいだけだから簡単だろうけど・・・

でも、それでは本質的な解決にならないのでは?
DBとPHPがやりとりする文字コードが合ってないっていう>>341の意見を
聞いて文字コードを確かめたのかしら??php.iniでは何を設定していて、
Oracleには何を設定しているのかね??



344 名前:NAME IS NULL mailto:sage [2008/03/13(木) 17:55:38 ID:???]
OracleのシャットダウンをVBScriptで行いたいのですが

以下のコマンドをVBScriptで実行するにはどうしたらよいでしょうか?

Sqlplus sys/password as sysdba
Shutdown immediate
Startup
Shutdown

以上ですがよろしくお願いいたします。

345 名前:NAME IS NULL mailto:sage [2008/03/15(土) 16:27:17 ID:???]
>>344
つ「shell関数&バッチファイル&SQL*PLUS&コマンド定義ファイル」


346 名前:NAME IS NULL [2008/03/15(土) 23:10:48 ID:vdIcUnbN]
GUROUP BY ROLLUP」とか「GROUP ID」「SETS」とかの小計行とか合計行の詳しく解りやすく解説してあるサイトを教えてください。
お願いします

347 名前:NAME IS NULL [2008/03/16(日) 11:49:23 ID:2bM+0JgV]
家でオラクルの勉強をしようと思い、オラクルを自宅PCに入れたいのですが、
タダで手に入りますか?(勉強版みたいなものはありますか?)


348 名前:NAME IS NULL mailto:sage [2008/03/16(日) 14:04:57 ID:???]
オラクルを買うとは豪勢な。時価総額何億ドルくらいかな。



349 名前:NAME IS NULL mailto:sage [2008/03/16(日) 15:27:01 ID:???]
Oracle VM を使ってみようかと思うんだが、
Oracle Enterprise LinuxとOracle VMをダウンロード(保守なしなら無料) してインストール
Oracle VM上でゲストOSとしてWindowsサーバを複数セットアップ

上記のやり方でWindowsのOracleDBサーバをまとめられる?
やった人いますか?うまく動きますか?


350 名前:NAME IS NULL mailto:sage [2008/03/16(日) 21:21:45 ID:???]
毒餃子でも売ってろよ



351 名前:NAME IS NULL mailto:sage [2008/03/16(日) 22:07:38 ID:???]
PCにインストールしたOracleデータベースと別に用意したWebサーバ(Linux)
が通信するためには、LinuxにOracleクライアントがないと
駄目なんっすよね?

そもそも、Linux側で、コンパイルすっからLinux版のヘッダやLibが必要なんだよね、、、

352 名前:NAME IS NULL mailto:sage [2008/03/16(日) 22:18:57 ID:???]
>>351

何が言いたいの?

エスパーしてみると Instant Client を使えばいいのでは。
Java なら JDBC ドライバがあればいいけどね。


353 名前:351 mailto:sage [2008/03/16(日) 22:31:06 ID:???]
説明が下手ですまんす。。。

C言語のAP(Linux)からDB(Linux)にアクセスするにはLinuxにOracleクライアント
が必要なのか聞きたかったとです。

Instant Clientは初めて聞いたので見てみましたが、当方Oracle8i、、、、
ざっとみ、Oracle8のInstant Clientはなかったので、Oracleクライアントを準備しないと
いけないんでしょうかね。



354 名前:NAME IS NULL mailto:sage [2008/03/16(日) 23:16:42 ID:???]
Oracle8 と 8i で違うし細かいバージョンでも違うけれども、
www.oracle.co.jp/products/system/matrix_db.html
を参考に。OCI というのが Instant Client が提供する C の API ね。

8i が 8.1.7.4 より前なら、そこまで更新してからのほうが不具合が少ないと思う。
後はサポートに聞いてねー


355 名前:NAME IS NULL mailto:sage [2008/03/18(火) 00:37:22 ID:???]
>>349

DBサーバーをまとめるというのはどういう意味?
RACを構築可能かということ?
OracleのVMではないけど、VMWAREでならGuest O/SをCent O/S 5にして11g
RACを組んで確認した。

356 名前:NAME IS NULL mailto:sage [2008/03/18(火) 02:53:03 ID:???]
>>353

9iだったら8iとの下位互換性が保障されているから、9iのインクラ入れれば?

357 名前:NAME IS NULL mailto:sage [2008/03/18(火) 21:01:09 ID:???]
>>355
まとめるというのは、たとえば、Aサーバ(AシステムのDBサーバ)、Bサーバ、Cサーバの3台のDBサーバを1台のマシンX上で仮想的に構築することです。電気代、スペースの削減になる。同じ構成を複数構築すれば(X1、X2....)RACみたいなこともできるね。
ぶっちゃけ言いたいことは、VMWAREやXenやVirtialPCとどう違うのってことです。

358 名前:NAME IS NULL mailto:sage [2008/03/18(火) 22:30:58 ID:???]
>>357

そういう意味なら可能。
アプリの特性にもよるけど、それなりにメモリー容量とCPUには配慮は必要だろうけど。

ちなみにOracleのVMはXenがベースだよ。

359 名前:NAME IS NULL mailto:sage [2008/03/19(水) 00:43:48 ID:???]
オラクル10gについての質問です。

EM使っていろんな管理作業する際に、
OSユーザのパスワード入力が求められることが多々あるかと思いますが、
OSユーザにパスワードを設定していない場合、
パスワード未入力で進めようとすると
「パスワード入力は必須」の旨のエラーが出ます。

回避手段って何かありますか?

360 名前:359 mailto:sage [2008/03/19(水) 00:48:16 ID:???]
補足ですが、
「OSユーザにパスワードを設定する」以外の
回避策を望んでいます。
よろしくお願いいたします。



361 名前:NAME IS NULL mailto:sage [2008/03/19(水) 01:52:12 ID:???]
DBを入れるようなサーバにOSのパスワードが設定されていない
ということ自体が間違い。

回避策としてはEM10gを自分で直すとか。


362 名前:NAME IS NULL mailto:sage [2008/03/20(木) 16:53:02 ID:???]
Oracle8で運用されてるシステムってまだそんなあります??


363 名前:NAME IS NULL [2008/03/20(木) 18:11:55 ID:vlU0awbG]
>>362

どうでもいいようなシステムやOracle8でも運用に耐えれるようなところでは
使っているところはある。
でもサポートは終了しているからそのうち無くなると思われる。


364 名前:359 mailto:sage [2008/03/20(木) 23:58:24 ID:???]
>>361
確かに普通に考えたらそうですね。

私用PCに学習用としてトライアル版を入れて動かしているので、
特にOSのパスワードを設定しておらず、何か回避策はないかな?
と思い質問してみました。

ちなみに余談ですが、以前以下のようにしてみたところ、
レジストリの不整合が原因か、マシンが立ち上がらなくなって
しまいました。

・OSパスワード入力が必須だと気づく
 ↓
・OSパスワードを設定
 ↓
・EMで優先接続情報(パスワード)の設定
 ↓
・OSパスワードを無効

(データベースの本質とは無縁のところの説明ですので、
読み飛ばしてもらっても結構です。)

365 名前:NAME IS NULL mailto:sage [2008/03/26(水) 00:08:29 ID:???]
Oracle10gを新しくインスコし、一からDBを作成してみようかと思っています。

ツールなどを使わずにSQLのCreate DataBase文から作ってみようかと
思っているのですが、そのあたりについて詳しく書かれているサイトなどありますか?

366 名前:NAME IS NULL mailto:sage [2008/03/26(水) 00:42:31 ID:???]
>>365

マニュアル「Oracle Database 管理者ガイド」。


367 名前:NAME IS NULL [2008/03/26(水) 16:32:05 ID:77YWGQXO]
他人が書いたストアドプロシージャを見ながら勉強している初心者です。
DB環境はLinux+Oracle10gで、アプリケーションがRuby+sqlrelayです。

あるプロシージャを実行すると
person1,male,age1
person2,female,age2

みたいな結果を返したいとします。

で、もらったプロシージャでは、この結果をプロシージャの中でdbms_output.put_lineを使って一行ずつ出力し、
アプリケーションから新たにdbms_output.get_lineクエリを発行して結果を取得、
アプリケーションで結果行をパースしているのですが、
これって一般的なのですか?

ネットで調べると「dbms_outputパッケージはデバッグ目的で使います」みたいなことが書いてあるので、
通常の結果の受け渡しに使っていいのか疑問なのです。

# sqlrelayのfetch_rowみたいな関数も動かないし...

もっと調べると「そもそも結果を返すんだから、プロシージャじゃなくてファンクションなんじゃないか?」
とかも思うのですが…
どうなんでしょうか?

的外れなことを言っていたらすいません。
識者の皆さん、よろしくお願いします。


368 名前:NAME IS NULL mailto:sage [2008/03/26(水) 17:31:49 ID:???]
試験番号1zo‐311j
oracle master silver
oracle application server10g
ってのを取れって言われちゃったんだけど、何がなんだかわからんw

これって黒本売ってないの?
まったくわかんない状況なんで些細なことでもいいのでわかる人情報ください。

泣きそうですw

369 名前:NAME IS NULL mailto:sage [2008/03/26(水) 19:44:50 ID:???]
>>368

馬鹿には教えてやらない。勝手に泣け。

370 名前:NAME IS NULL mailto:sage [2008/03/27(木) 00:37:36 ID:???]
>>367
表関数とかテーブルファンクションとかで調べてみたら。




371 名前:NAME IS NULL mailto:sage [2008/03/27(木) 00:44:37 ID:???]
>>367

ちょっと google ってみたけど
homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_pl15.htm

こんな感じのことを標準出力に出せればいいということかなぁ。

どうもやりたいことがよくわかんない。


372 名前:NAME IS NULL mailto:sage [2008/03/27(木) 02:37:32 ID:???]
>>365

取りあえずDBCA起動して、スクリプトだけでも吐き出して貰えばいいじゃん。
でもって、その中身を見て勉強すると。
最近のDBCAはそこそこ使える用になったよ。
一昔前まではバグだらけでイライラさせられていたけどな。

373 名前:NAME IS NULL mailto:sage [2008/03/27(木) 03:35:08 ID:???]
>>372

でも結局管理者ガイドを読まないと意味不明だと思うよー


374 名前:NAME IS NULL mailto:sage [2008/03/27(木) 09:56:21 ID:???]
Oracleのマイグレーションをやっている者です。
出先でも開発できるように、中古のノートPCに
coLinuxとOracle10gR2試用版を入れようと思ったのですが、
システム要求条件の高さに驚きました。

もっと小さな環境でも入れられる、古いOracleの試用版を
手に入れる方法はないものでしょうか?

375 名前:367 mailto:sage [2008/03/27(木) 13:45:33 ID:???]
>>370
表関数!そんなものもあるのですね。
ありがとうございます。

>>371
説明がうまくできなくてすいません(´д`;)

やりたいことは単純なことで、プロシージャでSELECTした結果(複数レコード)をrubyスクリプトに渡したいのです。

自分が気になっているところは、
「複数レコードの受け渡しは標準入出力経由でいいの?IN/OUTパラメータみたいに専用の仕組みがあるんじゃないの?」
ってところです。

oracle内のデータのやり取りでなくて、外部プログラムへのデータの渡し方なので、もしかしたらスレ違いの質問なのかもしれません。
プログラム板のデータベース関連で聞いたほうがいいのかな…


376 名前:NAME IS NULL mailto:age [2008/03/27(木) 17:32:57 ID:???]
oracleの試供版をダウンしようと思ったんですが、
オラクルのHPからいつまでたってもリンク先に飛びません
どういうことなんでしょう?

ちなみに他のHPは普通に見れます



377 名前:NAME IS NULL mailto:sage [2008/03/27(木) 18:54:52 ID:???]
>>376

ダウンって SHUTDOWN ABORT のこと?
オラクルのHPというのはHPがアライアンスパートナーとして売っているOracleのこと?
でも試供版なんだよねぇ。。

リンク先に飛ぶというのはEMで操作してるのかな。
何を言ってるのかさっぱりわからん。


… 釣られてみたよ。


378 名前:NAME IS NULL mailto:sage [2008/03/27(木) 21:42:04 ID:???]
え?普通にホームページからダウンしようとしたんじゃ?彼。
ダウンする時、ログインするためにウィンドウが別窓として出て
そのウィンドウに気づいてなく、一向にダウンロードが始まらないとか。


379 名前:NAME IS NULL mailto:sage [2008/03/28(金) 02:22:47 ID:???]
>>374
Oracle10g Express Editionでも入れたら?
普通に10g入れるよりは若干軽いよ。
っていうか古いバージョンでもそれなりにメモリもCPUも食う。

380 名前:NAME IS NULL mailto:sage [2008/03/28(金) 02:35:41 ID:???]
>>376

U.S. OTN、たまに腐っているよ。
諦めずに何度もトライ!



381 名前:NAME IS NULL mailto:age [2008/03/28(金) 12:34:38 ID:???]
>>377-378
説明不足すみません
www.oracle.com/lang/jp/index.html
に飛んで右の方FEATURED DOWNLOADSの下で
11gクリックしてもダウンロードが始まりません
ファイアフォックス使ってまして、いつまで経っても
タブの部分に輪っかがグルグル回っていて、画面が変化しません

382 名前:NAME IS NULL mailto:sage [2008/03/28(金) 13:06:07 ID:???]
>>381
ダウンロード可能なファイル名が書かれてある上にある
"ライセンス規約への同意"のラジオボタンをチェックし忘れている予感

383 名前:NAME IS NULL mailto:sage [2008/03/29(土) 12:48:02 ID:???]
>>381

良く分からんから、取りあえずここからダウソしろよ。

www.oracle.com/technology/software/products/database/index.html

ちゃんと上のライセンス規約で「accept」を選んでからリンクをクリックしろよ。


384 名前:NAME IS NULL mailto:sage [2008/03/30(日) 14:57:43 ID:???]
Oracleの人から検索対象が全体の5%以上ならFullScanの方が早いと
聞いたのですが本当ですか?
あとindex作っても使用してくれないのでヒントがかかせません
これ普通ですか

385 名前:NAME IS NULL mailto:sage [2008/03/30(日) 18:25:01 ID:???]
>>384
パーセンテージは諸説あるが割合が一定以上ならそのとおり。
索引の使用についてはプランを調べてみる。ケースによる。

386 名前:NAME IS NULL mailto:sage [2008/03/31(月) 06:42:50 ID:???]
>>384

ちゃんとAnalizeしていれば索引を使ってくれる方が多いと思うけど?

387 名前:NAME IS NULL [2008/03/31(月) 23:31:14 ID:G8a55WHb]
Oracle XEで新規でデータベース作った後に
Webの管理画面がでなくなりました。
APEX入れ直さないとでないんでしょうか。

388 名前:NAME IS NULL mailto:sage [2008/04/01(火) 02:16:55 ID:???]
>>387

emctl status dbconsoleを試してみてNot runningとか出ているのならemctl start dbcosoleで
起動させろ。

389 名前:NAME IS NULL [2008/04/01(火) 14:05:40 ID:NRBC4VGC]
お世話になります
トリガよりストアドパッケージを呼び出し
その中であるテーブルのレコードを取得し別のテーブルに挿入しています
データ量が多いときと思われますが
ORA-01013: ユーザーによって現行の操作の取消しが要求されました。
のエラーが出ています
ODBCやADOでタイムアウトの調整等はよく聞くのですが
ストアドパッケージでこのエラーの対処法はありませんでしょうか?

OS:Windows2003Server
DB:Oralce9i

よろしくお願いいたします

390 名前:NAME IS NULL mailto:sage [2008/04/01(火) 22:58:05 ID:???]
それタイムアウト?



391 名前:NAME IS NULL mailto:sage [2008/04/02(水) 10:41:41 ID:???]
アラート見るとORA-600出てそうな希ガスwww

392 名前:NAME IS NULL mailto:sage [2008/04/02(水) 11:35:29 ID:???]
ORA-600だったら死亡フラグw。

393 名前:NAME IS NULL mailto:sage [2008/04/02(水) 23:56:35 ID:???]
まあ、待て。
ORA-7445かも知れないじゃまいか。

394 名前:NAME IS NULL mailto:sage [2008/04/03(木) 11:30:43 ID:???]
>>393
何の気休めにもならないwww

395 名前:NAME IS NULL [2008/04/06(日) 22:28:30 ID:KZufWnQN]
オラクルって無料版あるのですか?

396 名前:NAME IS NULL mailto:sage [2008/04/07(月) 21:16:23 ID:???]
初心者です。
別のサービスからテーブルをインポートしたいのですが、
調べるとダンプファイル等と書いてありやり方がわかりません。

user/pass@serve1
のzzx1というテーブルを

user/pass@serve2
にインポートする方法を教えてください。

397 名前:NAME IS NULL mailto:sage [2008/04/07(月) 22:21:46 ID:???]
@

398 名前:NAME IS NULL mailto:sage [2008/04/07(月) 22:28:22 ID:???]
初心者ですと書けば何でも手取り足取り教えてもらえるかと思えば
大間違いだ。

exp と imp のマニュアルくらいちゃんと読め。


399 名前:NAME IS NULL mailto:sage [2008/04/07(月) 22:58:25 ID:???]
>>396

Versionぐらい書け。
10g以降ならDatapumpという手もあるんだから。

400 名前:NAME IS NULL mailto:sage [2008/04/07(月) 23:11:17 ID:???]
Version・・・
すみません今はわからないです
ダンプファイルってバックアップですよね?

バックアップってテーブルの名前を変更するだけじゃ不十分なのでしょうか?
明日中に終わらせないといけないのでマニュアル探す余裕がなかったので・・・
ごめんなさい。

もし違っていたらすみません。
expでダンプファイルをエクスポートして
それをimpでインポートすることでテーブルが作成されるんでしょうか?




401 名前:NAME IS NULL mailto:sage [2008/04/08(火) 00:42:52 ID:???]
だーかーらー

明日中に終わらせないといけないんだったらここで聞くんじゃなくて
マニュアルを読め。それがどう考えても一番早い。

exp したダンプファイルを imp すれば確かにテーブルのデータの移動はできるけど、
お前には無理だろう。

お客さんには上司にお願いして謝ってもらえ。


402 名前:NAME IS NULL mailto:sage [2008/04/08(火) 00:47:07 ID:???]
オマイがやりたいのは多分create table asだ
詳しくはググれ

403 名前:402 mailto:sage [2008/04/08(火) 00:49:18 ID:???]
ああ、スマン>>400しか読んでなかった。
imp/expであってる

404 名前:NAME IS NULL mailto:sage [2008/04/08(火) 00:57:51 ID:???]
>>402

どうかな?
俺も最初はそう思ったけど、接続子がserve1からserve2に変わっているから
対象DBが違うと判断したぞ?

DB1(serve1)にて
exp user/pass tables=zzx1 rows=y file=hoge.dmp direct=y compess=y

DB2(serve2)にて
imp user/pass full=y rows=y ignore=y file=hoge.dmp

これでいいだろ。



405 名前:NAME IS NULL mailto:sage [2008/04/08(火) 09:13:57 ID:???]
DBリンクで流し込めば?

406 名前:NAME IS NULL mailto:sage [2008/04/08(火) 10:50:17 ID:???]
>>404

すぐ答えを教えちゃだめだよー
ちょっとオプションが間違ってるけど。(compess → compress)

ああいう奴はまたちょっと困ったら簡単なことでも聞くに決まってる。

仕事でやってるというのに、ダメなエンジニアもどきが氾濫すると
我々の仕事がますますなくなっちゃうじゃない。


407 名前:NAME IS NULL mailto:sage [2008/04/08(火) 19:55:04 ID:???]
>>404
どうもありがとうございます。
助かります。

>>406
私は事務員ですから。
人手が足りなくて開発のお手伝いしてます。
ひどい言われよう・・・


明日会議に出してあさってリリースします。
ありがとうございました。

408 名前:NAME IS NULL mailto:sage [2008/04/08(火) 21:56:12 ID:???]
事務員でも調べることは調べないとだめでしょ。
自分の仕事なんでしょ?

高い金だして Oracle を使うようなデータベースだったら、
その中身も重要なデータなんだろう。
ちゃんとわかっている技術者に扱わせたほうがいいんじゃないのかね。

そういうところから情報漏洩とか誤操作とかの被害とかが起こるんだよ。


409 名前:NAME IS NULL mailto:sage [2008/04/08(火) 22:38:06 ID:???]
>>408
反論はありますが愚痴になるので控えます。
おっしゃる通りなのですが、上の方針ですので。
経験ないぶん時間はかかりますが
データの重要性等は理解しているつもりなので、
誤操作ないよう念には念をでバックアップや
チェックはしてもらおうと思います。

410 名前:NAME IS NULL mailto:sage [2008/04/08(火) 22:44:06 ID:???]
まぁ、がんばれ。
無能な上司と一緒に土下座するのもいい経験だろう。



411 名前:408 mailto:sage [2008/04/08(火) 22:53:52 ID:???]
おっ。同意してくれる人がいた。

俺もただ罵倒したいだけじゃないよ。
魚の釣り方を教えてやりたいだけだ。


412 名前:NAME IS NULL mailto:sage [2008/04/08(火) 23:01:13 ID:???]
なんというか、
こんなこというのはおかしいのかもしれませんが
「これは私のやるべき仕事ではない」
と思います。
次は絶対に引き受けないようにしようと思います。
いい経験になりました。

システムの製造は終わったので明日手順の確認をして
無事リリース完了させます^^


413 名前:NAME IS NULL mailto:sage [2008/04/08(火) 23:04:13 ID:???]
あんたらエスパーすぐるww

414 名前:NAME IS NULL mailto:sage [2008/04/08(火) 23:17:34 ID:???]
>>406

まあ、typoはご愛嬌ということでw

exp/imp如きは別に技術でもなんでもないから、教えたところで
何の支障もあるまいて。
ダメにエンジニアもどき如きが決して追いつくことが出来ない技術を
身に着けてナンボの世界っしょ。


415 名前:NAME IS NULL [2008/04/09(水) 20:25:32 ID:CidHgDxH]
SQLの取得方法で質問です。

以下のデータが存在するとします。

ID | KINGAKU
-------------
0001 | 1000
0002 | 2000
0003 | -1000
0004 | 3000

このときIDの0001と0003で0(ゼロ)になるため抽出結果から省きたいのです。
0001と0003は打ち消しになるので抽出する必要はない、そういうことです。
要は一度その金額で購入したのですが、その後検査でNGになったので返却する
のでプラマイゼロになるので、その分の表示の必要はないとのことです。


SQLの抽出結果は

ID | KINGAKU
-------------
0002 | 2000
0004 | 3000

となるようにしたいのですが、何か良いSQL文を生成出来ないでしょうか?


416 名前:NAME IS NULL mailto:sage [2008/04/09(水) 20:40:12 ID:???]
0005 | -1000
とか
0006 | 1000
てのもあったらどう打ち消すんだ?
それともKINGAKUはuniqueか?

417 名前:NAME IS NULL mailto:sage [2008/04/09(水) 20:40:41 ID:???]
imp/expはむしろ指示した人間がスクリプト書いて
「これ流しといて」とかが正しいと思うけどな。
事務の人間に覚えさせる気があるなら別だけど。

>>415
テーブルの設計が間違ってて、相殺フラグを持たすべきだと思うけど。

ID | KINGAKU
-------------
0001 | 1000
0002 | 1000
0003 | -1000
0004 | 3000

とかだったら0001と0002のどっちを表示してどっちを消せばいいのかわからんし

418 名前:417 mailto:sage [2008/04/09(水) 20:44:40 ID:???]
ああ、かぶった。
仮に金額が一意であれば

SELECT * FROM TABLE A
WHERE A.KINGAKU > 0
AND NOT EXISTS
(
SELECT * FROM TABLE B
WHERE B.KINGAKU = (A.KINGAKU * -1)
AND B.KINGAKU < 0
)
とかかな。

419 名前:NAME IS NULL mailto:sage [2008/04/09(水) 21:24:32 ID:???]
事務員だから、初心者だから優しく教えてよね

か・・・。

420 名前:NAME IS NULL mailto:sage [2008/04/09(水) 21:38:13 ID:???]
>>417
こんだけの条件じゃ_

あと、マルチやめれ



421 名前:NAME IS NULL mailto:sage [2008/04/09(水) 21:39:21 ID:???]
すまね
×>>417
>>415

422 名前:NAME IS NULL mailto:sage [2008/04/09(水) 21:46:41 ID:???]
仕様正確に聞いてますか?
id 0004 kingaku -5000とかあった場合ってどういう表示が正解なんですか?
1401?

423 名前:NAME IS NULL mailto:sage [2008/04/09(水) 21:48:47 ID:???]
連投スマソ
>>417
そこまでするならジョブでも組んで自動化してくださいw


424 名前:NAME IS NULL mailto:sage [2008/04/09(水) 21:56:59 ID:???]
>>423
定期バックアップとか○○流した後バックアップとかなら自動化できるけど
「俺の気が向いたときにバックアップ」はどうしようもないからな

425 名前:NAME IS NULL mailto:sage [2008/04/10(木) 22:04:59 ID:???]
SQLServerでいう
select * from table with (nolock)
と同じようにロック掛けないでselectするにはどうしたらいいですか

426 名前:NAME IS NULL mailto:sage [2008/04/10(木) 22:31:30 ID:???]
>>425

意味が良く分からんが、SQL serverでnolockというのはどういう
状態なんだ?
ダーティリードさえも許してしまう様な状態なのか?

427 名前:NAME IS NULL mailto:sage [2008/04/10(木) 22:38:05 ID:???]
>>426
そうです。許します。

428 名前:NAME IS NULL mailto:sage [2008/04/10(木) 22:42:27 ID:???]
いやSQL SERVERでダーティーリードを許すのは
(READ UNCOMITTED)か何かだったと思うが。

429 名前:NAME IS NULL mailto:sage [2008/04/10(木) 22:55:26 ID:???]
SQLServerのBooksOnlineによると「ロック ヒントは、セッションの現在のトランザクション分離レベルを無効にします。」とある

430 名前:NAME IS NULL mailto:sage [2008/04/10(木) 23:04:27 ID:???]
SQLサーバーの場合はその両方の方法があるで正解。
Oracleの場合はマルチバージョニングが必ず働くから、
READ UNCOMMITTEDとREAD COMMITTEDの区別なく
ダーティーリードは発生しない。



431 名前:NAME IS NULL mailto:sage [2008/04/10(木) 23:55:40 ID:???]
>>430
ありがとうございます

432 名前:NAME IS NULL mailto:sage [2008/04/12(土) 19:59:11 ID:???]
Oracle9iのPL/SQLで
DELETE文の実際に削除された件数を取得する方法はないのでしょうか?
SQL*PlusでDELETE文を実行すると
『○行が削除されました。』
と表示されますが
削除前後にSELECTでCOUNTし比較ではなく
PL/SQL内からの実行だと何処かシステム変数などに入らないのでしょうか…
SQLCODEやSQLERRMには出てきませんでした。
よろしくお願いします。


433 名前:NAME IS NULL mailto:sage [2008/04/12(土) 20:06:10 ID:???]
ROWCOUNT

434 名前:NAME IS NULL mailto:sage [2008/04/12(土) 20:26:19 ID:???]
%ROWCOUNTはFETCHの取り出した件数ですよね?

どういう関係があるのかよくわかりません…。


435 名前:NAME IS NULL mailto:sage [2008/04/12(土) 20:37:32 ID:???]

そもそも「oracle delete 件数 取得」あたりで検索した上で聞いてるんだろうね。
1件目でROWCOUNTを使った取得がヒットするけど。

436 名前:NAME IS NULL mailto:sage [2008/04/12(土) 20:49:09 ID:???]
関係無いけど、「〜無い」事を確かめるのはめんどうだね。
「出来る・有る」事ならgoogle先生が簡単に教えてくれるのに

437 名前:NAME IS NULL mailto:sage [2008/04/12(土) 21:00:23 ID:???]
職場の端末が外部と接続出来なくて
携帯からなんです…。
PCサイトもメモリが足りなくて表示できませんが
キャッシュのページに少し見えるので試してみますね。

438 名前:NAME IS NULL mailto:sage [2008/04/12(土) 21:12:20 ID:???]
>>436
マニュアルに書いてあることも多いけどね。
〜は…でのみ使用できます、とか。

>>435
他のDBならともかく、Oracleに関する情報なら
Webにも沢山あるのに、ソレを調べもせず2chに頼るって時点で
視野と見識は推して知るってモンだ。
少なくとも試してみればいいのに。

439 名前:NAME IS NULL mailto:sage [2008/04/12(土) 21:24:03 ID:???]
SQL%ROWCOUNTで取得出来ました!
ありがとうございます><

携帯がしょぼくてPCサイトの殆どがメモリオーバーで表示されないんです…。
あと本もSQLの本さかなくて^^;
でも何とか解決しましたありがとうございました!


440 名前:NAME IS NULL mailto:sage [2008/04/12(土) 22:12:12 ID:???]
Oracle のマニュアルだけでも見えるところに置いてもらったら。
仕事にならないでしょ。

昔は買うと高かったけど、いまはOTNからダウンロードできるよ。




441 名前:NAME IS NULL mailto:sage [2008/04/13(日) 20:30:43 ID:???]
SQL*PLUSで
@ファイル名
として実行するファイルの初期フォルダを設定するにはどうしたらいいですか?
@C:\Documents and Settings\xxxx\ファイル名
のパス部分を省略したいです。

442 名前:NAME IS NULL mailto:sage [2008/04/13(日) 21:33:36 ID:???]
>>441

レジストリのSQLPATHをいじる。

otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/ch2.html#8672

何でみんなマニュアル読まないのかなぁ。


443 名前:NAME IS NULL mailto:sage [2008/04/13(日) 22:26:34 ID:???]
>>442
ありがとうございます。

444 名前:NAME IS NULL mailto:age [2008/04/15(火) 06:30:20 ID:???]
質問です。
Oracleの10gをPCサーバにインストールして、クライアントを別のPCに
インストールしています。
Pro*C/C++を使って、DBを操作したいのですが、
C/C++の開発環境がサポートしていないためか
うまくいきません。
開発環境は、Visual Studio C++ 2008
です。
2008は新しいので、無理なのでしょうか?
VC++2005や2003だとよろしいですか?
教えてください。

445 名前:NAME IS NULL mailto:sage [2008/04/15(火) 07:53:27 ID:???]
>>444
マルチうざ。

446 名前:NAME IS NULL mailto:sage [2008/04/15(火) 09:07:42 ID:???]
>>444

何がどううまくいかないのかさっぱり伝わらないではないか。
俺らに一から同じ環境を作って再現させろとでも言うのか。

やはり人間としての初心者だったようだな。
義務教育から出直してきたらいいよ。

半島へ帰れ。


447 名前:NAME IS NULL mailto:sage [2008/04/15(火) 09:17:03 ID:???]
Win用のPPCてあんの?
そもそもなんでODBC使わないの?

448 名前:NAME IS NULL mailto:sage [2008/04/16(水) 16:41:59 ID:???]
オラクルデータベース8i(8.1.6)にオラクルクライアント9i(9.2)から接続することは可能でしょうか?

449 名前:NAME IS NULL mailto:sage [2008/04/16(水) 20:50:26 ID:???]
>>448

www.drk7.jp/MT/archives/001000.html


450 名前:NAME IS NULL mailto:sage [2008/04/17(木) 03:20:04 ID:???]
Pro*Cに関して質問させてください。
Pro*Cで、引数で渡されたSQL文(カーソル)を実行し、
EXEC SQL DESCRIBE SELECT LISTでsqlda構造体にデータを入れてから
FやTなどの要素を参照して処理を行っているのですが、
この処理をベタなC言語+ODBCで代替することは可能なのでしょうか。

なんとなくSQLExecDirectを実行するまでは分かるのですが、
そこから自前でsqlda構造体にデータをセットする手段がわからないのです。
(特にデータ型を判別してT[]にセットすべき内容と方法)

Pro*Cで作ったライブラリとCとでsqlda構造体を介してのやり取りをするのは
やはり難しいのでしょうか?




451 名前:NAME IS NULL mailto:sage [2008/04/17(木) 08:36:52 ID:???]
できちゃえば簡単なこと。
できなければ難しいこと。ただそれだけw

452 名前:NAME IS NULL [2008/04/17(木) 17:54:15 ID:Peraqhsc]
SELECT A1
SUM('08-04-12' THEN 1 ELSE 0 END) "4月分",
(以下ry)

のときに日付指定じゃなくて月指定で出すにはどうしたらいい?
ちなみにDate型なんだが…

453 名前:452 [2008/04/17(木) 17:59:01 ID:Peraqhsc]
サーセン間違えたw
SELECT A1,
SUM( CASE WHEN SCORE_DATE = '08-04-12' THEN 1 ELSE 0 END) "4月分",

の間違い、ほんとすまん。

454 名前:NAME IS NULL mailto:sage [2008/04/17(木) 22:30:46 ID:???]
>>453

SELECT A1,
SUM( CASE WHEN TO_CHAR(SCORE_DATE,'YY-MM') = '08-04' THEN 1 ELSE 0 END) "4月分",


455 名前:452 [2008/04/18(金) 09:12:48 ID:eVdze1//]
>>454
ありがとう、無事実行できた!

456 名前:NAME IS NULL mailto:sage [2008/04/19(土) 07:03:59 ID:???]
誰か助けて!!

親テーブルがあって、それに子テーブルが7つくらいぶら下がってて、
子同士は紐付かないようなテーブルに対して、ユーザがwhere条件を自由に
書けるようなCSV出力画面を作っているのです。

それで、子のデータは親1件に対して複数件あるため、
子項目の場合はコロンで区切って、1行にするという仕様です。
(子が何件あろうが、親の件数=CSVの行数になる)

これを、1回で抽出してくるって無理ですよね・・・
子同士に関連が無いので、子の行数を次々乗じた件数が取得されちゃいますし。
AP側でテーブルを個別に抽出するにしても、whereを自由に書けるのが
癌で、この評価をAP側でやるのも、どうしようという状態で。。

例えば
where oya.pkey = ko1.pkey and oya.pkey = ko2.pkey and
((ko1.fld1 = 1 or ko2.fld1 = 2) and ko1.fld3 = 3)
とか、これを各テーブル個別に持ってきて、自力評価しか
ないんでしょうか・・・。

457 名前:NAME IS NULL mailto:sage [2008/04/19(土) 11:31:23 ID:???]
結合キーを受け取り、コロン区切りの値を返す関数を作っておけば
SQL1回で取れる

458 名前:NAME IS NULL mailto:sage [2008/04/19(土) 11:34:26 ID:???]
ああ、where句を自由に書けるなら
「where句を受け取ってコロン区切りの値を返す」関数か。

関数は、
受け取ったwhere句を元に動的sqlを組み立てて
それをカーソルでまわしてコロン区切りでくっつけていく感じで

459 名前:NAME IS NULL mailto:sage [2008/04/19(土) 12:02:00 ID:???]
ご質問させてください。

パフォマーンスが良い、SQL分がわかりません。
リレーション?よくわかりません^^;

テーブルA.開始番号
テーブルA.終了番号
-----------------------
テーブルB.番号

(したい事)
テーブルB.番号がテーブルA.開始番号〜テーブルA.終了番号
の間を検索しヒットさせます。

どのようなSQL文を作成すれば良いのでしょうか?
あまり、外部結合等の経験がないためわかりません。

460 名前:NAME IS NULL mailto:sage [2008/04/19(土) 12:26:46 ID:???]
>>459です

テーブル.Aが 5件
テーブル.Bが10件

だったとすると、5x10=50件考えるので
動作が遅くなる?と言われました。

これを リレーション?アクセス使用した事ないので
よくわかりませんが、
外部結合のパフォーマンスが良いベストなSQLはなんでしょうか?(^_^;



461 名前:456 mailto:sage [2008/04/19(土) 14:08:05 ID:???]
>>458
ストアドファンクション内で動的sqlですか?
これはやったことがありませんが、『カーソルでまわして』ということは、
結局、子を個別に抽出するということですか?where句で
異なるテーブルが混在して書かれていた場合、テーブル間で
条件式を評価する必要があると思うんですが、思いつかない・・・。

>>459
テーブルAが、なんらかの管理マスタのようなもの?でしょうか?
テーブルBが、データテーブル?とするなら、

select テーブルB.* from テーブルB
where EXISTS(select テーブルA.開始番号 from テーブルA
where テーブルA.開始番号 <= テーブルB.番号
and テーブルA.終了番号 >= テーブルB.番号)

とかで、どうでしょう?

462 名前:NAME IS NULL [2008/04/19(土) 20:01:31 ID:A1znnPt0]
>>461 回答ありがとうございます。
勉強させてもらいます。m(__ __)m
テーブルAはパラメータです。
テーブルBがデータテーブルです。

ちなみに、テーブルAはレコードは1件なのでしょうか?


463 名前:NAME IS NULL mailto:sage [2008/04/19(土) 20:59:24 ID:???]
EXISTSは条件に合致するレコードが存在すれば、
真とするってだけなので、件数は何件でも良いと。

464 名前:NAME IS NULL mailto:sage [2008/04/19(土) 22:40:57 ID:???]
>>461
select fnc1(where句1),fnc2(where句2),fnc3(where句3)…
from oya
(fnc1は子テーブル1から取得、fnc2は子テーブル2から取得…)
とかそんな感じで。



465 名前:NAME IS NULL mailto:sage [2008/04/20(日) 01:11:02 ID:???]
それはちょっとマズくないか?
>>461のSQLが何から走ってるのかわからんし。

466 名前:NAME IS NULL mailto:sage [2008/04/24(木) 21:34:13 ID:???]
day
----
1
2
3
...
31

上記のような問い合わせをSQLから取得したいのですが、簡単な方法って無いでしょうか?
自分だと

SELECT 1 FROM DUAL
UNION
SELECT 2 FROM DUAL
UNION
SELECT 3 FROM DUAL

って感じになってしまいます(汗

やりたいことは日付毎に適当な列を結合した表を得たいのですが、
データが存在しない日も列の値がNULLの状態で取得したいんです。

day col1 col2 col3
--- --- --- ---
1 100 101 102
2 null null null
3 null 101 null
... ... ... ...
31 100 200 300

467 名前:NAME IS NULL mailto:sage [2008/04/24(木) 22:49:48 ID:???]
>>466

('A`)つcase

468 名前:NAME IS NULL mailto:sage [2008/04/25(金) 00:13:43 ID:???]
日付のテーブル作ったほうがはやそう

469 名前:NAME IS NULL mailto:sage [2008/04/25(金) 01:59:58 ID:???]
|ー゚)つ PL/SQL

470 名前:NAME IS NULL mailto:sage [2008/04/28(月) 20:34:11 ID:???]
全部の検索条件がLikeのあいまい検索で遅い場合、
バッファキャッシュに乗せて恩メモリで検索させる以外に高速化するにはどういう方法がありますか



471 名前:NAME IS NULL mailto:sage [2008/04/29(火) 00:38:46 ID:???]
>>470
Oracle Text

472 名前:NAME IS NULL mailto:sage [2008/04/29(火) 00:50:38 ID:???]
oracletextは区分条件の検索とかも可能ですか
分かりやすく解説のあるサイトとかないでしょうか

473 名前:NAME IS NULL mailto:sage [2008/04/29(火) 01:09:14 ID:???]
区分条件の検索
というのはどういうものなのか説明してくりゃまいか。

474 名前:NAME IS NULL mailto:sage [2008/04/29(火) 01:40:12 ID:???]
HOGE_KBN IN ('1','2','9')とか

475 名前:NAME IS NULL mailto:sage [2008/04/29(火) 22:45:34 ID:???]
Oracle XE使ってます。

初期DBのXEを削除して、
文字コードをJA16SJISTILDEとしたXEを作成したのですが
Webの管理画面が見えなくなってしまいました。

同様の現象に陥っている人をチラホラ見かけますが
解決方法が掲載されているサイトは見たことがありません。
解決する方法はあるでしょうか?

476 名前:NAME IS NULL mailto:sage [2008/04/30(水) 11:35:14 ID:???]
>>475
単純にOracle Application Expressパッケージが入っていないだけでは?

www.oracle.com/technology/products/database/application_express/index.html

477 名前:NAME IS NULL mailto:sage [2008/05/01(木) 16:09:40 ID:???]
下記のURLの問題と同じものが発生して困っています。
otn.oracle.co.jp/forum/message.jspa?messageID=8095323

どなたか解決策をご存知ないでしょうか?
よろしくお願いいたします。


478 名前:NAME IS NULL mailto:sage [2008/05/02(金) 03:52:50 ID:???]
>>477

まあ、バグにヒットしてるんでしょう。
TAR開くなりなんなりしないとダメっしょ。

479 名前:NAME IS NULL mailto:sage [2008/05/02(金) 09:35:55 ID:???]
>>478
やはりそうですか・・・

とりあえずREGEXP_INSTRで逃げてみることにしました。

480 名前:477 mailto:sage [2008/05/02(金) 14:54:47 ID:???]
テーブルを作り直したらエラーが出なくなりました。



481 名前:NAME IS NULL mailto:sage [2008/05/02(金) 15:16:03 ID:???]
REDOログファイルとアーカイブログファイルの違いがわからない・・・・
なぜわざわざ別の存在にしてるんだ

482 名前:NAME IS NULL mailto:sage [2008/05/02(金) 15:35:50 ID:???]
SQLPLUSを起動して、あるSQL文を実行、SQLPLUSを終了
ってことをしたいのですが、どういった方法があるでしょうか?

483 名前:NAME IS NULL mailto:sage [2008/05/02(金) 15:48:37 ID:???]
そのままやん?

手で実行orシェルスクリプト。

484 名前:482 mailto:sage [2008/05/02(金) 15:51:06 ID:???]
すみません、説明が足りませんでした
バッチファイル等による自動実行がしたいです
起動はATコマンドでやるとして、SQLPLUS起動後にどうやってSQL文を実行すればいいのか・・・・

485 名前:NAME IS NULL mailto:sage [2008/05/02(金) 16:49:24 ID:???]
@SQLファイル名

486 名前:NAME IS NULL mailto:sage [2008/05/02(金) 20:30:49 ID:???]
>>477
PSR含むバージョンとORA-600の引数までわからないと一緒の件とはわかんないでは。
まあそこわかってもTARでしょうけど。

487 名前:NAME IS NULL mailto:sage [2008/05/03(土) 16:24:27 ID:???]
>>481
オンラインREDOをアーカイブしたのが
アーカイブログだよ。


488 名前:NAME IS NULL [2008/05/04(日) 01:42:48 ID:qNX5EArI]
うちのプロジェクトで外結合の(+)演算子を使わない方向で標準規約をつくろう
としたら、一人だけ文句を言ってくるのがいた。
(+)を使わない理由として、Oracle以外に移植できない以外になにを言ったら
納得してもらえるだろうか?

489 名前:NAME IS NULL mailto:sage [2008/05/04(日) 01:50:15 ID:???]
間違えやすい

490 名前:NAME IS NULL mailto:sage [2008/05/04(日) 03:34:21 ID:???]
>>481

例えば日曜日にデータファイルのバックアップ取って、火曜日にDBがクラッシュして
リカバリが必要だとしよう。
完全リカバリするために必要になるのはどれだい?
火曜日までオンラインRedoだけでリカバリー可能だと思うかい?
普通は日曜日のバックアップを戻して、そこからアーカイブログ充ててDBを
ロール・フォワードして、そしてクラッシュ直前のオンライン・リドログ充てて、完全
回復するだろう?
これで分けている意味は分かったかい?




491 名前:NAME IS NULL mailto:sage [2008/05/04(日) 04:01:59 ID:???]
>>488
規約を定める理由があるんだろうから、それを説明すればいいんじゃない?
移植性なら移植性で。
理由をきちんと説明できない規約を押し付けられんのは俺もやだ。
ここで聞いた後付けの理由を説明してもボロを出すだけだと思うがな。


492 名前:488 [2008/05/04(日) 10:19:35 ID:qNX5EArI]
なるほど。
まあ、もともと言い出したのは俺じゃなくて、移植性を考えたり、のちの
バージョンで(+)がサポートされなくなる可能性もあるからってことだった。
ただ(+)表記に慣れてるメンバーにも周知させるためにはもうちょっと説得力
が欲しかったわけです。

まあ(+)って、標準化されてないから、標準化されてるOUTER JOINを使うように
って色んな技術サイトにのってるしな。

493 名前:NAME IS NULL mailto:sage [2008/05/04(日) 12:06:07 ID:???]
どうせOracleの方言が多少は残るんだろ?
だったら移植性に説得力がなくなる

OUTER JOINだと文字数が多く視認性が悪い
それに見た目的に直感的ではない

また、Oracleに限って言えば(+)のほうが先に実装されていることもあり
事実上の標準的な書き方だ

後のバージョンで(+)が無くなるなんてどう考えてもありえない
ISOで標準化されていない機能が後々消えるならOracleなんて使い物にならない

494 名前:NAME IS NULL mailto:sage [2008/05/04(日) 12:33:16 ID:???]
標準化された書き方と方言の両方が書けるなら
標準化された書き方を優先させたほうがいいと思うけどね。
Oracleばかりやってる人はOracleこそ標準って思ってしまうから
困るよね。

495 名前:NAME IS NULL mailto:sage [2008/05/04(日) 15:05:15 ID:???]
>>488
どんな職場でも、標準化に反対する人間は居るよ。
結論としては、そういう人間はプロジェクトからはずすしかないと思う。
オレが関係した職場では、結果としてそういう人間はみんな消えていった。
ちなみに、標準化が進めば進む程、そういう人間の能力のなさが露呈していってたよ。

496 名前:NAME IS NULL mailto:sage [2008/05/04(日) 17:10:36 ID:???]
標準化しない事が標準な会社なので、自分が消えようと思います><

497 名前:NAME IS NULL mailto:sage [2008/05/04(日) 20:38:30 ID:???]
その程度の方言なら変換カマせば済む。
後々のマイグレーションを想定してたら
Oracleの性能をフルには活かせない。
結局は割り切りだよ。

498 名前:NAME IS NULL mailto:sage [2008/05/04(日) 20:54:37 ID:???]
標準化した場合としなかった場合のメリット・デメリットを説明できない奴は信用ならん
標準だからという理由しか持ってこない奴は100%勉強不足

499 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 10:58:36 ID:jnM8X+/O]
>>488
(っ´▽`)っ
そうだなー。
ANSI標準の結合では、USING使えば項目名の羅列で済むし、
結合キーがわかりやすいってことだね。
(+)だと結合キーと抽出キーが同じWHERE句の中だし。
だから、結合キーが漏れてしまう可能性がある。

でも、Oracle9以前では、
(+)を使う理由としては、
ANSI標準の結合にバグが多く含まれるってことが挙げられる。
これさえ改善されればANSI標準の結合を使うんだけどなー。
信頼性が高く求められるシステムでは、
ORACLEでANSI標準の結合は怖くて使えない。

500 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 10:59:29 ID:jnM8X+/O]
(っ`Д´)っ
Oracle自体怖くて使えないってのはナシな!



501 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 11:01:54 ID:jnM8X+/O]
(っ´▽`)っ
致命的なのはFULL OUTER JOINだね。
ORACLEでこれをやろうとすると自殺行為。
今まで(っ´▽`)っはこれのバグを3回ほど発見した。
これほど信頼できない機能はない。

(っ´▽`)っ
でも、(+)だと完全外部結合ができないんだよねー。
いちいち左外部結合と右外部結合の和集合を使わなければならない。

502 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 11:04:36 ID:jnM8X+/O]
(っ´▽`)っ 訂正!
>>501
>ORACLEでこれをやろうとすると自殺行為。

>ORACLE 9でこれをやろうとすると自殺行為。

(っ´▽`)っ
ORACLE 10ではまともになったぽい☆

503 名前:NAME IS NULL mailto:sage [2008/05/05(月) 11:07:25 ID:???]
>>477もLEFT OUTER JOINを使っていますが
そのせいでしょうか?

504 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 11:15:21 ID:jnM8X+/O]
>>488
(っ´▽`)っ
そうそう一つ気になった。
>(+)を使わない理由として、Oracle以外に移植できない以外になにを言ったら
>納得してもらえるだろうか?
将来Oracleに移植する可能性が高いの?そういう計画が今あるの?
そりゃ未来は誰もわからないから、可能性としては少しはあるだろうけど。
もしそういう計画なければ優先度は低いよね。
むしろ>>499で言ったようにバグや信頼性、保守性のほうが優先度が高いはず。

"JOIN"でソースを検索すれば全ての結合文を拾えるってのも
保守性が高くなって優先度が高い。
ORACLEの内部結合は(+)も出てこないから結合文だかどうかわからないのだ。

というわけで、考えましょう。

505 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 11:16:45 ID:jnM8X+/O]
>>503
(っ´▽`)っ
LEFT OUTER JOINを使った文から
(+)を使った文に書き換えて実行してみれば?
もしエラーが出なかったらバグじゃないのかな?カナ?

506 名前:NAME IS NULL mailto:sage [2008/05/05(月) 13:32:56 ID:???]
>>502
>ORACLE 10ではまともになったぽい☆

www.eygle.com/Notes/10204_buglist.htm#BABCEHHG

507 名前:488 [2008/05/05(月) 13:35:28 ID:JT7x0CLO]
>>504
色々詳しく教えていただき、ありがとうです。

20人くらいのプロジェクトで上(リーダークラス)が決めたことなので、
一人があがいたところでどうにもならないんだけど、そいつにも気持ちよく
OUTER JOINを使ってもらいたかったんです。

複数のテーブルの結合を複雑な条件でするので、書き忘れ、可読性とかも考慮
すると俺はOUTER JOINの方が好きなんだけど、みなさんはどうなんでしょ?

508 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 15:59:52 ID:jnM8X+/O]
>>506
(っ´▽`)っ
Oracleダメじゃん・・・
Oracle10でもANSI結合は使用不可か・・・。

>>507
(っ´▽`)っ
そのリーダークラスの人に
OracleのANSI結合でのバグの多さに対しては
どう対応するのか聞いてみて☆

509 名前:NAME IS NULL mailto:sage [2008/05/05(月) 16:41:16 ID:???]
Oracleバグ多すぎ

510 名前:側近中の側近 ◆0351148456 [2008/05/05(月) 16:49:13 ID:jnM8X+/O]
(っ´▽`)っ
しかも、そのバグをOTNで公開してはいけないという
わけのわからんルールだ



511 名前:NAME IS NULL mailto:sage [2008/05/05(月) 17:01:31 ID:???]
だからといってANSI結合を使わないっていうのは
日本人として許せないよなぁ

512 名前:NAME IS NULL mailto:sage [2008/05/05(月) 20:26:06 ID:???]
JOIN使うのは可読性低いからウチでは禁止

513 名前:NAME IS NULL mailto:sage [2008/05/06(火) 13:08:17 ID:???]
11gのトライアル版って30にちたっても使える。資格取得に使いたいのだが

514 名前:NAME IS NULL mailto:sage [2008/05/06(火) 17:46:41 ID:???]
後のマイグレーション考慮するなら最初からOracle使わんよ

515 名前:NAME IS NULL mailto:sage [2008/05/06(火) 23:38:00 ID:???]
>>513

全部とは言わんが、せめて>>4ぐらいまでは嫁。


516 名前:NAME IS NULL [2008/05/07(水) 10:41:50 ID:dyy0ePra]
Oracle 9i(9.2) で、パーティションテーブル(約100パーティション、億件レベル)の ANALYZE を ESTIMATE STATISTICS 10 PERCENT で実施。
DBA_TAB_PERTITIONS の LAST_ANALYZED は、ちゃんと日付が更新されているのに、DBA_TABLES の日付が変わらないって、ありえますか?
ちなみに、10万件程度、6パーティションで同じことをやると、DBA_TAB_PARTITIONS、DBA_TABLES 両方の LAST_ANALYZED はちゃんと更新されていました。
どうも腑に落ちなくて…。

517 名前:NAME IS NULL mailto:sage [2008/05/07(水) 14:13:26 ID:???]
すいません。質問です。
Oracle10gで「oracle\product\10.1.0\Db_1\server_dbname\sysman\recv\errors\」
に大量のエラーログファイルが出力され、ディスクを圧迫しています。
このエラーログを出力しないようにする。もしくは、
定期的に削除してくれるような設定はありませんでしょうか?
宜しくお願いします。


518 名前:NAME IS NULL mailto:sage [2008/05/07(水) 16:05:58 ID:???]
>>517
バッチかWSHで定期的に削除すればいいじゃん。

519 名前:517 mailto:sage [2008/05/07(水) 17:06:39 ID:???]
>>518
Oracleで定期的に削除してくれる設定がないのかなと思ったのですが・・・

バッチかWSHで定期的に削除するようにしたいと思います。
ありがとうございました。

520 名前:NAME IS NULL [2008/05/07(水) 22:11:40 ID:8dIsB95K]
>>516

9iからは統計情報収集は、analyze じゃなくて、dbms_stats を使うことを
推奨しているので、dbms_stats を試してみてください。




521 名前:NAME IS NULL mailto:sage [2008/05/08(木) 23:16:33 ID:???]
oracleでSUMやMAXなどの集合関数って作れますか!?

ポスグレでは作れるみたいですが。

522 名前:NAME IS NULL mailto:sage [2008/05/09(金) 01:17:29 ID:???]
もともとあるだろが

523 名前:NAME IS NULL mailto:sage [2008/05/09(金) 01:50:28 ID:???]
Javaストアドで出来たような。使う気にはなれないけど。

524 名前:NAME IS NULL mailto:sage [2008/05/09(金) 10:35:45 ID:???]
PL/SQLでVARCHAR2型フィールドの長さを取得する方法ありますかね?
要は任意の長さの文字列をフィールドに収まるよう切り落としてINSERTがしたいんですわ。Ora8i。

525 名前:NAME IS NULL mailto:sage [2008/05/09(金) 10:51:32 ID:???]
>>524
SUBSTRB

526 名前:525 mailto:sage [2008/05/09(金) 10:54:39 ID:???]
取り消し
無い

527 名前:525 mailto:sage [2008/05/09(金) 10:59:45 ID:???]
誤解連投スマン、PL/SQLのVARCHAR2型の長さじゃなくて
DBの型って事だな…DBMS_SQLかUSER_TABLESディクショナリを見ればわかる

528 名前:NAME IS NULL mailto:sage [2008/05/09(金) 23:09:21 ID:???]
>>521
できる。
oracle ユーザー定義集計関数
でググってみ。

>>524
USER_TAB_COLUMNS

529 名前:NAME IS NULL mailto:sage [2008/05/09(金) 23:22:50 ID:???]
>>522 >>523 >>528
サンコス!
もう一度調べてみる

530 名前:521 mailto:sage [2008/05/09(金) 23:25:46 ID:???]
>>528
>oracle ユーザー定義集計関数
でググったら即ハツケソ

これまで探しても見つからなかったのは、ググりかたが悪かった



531 名前:NAME IS NULL mailto:sage [2008/05/09(金) 23:28:55 ID:???]
PRO*COBOLでWITH句使ったらコンパイルエラーになった。
動的SQLにしたらコンパイル通った。
WITH句ってPRO*COBOLのプリコンパイラで対応されてないのかな?
ちなみに10g

532 名前:NAME IS NULL mailto:sage [2008/05/10(土) 00:46:53 ID:???]
COBOLなんて遺失言語をそもそも知らん。

533 名前:NAME IS NULL mailto:sage [2008/05/10(土) 07:11:43 ID:???]
>>531

Precompiler のVersionによっては、未対応のSQLの句が
存在するので、プリコンパイル時にエラーになってしまう。
11gでSQL99構文サポートをしたようなので、
WITH句も対応するようになったかもしれない。


534 名前:NAME IS NULL mailto:sage [2008/05/10(土) 08:16:56 ID:???]
>>533
サンクスコ!
sql*plusで対応してるからって
PRO*COBOLでも対応してる訳じゃないんだね!
Oracle自体は8iからSQL92に対応した
って言ってるのにね!

535 名前:NAME IS NULL mailto:sage [2008/05/10(土) 15:45:45 ID:???]
そりゃ結局プリコンパイラだからな

536 名前:NAME IS NULL [2008/05/11(日) 09:05:35 ID:k9SWGyHP]
ロ,バ面の宮腰佳,奈さんお勤めご苦,労様ですwww?[w略]?[w略]
最近.休日は引篭,もってばかりらしい,けど一体何してはるんですかww
その偏屈な面でもマッサー.ジしてはるんですかwwご苦労なこってww.
化粧では顔面の輪郭は誤魔化せませんよww自己アピ.ールも程々にしてくださいねww

537 名前:NAME IS NULL [2008/05/18(日) 11:11:09 ID:yw8nn6Dg]
.NETとPL/SQLのやりとりについての質問です。

PL/SQL内部で複数のSELECT文を流し、
その結果を配列にセットして、
その配列をOutputするプログラムを作っています。

本当はレコードに格納して返したかったのですが、
レコードは扱えないようなので配列にしました。

.NET側でOutputパラメータの設定をしていますが、
その際、ArrayBindSizeというプロパティを
設定しないといけないみたいなのです。
ところが、何件のデータがとれてくるのか分からないので、
sizeの設定をしようが無いのです。
ArrayBindSizeプロパティをどう設定すればいいのか
ご存知の方いらっしゃいましたら教えてください。
よろしくお願いいたします。

538 名前:NAME IS NULL mailto:sage [2008/05/18(日) 11:19:57 ID:???]
>>537
ドライバの種類は?ODPとかMSのでも何種類かあるけど。

539 名前:537 [2008/05/18(日) 11:26:32 ID:yw8nn6Dg]
すみません。ODPです。

540 名前:537 [2008/05/18(日) 11:28:54 ID:yw8nn6Dg]
間違えた。
ODP.NETです。
すみません。初心者なもので。



541 名前:NAME IS NULL mailto:sage [2008/05/18(日) 20:17:58 ID:???]
Oracleのパッチってユーザが当てなきゃいけないの
サーポート契約してるのにどうにかなりませんか?

542 名前:NAME IS NULL mailto:sage [2008/05/18(日) 21:47:05 ID:???]
>>541

日本語で

543 名前:NAME IS NULL mailto:sage [2008/05/19(月) 15:59:33 ID:???]
>>537
多めに見積もるしかない。


544 名前:NAME IS NULL mailto:sage [2008/05/19(月) 22:49:53 ID:???]
>>541

ユーザーっつ〜か、DBAが普通は充てるもんだけど?

545 名前:NAME IS NULL mailto:sage [2008/05/20(火) 09:04:20 ID:???]
アプリケーションから投げられているSQLを収集する方法はありませんか?
Oracle10gです。

546 名前:NAME IS NULL mailto:sage [2008/05/20(火) 12:57:55 ID:???]
ある。

547 名前:NAME IS NULL mailto:sage [2008/05/20(火) 14:06:40 ID:???]
ありがとうございました

548 名前:NAME IS NULL mailto:sage [2008/05/20(火) 23:10:16 ID:???]
>>545

EMやら、AWRやら、ファイングレイン監査やら、幾らでも方法はあるべ。

549 名前:NAME IS NULL mailto:sage [2008/05/21(水) 20:42:38 ID:???]
アーカイブログモードで運用するOracle10gを、backupexec v9を使ってバックアップします。
v9にはバックアップ済みのアーカイブログの自動削除機能がないようなんですが、
バックアップ済みアーカイブログを削除するにはどういう手順が必要ですか?


550 名前:NAME IS NULL mailto:sage [2008/05/21(水) 22:48:17 ID:???]
それようのジョブを作る、以上。



551 名前:NAME IS NULL mailto:sage [2008/05/21(水) 23:22:44 ID:???]
バックアップ済みアーカイブログはどうやって判断しますか

552 名前:NAME IS NULL mailto:sage [2008/05/22(木) 00:07:36 ID:???]
>>551

RMANやらせる。

553 名前:552 mailto:sage [2008/05/22(木) 00:08:14 ID:???]
>>551

RMANに、ね。
詳しくはRMANのマニュアルを参照。

554 名前:NAME IS NULL mailto:sage [2008/05/22(木) 00:22:17 ID:???]
backupexec9はrman使わないとか見たんですけど
見間違いかな
明日もういちど見てみます

BE9とRMANで一連の作業はOKという認識でいいですか

555 名前:NAME IS NULL mailto:sage [2008/05/22(木) 05:54:49 ID:???]
BEがどうだったか正確には知らんけど、Oracleオプションを買えば、RMAN(リカバリカタログ)連携ができるようになるんじゃね?
ただ、そんなものを使わなくても、rmanのコマンドを垂れ流すスクリプトを書けば大概のことは事足りる。

556 名前:NAME IS NULL mailto:sage [2008/05/22(木) 08:37:26 ID:???]

ttp://mainichi.jp/enta/geinou/graph/200805/21/?inb=yt
ネット証券会社が主催するFX(外国為替証拠金)取引コンテストの発表会が21日、都内で行われた。
コンテストに特別参加するグラビアアイドルの滝沢乃南さん、山本彩乃さん、折原みかさん、山口愛実さん、佐々木梨絵さん
の5人が顔をそろえ、シストレに挑戦する意気込みなどを語った。
同コンテストは、自分で作成したトレードソフトの機能を評価する「シストレソフト部門」と、
FX初心者でも安心の仮想マネーを使った取引を体験できる「トレード部門」で賞金総額2000万円を争う。
シストレ優秀ソフトは、最高2000万円までの範囲内で買い取りの可能性もあるという。登録受付は22日から。
仮想取引は6月2日〜09年4月30日までとなっている。



▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
https://www.click-sec.com/corp/guide/demo/
ttp://www.yomiuri.co.jp/komachi/news/mixnews/20080521ok02.htm


▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円

557 名前:NAME IS NULL mailto:sage [2008/05/22(木) 18:02:55 ID:???]
sage

558 名前:NAME IS NULL mailto:sage [2008/05/23(金) 02:49:44 ID:???]
>>554

もしbackupexec9がRMANと連携できるのなら、RMANでほとんどの処理が可能。
一度Backup済みのArchivelogを消したりとか、Backup時にArchivlogを消したりとか
幾らでもその辺りは応用が効く様になっている。

559 名前:NAME IS NULL [2008/05/23(金) 11:19:18 ID:rSZhI+Oj]
tnsnames.oraを上書きしてDBの接続先を変更しようと思います。
DB接続中であってもtnsnames.oraの上書きは可能でしょうか?

【目的】
tnsnames.oraに接続先が2つ定義されており、
そのうち片方のHOST欄(IPアドレス)だけを変更したいと思っています。

【対応方法】
新しいtnsnames.oraを用意して、現行のtnsnames.oraを
上書きしようとしています。

【制約】
ただし、tnsnames.oraを上書きするときに、
アプリケーションが変更対象外の接続先のDB
(上書き前、上書き後、どちらも全く同一のIP)
を参照しています。

【疑問点】
この場合、DBの接続に影響はないのでしょうか。
「コネクトの際にtnsnames.oraの接続文字列を参照するのだから
 コネクトするタイミングさえはずせば特に問題ない」
と思うのですが、
「tnsnames.oraファイルを上書きする際に元ファイルが消えるから
 接続が切れてしまう?」
とも思うのですが…

560 名前:NAME IS NULL mailto:sage [2008/05/23(金) 12:52:39 ID:???]
やってみりゃいいじゃん。



561 名前:NAME IS NULL mailto:sage [2008/05/23(金) 14:33:34 ID:???]
>>560

それ言ったらこのスレで話されてるほとんどの話題全否定だろ。

562 名前:NAME IS NULL mailto:sage [2008/05/23(金) 14:37:34 ID:???]
切れるわけないじゃん。やってみるまでもない。

563 名前:NAME IS NULL mailto:sage [2008/05/23(金) 15:25:41 ID:???]
>>561
上書きするぐらい1秒でできそうな事は先にやってみればいいと思う。


564 名前:NAME IS NULL mailto:sage [2008/05/23(金) 22:48:15 ID:???]
>>559

tnsnames.oraは接続時に必要なんだから、一度接続が確立されて
しまえば後は何の役にも立っていない。
だからO/Sによっては上書きも問題ない(窓だともしかして掴んで
いるかも?)し、現行の接続も影響を受けない。

565 名前:NAME IS NULL mailto:sage [2008/05/25(日) 04:01:51 ID:???]
スレひととおり読んだが、恐ろしくレベルの低い開発者が
結構な数いるのだと知ってびびった。


566 名前:NAME IS NULL mailto:sage [2008/05/27(火) 06:47:11 ID:???]
開発者のレベルなんてピンからキリまで。そんな事を知らない無知な奴の技術レベル
も底が見える。


567 名前:NAME IS NULL mailto:sage [2008/05/27(火) 21:30:59 ID:???]
パラレルクエリーってパーティション表で無いと無意味ですか?

568 名前:NAME IS NULL mailto:sage [2008/05/27(火) 22:03:24 ID:???]
パーティション表でなくてもできる。

569 名前:NAME IS NULL mailto:sage [2008/05/28(水) 01:41:05 ID:???]
>>566

意味不明。

まあ、初心者スレってことなんでしょう。ここは。

570 名前:NAME IS NULL [2008/05/28(水) 05:00:42 ID:jSJWefUO]
>>569
まともなレベルだったら、マニュアルとkrownでほとんど解決出来る。

書くのは初心者、ただし read onlyで他人の間違いを参考にするのはOKだと思う。



571 名前:NAME IS NULL mailto:sage [2008/05/31(土) 19:59:29 ID:???]
>>568
いや 567は使って効果あるか聞いてるのでは?
パーティション表じゃないと使っても意味無いよね

572 名前:NAME IS NULL mailto:sage [2008/05/31(土) 22:48:52 ID:???]
質問させてください。

oracle 10g のトライアル版をインストールしたら定期的にフロッピーディスクドライブ
にアクセスするようになりました。ぐぐってみたら↓同じ現象の方がおられるようですが、
明確な解決策はでていないようでした。
ttp://otn.oracle.co.jp/forum/message.jspa?messageID=2001722

この件に関して何か対処法をご存じの方はいますでしょうか?
宜しくお願いします。

573 名前:NAME IS NULL mailto:sage [2008/06/01(日) 10:00:40 ID:???]
>>567

無意味でもなんでもない。
巨大な表の全件検索とかにも十分使える。
特に10g以降ではバインドピークによって、全件が選択される事が
良くあるから、そういった場合には有効だな。

574 名前:NAME IS NULL mailto:sage [2008/06/01(日) 19:25:42 ID:???]
>>573
9の時はシーケンスに処理されると書いてあったど
10gで変ったのか。勉強たらんな俺

575 名前:NAME IS NULL mailto:sage [2008/06/02(月) 00:44:23 ID:???]
もう十年前になるけど。
ttp://www.oracle.co.jp/interactive/Techniques/VLDB/Dss/step01.html

576 名前:NAME IS NULL mailto:sage [2008/06/02(月) 07:53:07 ID:???]
>>575
何年前の資料だろうが、基本は同じだよ。

並列化の効果を最大限に発揮するには、次の特性をすべて兼ね備えたシステムが必要です。
・ SMP、クラスタ、超並列システムなどのマルチCPU
・ 高いI/O帯域幅(高速ディスク、多数のディスク)
・ 十分なCPU処理能力
・ ソートやハッシング、I/Oバッファなどに使用できる、十分な容量のメモリー

…当たり前の事だけど、意外と満足されない罠www

577 名前:NAME IS NULL mailto:sage [2008/06/02(月) 11:09:27 ID:???]
>>575
すんげえ寂しいな、そのサイト。
Oracle-HPの方は結構充実しているのに。

578 名前:NAME IS NULL mailto:sage [2008/06/03(火) 04:20:47 ID:???]
俺、かつてhp.oracle.co.jpに所属していたよヾ(o゚ω゚o)ノ゙
結構ディープな検証ばかりしていたな〜。
フィードバックセミナーで何人かに会った事があるかもね。


579 名前:NAME IS NULL mailto:sage [2008/06/03(火) 05:02:54 ID:???]
好意的に解釈すれば、ファーストターゲットがSolarisだったころはあまり必要なかったということかな。

580 名前:NAME IS NULL mailto:sage [2008/06/03(火) 22:14:21 ID:???]
ORACLEじゃないんですが……
HyperionについてORACLE大学での講習を受ける前に
事前に知識を付けておきたいのですけど
他にセミナーとか書籍とかないんですかね?
必死に調べたけど全く見つかりません;;



581 名前:NAME IS NULL [2008/06/03(火) 22:24:58 ID:1DFe2Xk7]
バッチ処理でsqlplusの実行に失敗したときに異常終了をさせる方法

-Lオプションを使う。
sqlplus -L schema/password@sid @sqlスクリプト

sqlスクリプト内部に問題があった場合

wheneverを使う。

これらの場合はパスワードとスキーマ、接続文字列になんらかの問題があった場合やsqlスクリプト内の構文エラーのときは異常終了させエラー値を拾うことが可能なのですが、
SQLスクリプトファイルの設定や環境に問題があった場合(SQLスクリプトファイルが存在しない、ユーザに読込権限がない)、異常終了させることができません。
sql*plusの接続だけには成功するのでそのままバッチ処理が止まりっぱなしになるという事象が発生します。。

この場合に異常終了させ、エラー値を拾う方法を教えていただけないでしょうか?

582 名前:NAME IS NULL mailto:sage [2008/06/03(火) 22:29:54 ID:???]
>>581

Unix系ならshスクリプト内でファイルの存在確認や読み込み権限確認とか
そんなのしておけばいいじゃん。
何でSQL*PLUS内で処理させようとすんのさ?

583 名前:NAME IS NULL mailto:sage [2008/06/04(水) 07:43:59 ID:???]
>>581
漏れはヒアドキュメントで書いてたからSQLファイルそのものがなかった。

584 名前:NAME IS NULL mailto:sage [2008/06/04(水) 20:32:41 ID:???]
2ヶ月以内にデータベースズブの素人5人を
指示を与えて開発に従事できる程度まで仕上げないと
もれなく自分が死ねる状況になりそうなんですが
どんな風に調教したらいいでしょう?

きっちりMASTERをシルバーくらいまで勉強させるのが良いのか
とりあえず最低限の概念だけ教えて、後は必要な知識やテクだけ詰め込んじまうのが良いものなのか
良い知恵お授けください……

585 名前:NAME IS NULL mailto:sage [2008/06/04(水) 20:58:27 ID:???]
>>584
経営者を甘やかせるだけなので
一人で5人相手にするなら素直に死んでください

586 名前:NAME IS NULL mailto:sage [2008/06/04(水) 21:55:17 ID:???]
>>584
今アサインされてるヤツラを解雇して、
使える奴を1人連れてくればいい。

587 名前:NAME IS NULL mailto:sage [2008/06/04(水) 21:56:21 ID:???]
>>584
外に依頼すれば?
hhtp://www.jsys.co.jp/oraken とか。

588 名前:NAME IS NULL mailto:sage [2008/06/05(木) 10:38:44 ID:???]
2ヶ月あるなら何とかなる


と感じてしまうのは漆黒企業に居るからか・・・。

589 名前:NAME IS NULL [2008/06/05(木) 21:17:01 ID:OKUDql6p]
10gR2なんですが、
スタンバイデータベースを本番データベースにするには
どんな呪文が必要なのか教えてください。

SQL> startup nomount;
SQL> recover standby database;

した後で open (あるいはshutdown して startup) すると
どうも read onlyで立ちあがるようで、
先に進めなくなってしまいました。
8iぐらいの昔のバージョンだと
これで動いてた気がするんですが。

590 名前:NAME IS NULL mailto:sage [2008/06/05(木) 22:39:32 ID:???]
SQL> recover managed standby database cancel;
SQL> alter database recover managed standby database finish;
SQL> alter database commit to switchover to primary;
SQL> shutdown immediate;
SQL> startup;




591 名前:589 mailto:sage [2008/06/05(木) 23:43:58 ID:???]
>>590 さま
助かりました、感謝です!

592 名前:NAME IS NULL mailto:sage [2008/06/06(金) 01:11:18 ID:???]
誰も頼る人がいない現場に2ヶ月も放り込めば
必死に何とかしようとして2ヵ月後にはそれなりになってるさ。

とか考えてる経営者はゴロゴロいるな。

593 名前:NAME IS NULL mailto:sage [2008/06/06(金) 06:30:58 ID:???]
まぁダメなら辞めるだろうし、代わりはいくらでも居ると思ってんだろうなw

594 名前:NAME IS NULL mailto:sage [2008/06/06(金) 07:04:59 ID:???]
>>581

亀レスだが。
WindowsのバッチファイルでSQLPLUSを実行させてる?
だったら、

sqlplus -L schema/password@sid @sqlスクリプト < nul

とすると、あなたの言ってる問題が発生した場合でも終了してくれる。
バッチ処理が止まりっぱなし、って言ってるのは、要は待ち状態に
なっちゃってるってことなんでしょ?

また、SQLPLUSで失敗してるから、ERRORLEVELにもゼロ以外の
値がセットされてると思う。エラー値っていうのがバッチ処理のリターン
コードを指しているならERRORLEVEL拾えば問題ないはず。

595 名前:NAME IS NULL mailto:sage [2008/06/09(月) 23:09:37 ID:???]
RED HAT で動かしている ORACLE のテーブルデータを見るフリーソフトを探しています。
OBJECT BROWSER のようなソフトを紹介してもらえないでしょうか。

596 名前:NAME IS NULL mailto:sage [2008/06/09(月) 23:17:56 ID:???]
>>595

全角はきもいな。

Oracle SQL Developer とか。


597 名前:NAME IS NULL mailto:sage [2008/06/10(火) 04:59:32 ID:???]
>>595

ラプター。

598 名前:NAME IS NULL mailto:sage [2008/06/11(水) 21:07:43 ID:???]
パラレルDML使えねぇ〜

599 名前:595 mailto:sage [2008/06/11(水) 22:11:19 ID:???]
>>596さん >>597さん
595です。
遅くなりましたがありがとうございます。
Oracle SQL Developer とラプターを探してみます。

600 名前:NAME IS NULL mailto:sage [2008/06/12(木) 09:48:07 ID:???]
shutdown immediateでインスタンスが停止しないことって
ありますか?



601 名前:NAME IS NULL mailto:sage [2008/06/12(木) 11:24:54 ID:???]
あります.



602 名前:NAME IS NULL mailto:sage [2008/06/12(木) 17:45:31 ID:???]
shutdown abortでもインスタンスが停止しないことがよくあるしなw


603 名前:NAME IS NULL mailto:sage [2008/06/13(金) 00:35:45 ID:???]
>>600
UNIX 系ではない。
Windowsでは良くある。
大量のロールバックが走っていて、なかなか止まらないならある。

>>602
それは経験ないw

604 名前:NAME IS NULL mailto:sage [2008/06/13(金) 02:27:32 ID:???]
Unixであろうとなかろうと、immediateは失敗するものと思っていい。
つまり、自動バックアップなんかでは、必ず例外処理を入れるようにすること。

abortもWindows版に限っては、ハングする可能性がある。
(KROWNには、すべてのWindowsで起こりうるみたいに書いてあるけど、おそらく2000までの現象だと思う)


605 名前:NAME IS NULL mailto:sage [2008/06/13(金) 19:52:15 ID:???]
net stop oracleserviceXXX最強説唱える

606 名前:NAME IS NULL mailto:sage [2008/06/14(土) 01:02:05 ID:???]
shutdown abort失敗すると、net stop も効かない。kill oracle.exeするしかない。
Unix版は、abortについては、そのまんまサーバプロセスにSIGKILL送っているだけだから、コケようがないけど。


607 名前:NAME IS NULL mailto:sage [2008/06/14(土) 08:51:06 ID:???]
俺はサーバのシャットダウンが最強だと思うがなwww

608 名前:NAME IS NULL mailto:sage [2008/06/16(月) 02:43:06 ID:???]
はじめまして。
oracle8の環境で、Accessのクエリを使いテーブルのインポートを試みましたら
失敗して、「最大エクステント121に達しました。」と
エラーが出ました。それで、ストレージマネージャの表領域のUSERで
エクステントの値を変えたり、スキーママネージャで
そのテーブルの値を121から無制限に変えてみたりしましたがダメでした。

他の解決策を教えて頂きたいです…。

609 名前:NAME IS NULL mailto:sage [2008/06/16(月) 09:27:42 ID:???]
>>608
ORAエラーのコードが分かるともっと良い。
メッセージからするとロールバックセグメントが
インポート対象のデータと比べて、
やたら小さいだけなんじゃないかと思うが。

クエリで実行できる程度のデータの移行だけなら、
条件つけてデータを小分けにして
ADOとかで処理するのが良いかもしれんがな。



610 名前:NAME IS NULL mailto:sage [2008/06/16(月) 14:33:43 ID:???]
>>609
ありがとうございます。
コードはORA-01631です。



611 名前:NAME IS NULL mailto:sage [2008/06/16(月) 15:55:58 ID:???]
>>610
…で、エクステントが最大に達した表はどれだ?
エラーメッセージに出てただろ?
それも余さず書けよ。
そういうのが結構大事なんだから。

これ参考にしてエラーがどのオブジェクトに対して
発生しているのかを特定しろ。
homepage1.nifty.com/k-umezu/oraerror/ora-01630.htm


612 名前:NAME IS NULL mailto:sage [2008/06/16(月) 17:27:35 ID:???]
Oracle触るの初めてなのですが、セキュリティの対応で
リスナーにパスワードを設定することになりました。

lsnrctlからchange_passwordで設定するまではよかったのですが
そのあとにsave_configというコマンドが見つからなく(helpコマンドでも表示されない)
設定を保存することができません

オラクル9i以降じゃないとpassword保存できないのでしょうか?

オラクル7を使っているのですが、何かわかりましたら
アドバイスもらえないでしょうか

613 名前:NAME IS NULL mailto:sage [2008/06/16(月) 18:27:45 ID:???]
>>612
change_password出来るのは
8.0.xからじゃね?

614 名前:NAME IS NULL mailto:sage [2008/06/16(月) 20:56:06 ID:???]
>>611
どうもです。解決しました。

エクステント値を変更する表が同じ名前で2つありまして
その別のほうを変えてしまってました…

615 名前:NAME IS NULL mailto:sage [2008/06/18(水) 20:43:05 ID:???]
ORACLEの試験の合格申請をしようと思っています。
ですが、2年以上前に受けたので受験日を忘れてしまいました。
(アールプロメトリックidは分かります)
これってORACLEに問い合わせたら受験日を探して教えてくれますか?

616 名前:NAME IS NULL [2008/06/18(水) 20:44:08 ID:hlqfkmnb]
連投すみません。
あげます。

617 名前:NAME IS NULL mailto:sage [2008/06/18(水) 20:55:02 ID:???]
>>615

Oracleに問い合わせるかどうかをここで聞くという神経が信じられない。
合格してるんだったら普通に聞けばいいだろうに。


618 名前:NAME IS NULL [2008/06/18(水) 20:58:04 ID:1zQxpBDX]
>>615
ORACLEに問い合わせる。教えてくれるよ。
ただ合格したのが有効なのって3年だから、
早急に行動したほうが良い。

619 名前:NAME IS NULL mailto:sage [2008/06/18(水) 20:58:31 ID:???]
>>617
今時間外で問い合わせできないからとりあえずここで聞きました。。

620 名前:NAME IS NULL mailto:sage [2008/06/18(水) 21:00:05 ID:???]
>>618
レスありがとうございます。
受験日教えてくれるんですね!
よかったです。
教えてくださって本当にありがとうございました!



621 名前:NAME IS NULL mailto:sage [2008/06/18(水) 23:23:33 ID:???]
>>619

ここで聞いた答えを正しいと思うのか…


622 名前:NAME IS NULL mailto:sage [2008/06/21(土) 12:18:14 ID:???]
がーん、Windowsってdb_block_size 16kまでなのね
WindowsでOracle使っちゃいけないの?

623 名前:NAME IS NULL mailto:sage [2008/06/22(日) 05:32:01 ID:???]
>>622

うん。

624 名前:NAME IS NULL mailto:sage [2008/06/22(日) 11:23:00 ID:???]
「Instant Clientパッケージ - 基本」と「Instant Clientパッケージ - SQL*Plus」を
ダウンロード・解凍し同じフォルダに入れた上で
sqlplus.exeを実行したのですが、下記のエラーが発生しました。
何が足りないのでしょうか?


---------------------------
sqlplus.exe - コンポーネントが見つかりません
---------------------------
MSVCR71.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
---------------------------
OK
---------------------------


625 名前:NAME IS NULL mailto:sage [2008/06/22(日) 12:59:26 ID:???]
>>622
Windowsっていうか、32bitはブロックサイズ16Kまでだったと思う。

626 名前:NAME IS NULL mailto:sage [2008/06/22(日) 19:34:15 ID:???]
>>624
MSVCR71.dllでググって見つかったDLLをsystem32にコピー。


627 名前:NAME IS NULL [2008/06/22(日) 23:16:00 ID:DVCXVAyc]
管理画面のポートを8080から80に変更する方法
ごぞんじないですか?

628 名前:NAME IS NULL mailto:sage [2008/06/23(月) 08:32:04 ID:???]
>>627
なんの管理画面だよ。


629 名前:NAME IS NULL mailto:sage [2008/06/23(月) 22:44:46 ID:???]
教えて下さい。
オラクルのトランザクション分離レベルがシリアライザブルのときの実装って、
ポスグレのように挿入や書き換えを許してしまう実装なのですか?
それともMySQLのようにロックが掛かり挿入、書き換えが出来ない実装なのですか?

630 名前:NAME IS NULL mailto:sage [2008/06/23(月) 22:50:48 ID:???]
>>629
あくまでも読み込みにロックはかからないから前者。
後続のトランザクションの影響でトランザクションが失敗することがある。
楽観的排他と動作は似てる。



631 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:04:20 ID:???]
>>630
ということは適当なロックを掛けなければファントムの挿入、アンリピータブルな
データの書き換えを許してしまうということですね!
ありがとうございました。


632 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:11:53 ID:???]
>>631
どうすればそういう間違った理解ができるか不思議だ。
ファントムもアンリピータブルリードも起きないぞ。

633 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:23:31 ID:???]
>>632
えっ、違うのですか?
ポスグレはファントムリードもアンリピータブルリードも発生しませんが、
ファントムの挿入、アンリピータブルな書き換えは許し、当該トランザクションからは
ただ見えなくしているだけの実装なので、前者というので同じものだと理解してしまいました。


634 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:27:17 ID:???]
>当該トランザクションからは 
>ただ見えなくしているだけの実装
それがわかってるならいいよ。
更新時の失敗の可能性は置いといて、当該トランザクションから見えなければ問題ないでしょ。
この状態をシリアライザブルな状態とみなしよいかいなかは宗教論争になりやすいからおいとくけどね。

635 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:45:57 ID:???]
>>634
私の解釈は合っているってことでいいんですね?
あと、不思議なんですがトランザクションの分離レベルの実装がこんなにも違うのに
トランザクションの分離レベルを適当なものに設定すれば、あとはデータベースが
上手くやってくれるみたいにいう人や、そのように書書いてあるオラクル、ポスグレも
対象に入っているSQL本があるんでしょうか?


636 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:48:16 ID:???]
共有ロック方式でもシリアライズトランザクションは結構失敗するんだけどね。
この場合の失敗はデットロックで現れる。

637 名前:NAME IS NULL mailto:sage [2008/06/23(月) 23:50:56 ID:???]
>>635
シリアライズトランザクションはどの方式でも要注意。
Oracleではread commited + select for updateがデフォだなぁ。

638 名前:NAME IS NULL mailto:sage [2008/06/25(水) 00:00:23 ID:???]
RACでのバックアップについて質問です。

@ノードAで「begin backup」

Aデータファイルをコピー

BノードAで「end backup」
という流れでバックアップしようと考えています。
そこで、Aの最中にノードAがダウンした場合、
別のノードでBを実行することは可能なのでしょうか?

シングル構成やHA構成だと、AでノードAがダウンした場合
MOUNTモードにして「end backup」してやらないといけなかったので
RACだとどうなるんでしょう?

639 名前:NAME IS NULL mailto:sage [2008/06/25(水) 01:19:12 ID:???]
>>638
念のため、10gR2-EE という前提で。
ノードBで alter database end backup すれば大丈夫なはず。
SE-RAC だとサポート対象外操作になるはず。

640 名前:NAME IS NULL mailto:sage [2008/06/25(水) 02:10:52 ID:???]
バックアップのパラレル化はしないの?



641 名前:NAME IS NULL mailto:sage [2008/06/25(水) 04:37:31 ID:???]
>>638

可能。
でもRACならRMAN使った方が何かと楽だぞ。


642 名前:NAME IS NULL mailto:sage [2008/06/25(水) 10:25:14 ID:???]
SQL ServerのTEXT型のような型はOracleにはありますでしょうか?

643 名前:NAME IS NULL mailto:sage [2008/06/25(水) 10:39:53 ID:???]
>>642
あえて言うならLONGとかCLOBだが、
使い勝手はTEXT型よりかなり悪い罠。


644 名前:NAME IS NULL mailto:sage [2008/06/25(水) 12:45:43 ID:???]
〉〉639,641

情報ありがとう。
今回は10gR2-EEなので、
MOUNTモードでのリカバリの心配はなさそうですね。

RMANに関しては
容量が大きいので見送りました。
ストレージ機能でコピーします。


645 名前:NAME IS NULL mailto:sage [2008/06/25(水) 12:48:20 ID:???]
>>644

RMANはその気になればストレージ機能を利用した方法にも
対応させる事が可能。
ちょっと面倒だけどね。


646 名前:NAME IS NULL mailto:sage [2008/06/25(水) 14:40:48 ID:???]
>>643
ありがとうございます。CLOB使ってみました。
なんか普通にinsertもselectもできるんですが
どのあたりが使い勝手が悪いのでしょうか?

647 名前:NAME IS NULL mailto:sage [2008/06/25(水) 15:20:00 ID:???]
>>641
可能です。
以上。
↓次の方どうぞ

648 名前:NAME IS NULL mailto:sage [2008/06/26(木) 00:27:37 ID:???]
>>638
何ゆえ、MOUNTモードにする必要が???

649 名前:NAME IS NULL mailto:sage [2008/06/26(木) 02:52:52 ID:???]
>>648
シングルインスタンスで
alter database begin backup;
shutdown abort;
startup;
してみれば判る。

650 名前:NAME IS NULL mailto:sage [2008/06/26(木) 21:03:33 ID:???]
ORACLE 10g Express Editionはメモリが少ないパソコンでも問題なく動作しますか?
メモリ256Mしかつんでないのですが。



651 名前:NAME IS NULL mailto:sage [2008/06/26(木) 21:17:25 ID:???]
>>650
動かないことはないけど、
Uses up to 1GB RAM of available memory in any size server.
ってDataSheetには書いてある訳だが。



652 名前:NAME IS NULL mailto:sage [2008/06/26(木) 21:48:04 ID:???]
「問題なく動作」するかと言われれば「何か問題はあるだろう」としか言えない。


653 名前:NAME IS NULL mailto:sage [2008/06/26(木) 21:51:19 ID:???]
XEにOEMがあったかどうか知らんが、そういう類のものをすべて止めれば逝けるだろう。

654 名前:NAME IS NULL mailto:sage [2008/06/27(金) 00:31:06 ID:???]
いきなりWindows落としたら、次の日からSQLPLUS使えなくなっちゃった・・・・
っていうかORACLE動いてる気配ないんですけど

655 名前:NAME IS NULL mailto:sage [2008/06/27(金) 01:17:02 ID:???]
>>651
日本語か英語の勉強が足りない。

656 名前:NAME IS NULL mailto:sage [2008/06/27(金) 04:54:53 ID:???]
>>650

無理じゃん。
スワップしまくってアボンだと思う。

657 名前:NAME IS NULL mailto:sage [2008/06/27(金) 05:14:34 ID:???]
>>654
メモリ256でOracleを動かしているとPCをシャットダウンすると
Oracleの終了処理が済む前に電源が落ちてしまう。
そのせいで再起動のときOracleはリカバリ処理が始まる。
これに数十分かかるのだが、待ちきれずにPCをもう一回落としたり
いろいろはじめるとさらに傷口が広がり回復に数時間を要するようになる。

658 名前:NAME IS NULL mailto:sage [2008/06/27(金) 05:37:00 ID:???]
>>654
クラッシュリカバリに時間掛かってるか、
何らかのエラーで起動が失敗していると思われ。

アラートログ確認汁。


659 名前:NAME IS NULL mailto:sage [2008/06/27(金) 05:52:30 ID:???]
ブハハ、256でオラクルはホント地獄だぜ・・・   某AA

660 名前:NAME IS NULL mailto:sage [2008/06/27(金) 05:55:53 ID:???]
>>659
動かすだけなら良いが、
実用には向かん罠www




661 名前:NAME IS NULL mailto:sage [2008/06/27(金) 08:56:52 ID:???]
512でもつらい。ってかちょっと複雑なSQLで内部エラー大量発生。

662 名前:NAME IS NULL mailto:sage [2008/06/27(金) 09:47:35 ID:???]
質問です。
WinServer2003で9iを導入するのですが
Oracleが使用できる最大物理メモリはどのくらいですか?
要はOralceのためにServerに25Gの物理メモリを搭載しようと思うのですが
そこまで必要ないのかどうかが知りたいです。



663 名前:NAME IS NULL mailto:sage [2008/06/27(金) 09:55:33 ID:???]
>>662
32bitOSと32bit Oracleの組み合わせなら2GB。設定弄って3GB。
当然、64bitなんだろ?

なら20GBくらい割り当てても問題ない。

664 名前:NAME IS NULL mailto:sage [2008/06/27(金) 10:03:24 ID:???]
>>663
ありがとうございます。
割り当てるというのはSGAのことですか?

665 名前:NAME IS NULL mailto:sage [2008/06/27(金) 10:57:12 ID:???]
>>664
SGA。

666 名前:NAME IS NULL mailto:sage [2008/06/27(金) 12:45:12 ID:???]
>>665
ありがとうございます。とても参考になりました。

667 名前:NAME IS NULL mailto:sage [2008/06/27(金) 14:10:07 ID:???]
つか、今からなら9iより10gR2のほうが良いように思うが。


668 名前:NAME IS NULL mailto:sage [2008/06/27(金) 19:37:54 ID:???]
>>663
>32bitOSと32bit Oracleの組み合わせなら2GB。設定弄って3GB。

エッ! WindowsNTserver4.0にOracle7のサーバなんだけど、この間3GBに増設して動かしてる。
設定何も変えてないんだけど、何かしなきゃダメなんでしょうか?

669 名前:NAME IS NULL mailto:sage [2008/06/27(金) 19:39:41 ID:???]
SGAだけじゃなくてPGAも考えないと。
SGA + 同時接続数 x PGA だろうな。

物理メモリに25GB(半端だね)も載せようというんだからDBもでかいんだろうし。


670 名前:NAME IS NULL mailto:sage [2008/06/27(金) 19:40:35 ID:???]
>>668

どんな釣りだよ。

プロセスが使えるメモリの最大量って知ってるか。



671 名前:NAME IS NULL mailto:sage [2008/06/27(金) 19:52:07 ID:???]
>>668
設定弄らずに32bit Windows上で
ユーザープロセスが使えるメモリの最大サイズは2GBまで。
覚えとけwww


672 名前:NAME IS NULL mailto:sage [2008/06/27(金) 22:22:34 ID:???]
まてまて。
9iにx64版ってあったっけ?

っていうか、Oracleのシステム要件のページってどこいったんだ・・・。

673 名前:NAME IS NULL mailto:sage [2008/06/28(土) 02:05:57 ID:???]
>>651
XE 使ったこと無いから知らないけど、結構要求すんのね。
10gR2 for Windows(32bit) の最小システム用件で 256MB なのに。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B25255-04/reqs.htm#62274690

>>668
物理メモリ増やしても、オラクルのパラメータ変えなければ意味がない。
そして上限が 2GB 。(設定だと SGA+PGA=1.7GB程度かな)

>>669
Windowsだとローカルメモリ+SGA+PGA+最大セッション数MB で概算してる。

>>672
IPF 版なら存在する。
システム用件は Metalink に移動。
Oracle Japan のトップから不思議なリンクを辿って行ける
トップ→[タブ]会社情報→[Oracle Resources]製品システム用件
使い辛い+判り辛い

674 名前:NAME IS NULL mailto:sage [2008/06/28(土) 04:13:10 ID:???]
>>673
up to は上限。

675 名前:NAME IS NULL mailto:sage [2008/06/28(土) 08:07:09 ID:???]
Oracle SQL Developer って開発者向けには便利なツールだけど
管理者向けのこの手のツールはないですかね?(SI Object Browser 以外で)
10g 標準のツールってweb版のみしか無いようだし、
そもそもバージョンが変わる度にツールも変わるので複数バージョンを扱ってると不便…

676 名前:NAME IS NULL mailto:sage [2008/06/28(土) 13:09:09 ID:???]
10gにもEM(Web版OEM)あるでしょ。
使いやすいかどうかは保証しないけど。

677 名前:NAME IS NULL mailto:sage [2008/06/28(土) 21:20:01 ID:???]
>>675

Grid Control は複数のバージョンが混在していても管理できるよ。



678 名前:668 mailto:sage [2008/06/29(日) 00:06:38 ID:???]
皆さんありがとう。
Oracleのプロセスが使える上限が2GBというのは、物理メモリエリアの2GB以下のアドレス
しかアクセス出来ないという意味ではないですよね。
もしそうなら全く駄目なんだけど、そうでなければOSや別アプリが使う分を含んで3GBにする
意味はあると思うのですが。

679 名前:NAME IS NULL mailto:sage [2008/06/29(日) 13:43:09 ID:???]
>>678
何のためにメモリを増やしたの?
このスレの視点だと「オラクルのため」にメモリを増やしたと判断されて
当然だと思わない?。だから設定してないなら無意味ってだけ。
オラクル以外の部分のため(例えばSWAP発生してる対策)とかなら、
メモリ増設だけで十分かもしれない。

680 名前:NAME IS NULL mailto:sage [2008/06/29(日) 20:41:52 ID:???]
>>679
いや、マシン自体が2GBしかメモリを積んでないなら、当然ORACLEは2GBよりかなり少ない
容量しか使えないから、ORACLEにフルに2GBを使いたいなら当然マシンには3GBとか積ま
ないといけないですよねっていう質問です。



681 名前:NAME IS NULL mailto:sage [2008/06/29(日) 20:51:15 ID:???]
>>680
SGAやPGAサイズがOrcaleが使うメモリのすべてと誤解して大きくとりすぎてることはあるよね。
プログラムとしてのOracleのコードやスタック、ヒープはしっかり別に必要で、
OSのファイルシステムにDBおいてるなら、
特にNT系はファイルシステムのキャッシュに目いっぱいメモリ使うから要注意だ。

682 名前:NAME IS NULL mailto:sage [2008/06/30(月) 00:55:47 ID:???]
>>680
物理メモリを 2GB → 3GB に増設した。
目的は Oracle で 2GB 使うため。
だったオラクルのパラメータ変更したの?

変更してなきゃ意味無いだろ。って言われてるの。

683 名前:680 mailto:sage [2008/06/30(月) 13:27:22 ID:???]
>>682
>目的は Oracle で 2GB 使うため。
>だったオラクルのパラメータ変更したの?

2GBで使う場合でも、コンピュータに搭載されているメモリ容量を変更する度に
オラクルのパラメータ変更が必要なのですか?
それなら、そっちの担当にどうしてるのか確認してみます。

684 名前:NAME IS NULL mailto:sage [2008/06/30(月) 13:50:40 ID:???]
>>683
ttp://www.microsoft.com/japan/whdc/system/platform/server/PAE/PAEmem.mspx

boot.ini に/3GBスイッチ入れてるでしょ?

685 名前:680・683 mailto:sage [2008/06/30(月) 14:05:37 ID:???]
>>684
ありがとう。
これもずっと探してた情報です。 助かります。

686 名前:NAME IS NULL mailto:sage [2008/06/30(月) 14:17:56 ID:???]
OiSCのパッチ情報見る限り、9iにもx64版(Linux、Windowsとも)あるな。


687 名前:NAME IS NULL mailto:sage [2008/06/30(月) 20:52:28 ID:???]
>>683
メモリチューニングは当然実施すべき内容。


688 名前:NAME IS NULL [2008/06/30(月) 23:14:45 ID:4AUDEgeg]
11g Enterprise ManagerにSYSでログインし、ユーザーの編集でユーザのパスワードを変更したいのですが
何故か6桁のパスワードに書き換えられてしまいます。

何か原因に心当たりがあればぜひ!

689 名前:NAME IS NULL mailto:sage [2008/07/01(火) 04:13:53 ID:???]
評価版Windows用 10gR2 SEを入れ、SE-RACのテストをしています。
ClusterWare、Databaseを無事インストールし、EMへのログインを確認できました。

ここで、お尋ねしたいのですが、EMは、Databaseをインストール
したサーバ(rac1)で立ち上がっているようですが、、リモートインストール
したサーバ(rac2)では立ち上がっていないようです。

rac1が故障したときにも備えて、rac2でもEMを立ち上げておきたいのですが
そういったことは可能なのでしょうか?



690 名前:NAME IS NULL mailto:sage [2008/07/01(火) 07:45:54 ID:???]
>>689

はい。可能です。




691 名前:NAME IS NULL mailto:sage [2008/07/01(火) 22:30:55 ID:???]
>>676-677
サーバーマシン上で動作するツール(Web版)は避けたいんですよね
ツールがフリーズすると面倒だし…
やっぱりクライアント上で動作して
裏では管理用SQLをやりとりするだけで表示だけわかりやすくしてくれるってのがいいな、と

692 名前:NAME IS NULL mailto:sage [2008/07/02(水) 00:19:54 ID:???]
>>689

余裕があるのなら、3台目のサーバーにOMS立ち上げて、中央管理とか
した方がいいかもな。
rac1とrac2が動いているサーバーにはagentだけ入れておけばいい。

693 名前:NAME IS NULL mailto:sage [2008/07/02(水) 00:36:49 ID:???]
>>689
可能だけど、マニュアルに手順は載ってなかったと思う。
ちなみに rac2 で emctl status dbconsole すると rac1 と微妙に
表現が違うことに気付くでしょう。

>>691
10gから考え方が変わってるからね。
DBサーバ側で動かしたくないなら、素直にオラクルの考えに従って
Grid でも組んで Agent だけ動かすとかが正解じゃないかと。

694 名前:NAME IS NULL mailto:sage [2008/07/02(水) 00:59:08 ID:???]
EMとそのリポジトリ用にXEで管理サーバー立ててるよ。ただでよかったXE。

695 名前:689 [2008/07/02(水) 04:21:16 ID:upsbnzBw]
>>690
>>692
>>693
>>694
皆様、レスありがとうございました。

やけっぱちで、RAC1でEMDCのアンインストールを実行し、RAC2で
EMDCのインストールを試みましたが、インストールに失敗し、私の手では復旧不能になりましたw

とりあえず、再度オラクルをインストールしなおして、各サーバにgridのエージェントをいれ、
管理サーバとして3つ目のサーバにXEとgridを入れようと思います。

素人が出を出すもんじゃないですね。

696 名前:NAME IS NULL [2008/07/04(金) 22:53:03 ID:c2n1ia/Z]
サラのPCに11gをインストール後、リブートなどしてもCPU負荷がほぼ常時100%付近。
PCが使い物になりません。
Windows XP Pro:メモリ1.5GB CPU Celeron 540
同様なマシン3台チャレンジしてみましたが....
気になる点は、ネットワークアドレスが固定なので
DHCPについての確認MSGはでてしまいました


697 名前:NAME IS NULL mailto:sage [2008/07/04(金) 23:20:42 ID:???]
>>696
SPECが低いんだろ。

698 名前:NAME IS NULL mailto:sage [2008/07/06(日) 01:27:05 ID:???]
10gではどうなのだろう?

699 名前:NAME IS NULL mailto:sage [2008/07/06(日) 07:05:10 ID:???]
>>698
同じマシンで10gならもう少しマシに動くはず。

700 名前:NAME IS NULL mailto:sage [2008/07/06(日) 12:06:46 ID:???]
Oracle 10gをwindows server2003にいれて、
クライアント windows XP proからアクセスしています。

いまトリガーを作っているんですが、トリガーをステップ実行できるような無料のツールはないでしょうか。
Visual Studio2005が入ってるので、「Oracle Developer Tools for Visual Studio」を入れてみたんですが、
トリガーのステップ実行はできませんでした(ブレークポイント貼っても止まりませんでしたので)



701 名前:696 [2008/07/06(日) 16:44:34 ID:8/VfbbrQ]
>>698
11gをアンインストールして10gR2をいれてみました。
問題なくとっても快適に動きます。負荷も何もしてなければ
10%以内です。
その後11gをインストールしなおしたけど、何もしなくても
CPUは100%。

>>697
オラクルの言う最低要件はクリアしているが、スペックが低い、
ということだと、どれくらいのスペックがあればいいですか?



702 名前:NAME IS NULL mailto:sage [2008/07/06(日) 17:20:02 ID:???]
もうoracleは64bit機じゃないと無理

703 名前:NAME IS NULL mailto:sage [2008/07/06(日) 17:21:38 ID:???]
>>700
Object Browserをとりあえず試用してみるのが良いとオモ。


>>701
つか、最低要件はあくまで最低だからな。
32bitなら最低限Core2Duoと4GB RAMが欲しい。



704 名前:NAME IS NULL [2008/07/06(日) 17:59:05 ID:cz+zACqE]
>>701

類似事例が下のURLのサイトに書いてある。

ttp://www.oraxcel.com/cgi-bin/yabb2/YaBB.pl?num=1211190566

Oracle 11g causes CPU 100%

After installing Oracle 11g on a clean windows XP machine (no service packs) it maxes out the CPU.
The CPU is always 100%. I have a 2GHz PC with 2 GB of memory...

I found the cause to be the service for enterprise manager. When you stop the service OracleDBConsole
for your database the CPU drops to idle after a minute or so.
I guess I have to do without the enterprise manager...


705 名前:NAME IS NULL mailto:sage [2008/07/06(日) 18:09:24 ID:???]
JVMとの相性に問題があるのかもしれんな。

706 名前:田中さん [2008/07/06(日) 18:18:45 ID:pcnIKAGY]
エヴァンゲリオンにあわせた曲(バンプのアルエ)みたいな曲ないですか

707 名前:NAME IS NULL mailto:sage [2008/07/07(月) 00:53:28 ID:???]
>>700
Oracle SQL Developer ではできないんだっけ?

708 名前:NAME IS NULL mailto:sage [2008/07/07(月) 00:55:54 ID:???]
>>701
DBconsoleサービスを止めたらどうなのだろう?

709 名前:696 [2008/07/07(月) 07:26:02 ID:MBMmlGLV]
>>708
停止でCPU負荷は下がりました。
でOEMは使えないっす。(これは管理上痛い!)

Oracle11gもVista化しちゃったのかな?
みんな11gって使えてるの?


710 名前:NAME IS NULL mailto:sage [2008/07/07(月) 08:09:07 ID:???]
JVMのバージョンをいろいろ変えてみるしかないだろうなw



711 名前:NAME IS NULL mailto:sage [2008/07/07(月) 10:04:10 ID:???]
それ以前にSPなしのWinXPにこだわる理由でもあるのか?

712 名前:NAME IS NULL mailto:sage [2008/07/07(月) 10:05:35 ID:???]
>>711
普通に考えればない罠www

713 名前:NAME IS NULL mailto:sage [2008/07/07(月) 10:54:00 ID:???]
それ以前にSPありで問題ないかどうかについて書かれて無いな

714 名前:NAME IS NULL mailto:sage [2008/07/07(月) 11:12:31 ID:???]
質問です
バインド変数の宣言方法と使用方法(構文?)がわかりません。

Oracle9i リリース2
開発言語 .NET
ODPでOracleに接続しています

よろしくお願いします

715 名前:696 [2008/07/07(月) 12:29:35 ID:MBMmlGLV]
>>713
先月購入した国産F製XPパソコンですので、SP2はいっています。
XPの更新などはいれましたが、SP3は入れてません。
(一般的な状態かと?)

元々NTで動いていたシステムのリプレースで、機械も客先からの指定、
そんな感じです。
メモリは積むことは出来ますが、CPUはアップ無理〜。



716 名前:NAME IS NULL mailto:sage [2008/07/07(月) 12:51:16 ID:???]
11gってついにoemapp版のコンソールは無くなってしまったのかな?


717 名前:NAME IS NULL mailto:sage [2008/07/07(月) 12:52:13 ID:???]
>>715
ダメ元でメモリ奢ってみなよ。

718 名前:NAME IS NULL mailto:sage [2008/07/07(月) 20:14:20 ID:???]
UpDate > '2008-04-01%'
うちOracleの人は普通に使ってる条件、UpDate はtimestamp型ね
これ普通?

719 名前:NAME IS NULL mailto:sage [2008/07/07(月) 20:33:25 ID:???]
エラー:普通の定義があいまいです。

720 名前:NAME IS NULL [2008/07/07(月) 22:29:42 ID:87jAvxSS]
SRCテーブルIDとCODEとDATEのフィールドがあります。
このテーブルにトリガを設定し、UPDATE・INSERT・DELETEされたタイミングで、
更新されたCODEと同じCODEの中で最大のDATEフィールドを、DSTテーブルにINSERTしています。

トリガ内で自テーブルを参照するのでやむを得ず文トリガーにしましたが、
この場合、:NEWや:OLDが使えないため、更新(や削除)されたレコードのCODEが欲しいのにわかりません。
文トリガーの場合、どうやってどのレコードが更新(削除)されたか取得するんでしょうか?



721 名前:NAME IS NULL mailto:sage [2008/07/08(火) 00:53:23 ID:???]
web版じゃなくてapp版のoemが欲しいね

722 名前:NAME IS NULL mailto:sage [2008/07/09(水) 16:41:47 ID:???]
すみません初心者です

11gの体験版をインストールし、サービス「orcl」を作成してSQL Developerからアクセスできました
次にODBC接続するためDNSを作成しようとしたのですが、
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」
と表示され接続できません。ローカルからの接続で、設定はSQL Developerからの接続と同様です。

tnsping orcl と入力しても名前の解決に失敗しました
sqlplus user/pass@orcl と入力しても指定された接続識別子を解決できませんでしたと言われます。

おそらくODBC以前の問題かと思うのですが、こういう場合はどこを確認すればいいのでしょうか?

723 名前:NAME IS NULL mailto:sage [2008/07/09(水) 16:51:50 ID:???]
>>722
ORA-12154でぐぐる

724 名前:NAME IS NULL mailto:sage [2008/07/09(水) 17:06:41 ID:???]
ググってるんですがわからない初心者です;;
もう少し調べてみます…

725 名前:NAME IS NULL mailto:sage [2008/07/09(水) 18:28:20 ID:???]
tnsnames.oraだろ。

726 名前:NAME IS NULL mailto:sage [2008/07/10(木) 01:06:21 ID:???]
んだな tnsnames.ora を上げてみるよろし

727 名前:NAME IS NULL mailto:質問age [2008/07/10(木) 01:48:21 ID:???]
エロイ人助けて... oracle10g linux です。

TABLE_A に NOT NULL かつ NUMBERな、COL1とCOL2 があります。
primaryなkeyとして IDX_A (COL1,COL2) が指定されてます。

これに対して SQL1 を実行すると、IDX_A の FULL SCAN になってしまいました。
[SQL1]
EXPLAIN PLAN FOR
SELECT SUM(CASE WHEN COL1=10 AND COL2=100 THEN 1 ELSE 0 END) FROM TABLE_A;

UNIQUE INDEX をフル指定してるのになぜ...と思って 念のため SQL2 を実行すると
こちらは順当に IDX_A の UNIQUE SCAN となりました。
[SQL2]
EXPLAIN PLAN FOR
SELECT COUNT(*) FROM TABLE_A WHERE COL1=10 AND COL2=100;

ひょっとして CASE の WHEN では、INDEX UNIQUE SCANしてくれないのでしょうか。

『oracle when full scan』とかでググったり、Oracle Database パフォーマンス・
チューニング・ガイドを見たりしたのですが、そのような記述は見あたりません。

ちなみに NOT UNIQUE な INDEX で同じ事をすると(っていうか発端はこっちなのですが)、
WHERE では INDEX RANGE SCAN、WHEN では INDEX FULL SCAN となり、同じ事でした。

よろしくお願いします。

728 名前:NAME IS NULL mailto:sage [2008/07/10(木) 03:36:28 ID:???]
>>727
CASE WHEN の方は全部の行を集計対象にしているから、FULL SCAN は当然では?

COL1 COL2
10 9 -> 0
10 10 -> 1
10 11 -> 0
:
:


729 名前:727 mailto:sage [2008/07/10(木) 04:13:43 ID:???]
>>728
エロイ人、ありがとうございます!!

そういう事なのですね。
WHENに書く必要のない条件をWHEREに持ってきたら、RANGE SCAN になってくれました。
これで寝れます。お休みなさい。

730 名前:NAME IS NULL [2008/07/11(金) 17:53:30 ID:85FVEcl0]
【iPhone】これで法人向け端末として会社に買ってもらえる? OracleやSalesforce.comが業務アプリを無償提供開始 Googleも
mamono.2ch.net/test/read.cgi/newsplus/1215766033/
OracleとSalesforce.comが、無料iPhoneへのチケットになるかもしれない。その方法は?
上司にお金を払ってもらうのだ。
エンタープライズアプリケーション大手のOracleと、CRM(顧客関係管理)の第一線にある
Salesforce.comは、7月11日に発売されるiPhone 3G向けにアプリケーションを開発する企業
の第一陣だ。
(中略)
あなたの上司はまだiPhoneをおもちゃだと考えているかもしれない。IT部門は新しい製品の
管理を嫌がるかもしれない。iTunesが管理コンソールにあるのならなおさらだ。だが一般社員
はiPhoneを使うだろう。OracleとSalesforce.comはそれを分かっている。実際に両社はそれ
を確かめるだろう。ほかのベンダーも後れを取ってはいない。

SAPは今春、BlackBerryにSAP CRMを搭載して成功したと考えている。おそらく成功だった
のだろう。だが、iPhone対応を検討した方がいい。

あなたのチームにiPhoneを支給しなければ、ライバルに後れを取ってしまうと上司を説得する
にはいい機会だ。



731 名前:NAME IS NULL mailto:sage [2008/07/11(金) 21:03:04 ID:???]
質問します。列定義でTIMESTAMP型はどれになるのですか?

732 名前:NAME IS NULL mailto:sage [2008/07/11(金) 21:10:16 ID:???]
>>731
9iより前には無い

733 名前:NAME IS NULL mailto:sage [2008/07/11(金) 21:53:11 ID:???]
>>731
意味不明だが、とりあえずTIMESTAMP WITH TIME ZONEにしとけ。


734 名前:NAME IS NULL [2008/07/12(土) 21:43:42 ID:8NaFBB4m]
質問です。
ひょっとしてLinuxのXEにx86_64の対応版はないですか?

735 名前:NAME IS NULL mailto:sage [2008/07/12(土) 22:05:36 ID:???]
Windows版にも無いような

736 名前:NAME IS NULL mailto:sage [2008/07/12(土) 23:46:53 ID:???]
確か、SGA_MAXが2Gまでじゃなかったっけ?
つうことで、32bit版しかないんだろう。

737 名前:NAME IS NULL mailto:sage [2008/07/13(日) 11:23:19 ID:???]
表作成後にデフォルト値を追加すると今までの表にも反映されますか?

738 名前:NAME IS NULL mailto:sage [2008/07/13(日) 23:54:58 ID:???]
なぜやってみない?

739 名前:NAME IS NULL mailto:sage [2008/07/14(月) 01:51:01 ID:???]
アプリケーションビルダで1:Nの画面作れません
成功者いますか?

740 名前:NAME IS NULL mailto:sage [2008/07/14(月) 11:44:01 ID:???]
Oracle Master の試験スレはどこかいのぉ。



741 名前:NAME IS NULL mailto:sage [2008/07/14(月) 12:15:13 ID:???]
>>740
school7.2ch.net/test/read.cgi/lic/1142637069/
school7.2ch.net/test/read.cgi/lic/1174101890/

742 名前:NAME IS NULL mailto:sage [2008/07/14(月) 22:02:05 ID:???]
表の容量調べるにはどうすればいい?

743 名前:NAME IS NULL mailto:sage [2008/07/14(月) 22:29:05 ID:???]
>>742

(´д`)つdba_segments

744 名前:740 mailto:sage [2008/07/15(火) 01:00:25 ID:???]
>>741
サントス!!

745 名前:NAME IS NULL mailto:sage [2008/07/16(水) 23:24:55 ID:???]
PL/SQLでVARCHAR2型列の最大長を知る方法ありますか?

746 名前:NAME IS NULL [2008/07/17(木) 23:25:17 ID:kAgTWgJL]
Oracle9.1での事ですが、
オラクルのフィールドに、「何も入ってないけど、NULLじゃない状態」ってありえるんでしょうか?
ACCESSでリンクして、ACCESSからオラクルに書き込んでるデータがあるんですが、
ACCESSから書き込んだあと、オラクル上(SQLPLUS)で、あるフィールドがNULLのデータを取得しようとしたら取得できず、
でもそのレコードを見ると、対象フィールドには何も入ってない、という現象が発生しまして。


747 名前:NAME IS NULL mailto:sage [2008/07/17(木) 23:30:23 ID:???]
どうやってNULLのデータを取得しようとして
どうやって何も入っていないことを確認したのか

748 名前:NAME IS NULL mailto:sage [2008/07/18(金) 00:17:59 ID:???]
>>746
表示できない文字が入ってるってオチだろ
chr(0)とかコントロールコードとか
ちゃんとlengthとかdumpとかみてんのか?

749 名前:NAME IS NULL mailto:sage [2008/07/18(金) 01:18:07 ID:???]
>>746
改行が入ってるとかよくあるよ

750 名前:NAME IS NULL mailto:sage [2008/07/19(土) 15:06:54 ID:???]
とあるBronzeの学習書の問題で

・副問合わせがNULLを戻すと主問合わせは1行も結果を戻さない

真か偽か、で正解が真とあります。
副問合わせをWHERE/HAVING/FROMで使う時はわかるのですが
UPDATE文のSET句で使う場合は結果を返すような気がするのですが
どこか誤解があるでしょうか。



751 名前:NAME IS NULL mailto:sage [2008/07/19(土) 16:48:26 ID:???]
その場合、主問い合わせってのが
SELECT文のみを想定してるんじゃ?

752 名前:NAME IS NULL mailto:sage [2008/07/19(土) 18:09:42 ID:???]
なるほど、用語の問題でしょうか
「主問合わせ」と言うとき、SELECT文のことを指すものなのですかね

どうもこの書は用語の定義の説明が省略されていて初学者には戸惑います
まあでも更新操作は確かに問合わせではないですね

753 名前:NAME IS NULL mailto:sage [2008/07/19(土) 18:37:50 ID:???]
>>752
資格試験の想定問題の場合、
厳密な用語の定義以前に
問題作成者の意図、ってのが関わってくるから、
そういうことが起きうるんだけどな。

資格試験の勉強の場合は
「まぁ、そんなもんか」としておくのが良いと思う。


754 名前:NAME IS NULL mailto:sage [2008/07/19(土) 23:16:16 ID:???]
Oracle自信の質問ではないんですが、
皆さんはノートは何を使っていますか?
現在会社で使っているノートはレノボの重いノートで
ORACLEは問題なく動いているんですが出張には重い・・・
そこで出張にも大丈夫なようにノートを検討中です
Oracle10gや11gでさらにOracle自身も重くなってきていて悩んでいます
OracleはEnter PriseではなくてもStandardが動けば十分です
モバイルノートで探しているのですが参考にさせてもらいたいです

755 名前:NAME IS NULL mailto:sage [2008/07/19(土) 23:38:57 ID:???]
昔、1Gのメモリのレッツに、JP1とOracleを入れてたな。
もちろん、Oracleは、使うときだけ起動するようにしてたけど。

756 名前:NAME IS NULL mailto:sage [2008/07/20(日) 10:14:32 ID:???]
>>750
問合せ=SELECT
ちなみに選択列で副問合せを使った場合はどうなんだろうな。
SELECT ( SELECT b.a FROM b WHERE b.c = d.c ), d.e, d.f FROM d

757 名前:NAME IS NULL mailto:sage [2008/07/20(日) 11:21:42 ID:???]
>>756
副問い合わせ=subqueryだな

758 名前:NAME IS NULL mailto:sage [2008/07/21(月) 10:13:46 ID:???]
>>757
? sub = 副 だからな

759 名前:NAME IS NULL mailto:sage [2008/07/21(月) 12:22:09 ID:???]
連休中にOSごとお亡くなりになりましたぁぁぁぁぁぁ

760 名前:NAME IS NULL mailto:sage [2008/07/21(月) 12:31:55 ID:???]
>>757
subqueryからsubを取ってみろよ



761 名前:NAME IS NULL mailto:sage [2008/07/21(月) 19:54:10 ID:???]
Oracleの資格の質問もここでいいかな?
10gゴールドのテスト受かったんで講習受けようと
思ってるんだけど、安くて期間の少ないSQL入門を
受けようと考えてます。
ただ、自分は完全ペーパーオンリーできたため
SQLのことなんてさっぱりなので心配です。
講習とはどのようなことをするのかどなたか教えて
頂けませんか?

762 名前:NAME IS NULL mailto:sage [2008/07/21(月) 20:06:46 ID:???]
安心してガッカリしてこいや

763 名前:NAME IS NULL mailto:sage [2008/07/22(火) 22:16:35 ID:???]
oracleの8080プロセスってどこにあるんですか?


764 名前:NAME IS NULL mailto:sage [2008/07/23(水) 07:16:10 ID:???]
まっすぐ行って、コンビニを左に曲がったところ

765 名前:NAME IS NULL mailto:sage [2008/07/23(水) 11:50:31 ID:???]
てやんでぃ
まっつぐいってしだり

766 名前:NAME IS NULL [2008/07/24(木) 06:39:33 ID:BudmsEYu]
オラクルのインスタントクライアントについて教えてください。

インスタントクライアントを入れたいのですがOTNやググって見ても大した説明がなくわからないです。 パスを通しましたが繋がらないです。
基本パッケージをダウンロードし
Cドライブへ環境変数のシステムでパスを通しましたが・・・
無償版なのでサポートを受けられないことくらい分かっていますがどうしてもお金が使ってはいけない事情があるので・・・



767 名前:NAME IS NULL mailto:sage [2008/07/24(木) 06:49:50 ID:???]
>>766
何をしたか詳細に書け。

接続しようとした際の接続文字列もな。

768 名前:NAME IS NULL [2008/07/24(木) 07:48:03 ID:eOuZyKHk]
PDFにあった方法でCドライブ直下にinstancliantを作りそこのパスとNLSのファイルへのパスを通しただけです。
どうやったら接続まで辿り着けるかが記載されてなく困ってます。(文字列なんて先の話みたいです)

769 名前:NAME IS NULL mailto:sage [2008/07/24(木) 08:09:41 ID:???]
>>768

話にならんな。
マニュアルにはちゃんと書いてある。
金払ってちゃんと教えてもらえ。


770 名前:NAME IS NULL [2008/07/24(木) 10:39:30 ID:eOuZyKHk]
んな?書いてないやろ



771 名前:NAME IS NULL mailto:sage [2008/07/24(木) 10:58:46 ID:???]
読めないならそう書きなさい

772 名前:NAME IS NULL [2008/07/24(木) 12:33:38 ID:eOuZyKHk]
768です…
もう一回見直してみましたがよくわかりません。
正直何のファイルへパスを通すのか?
どうやって接続出来るのか?
と言ったようなことがなく初心者にはわかりづらいです…
申し訳ないですがどなたか一から教えていただけないですか?

773 名前:NAME IS NULL mailto:sage [2008/07/24(木) 12:43:26 ID:???]
マルチだったのか、よそで答えてもらえばいいじゃない。

774 名前:NAME IS NULL mailto:sage [2008/07/24(木) 12:53:39 ID:???]
ま、こんなに色々なサイトにマルチをする
初心者を名乗るバカ野郎に答えてくれるのは
OTNに常駐している連中くらいだろう

775 名前:NAME IS NULL mailto:sage [2008/07/25(金) 11:00:59 ID:???]
まあ、でもインスタントクライアントという割には、インストールがめんどくさいんだよな。
環境変数についても、通常版クライアントでは使われなくなった変数を指定する必要があったり。


776 名前:NAME IS NULL mailto:sage [2008/07/25(金) 11:10:47 ID:???]
>>775
まぁ、何もしたくなけりゃ普通のOracleClientインストールしろって事だよ。


777 名前:NAME IS NULL [2008/07/25(金) 15:11:16 ID:g0Qz5Cbj]
ちょっとややこしいのですが
どなたかわかる方いましたらご教授お願いします
xpにvirtualpcをインストールしまして
virtualpcに20003サーバーをインストールしました。
2003サーバーにオラクル10gをインストールしようとしたのですが
オラクル10gインストール時のチェック?で警告がでまして
インストールをやめてしまったのですが、これだけの情報で原因と
思われるものがわかる方いらっしゃいますか?

778 名前:NAME IS NULL mailto:sage [2008/07/25(金) 15:29:05 ID:???]
>>777
・仮想マシンの物理メモリの量が満足されていない
・ディスクの最大空き容量が満足されていない

779 名前:NAME IS NULL mailto:sage [2008/07/25(金) 16:27:29 ID:???]
IPのチェックじゃね?たしかDHCPで貰ってる場合には警告が出たような・・・

780 名前:NAME IS NULL mailto:sage [2008/07/25(金) 16:30:31 ID:???]
>>779
それもあり得る。
その場合はMicrosoft Loopback AdapterインストールしてIP割り当てるか、
DHCP使わないよう既存NICにIP割り当てるかするしかない。



781 名前:NAME IS NULL mailto:sage [2008/07/26(土) 10:12:44 ID:???]
そもそも「インストール時のチェック?で警告がでまして」の
「警告」を正確に書かない時点で本当に解決したいのかどうか

782 名前:NAME IS NULL mailto:sage [2008/07/26(土) 11:10:22 ID:???]
>>781
釣りだろwww

783 名前:NAME IS NULL mailto:sage [2008/07/26(土) 15:15:58 ID:???]
エンタープライズって、
クライアントにはいってないよね?
データベースのほうでok?(10g)

784 名前:NAME IS NULL mailto:sage [2008/07/28(月) 00:34:37 ID:???]
無理に分かっている感じを出そうとして省略して書かなくてもよろし
慣れないうちはフルに正確に書いたほうが良い

785 名前:NAME IS NULL [2008/07/31(木) 00:04:14 ID:iqcL6bpm]
ルールベースのテーブルAに、インデックスが2つ(IDX_1、IDX_2)があって
とあるSQL文を投げたとき、もともとは特にヒントなしでもIDX_2を使用。

いろいろチューニングを試していたときに、ためしにアナライズをかけてみた。
そこから急にIDX_1を使うようになって、速度がめちゃめちゃおそくなってしまった。

実行計画を見ると確かにコストは低いみたいだけど、実行すると遅いんだよね。

で、テーブルのアナライズを削除してルールベースに戻したんだが、
同じSQL文を投げてもIDX_2ではなく、IDX_1を使うようになってしまい、
明示的にIDX_2または、RULEのヒントを入れないと、IDX_2を使ってくれない。

一度コストベースで統計情報作ったら、それがのこってしまうことってあるの?

786 名前:785 mailto:sage [2008/07/31(木) 00:07:18 ID:???]
あ、ちなみに9iです。

787 名前:NAME IS NULL mailto:sage [2008/07/31(木) 08:29:21 ID:???]
「いろいろチューニングを試していた」がさっぱりわからないけれども、
統計情報作ったらそうなるだろう。


788 名前:785 mailto:sage [2008/07/31(木) 12:31:11 ID:???]
>>787
SQL文の条件部分をかえてみたり
インデックスの列をかえてみたり…
て感じです。

興味本意でアナライズかけたらこんなことに…
開発機だからまだよかったけど。

さっきDBMS_STATS.DELETE_TABLE_STATSで統計情報を削除してみた。
しかし元にはもどらん(´Д`;)

オラクル再起動とか必要?

789 名前:NAME IS NULL mailto:sage [2008/07/31(木) 17:30:12 ID:???]
10gExpressを使い始めたんだけど、
データをロードする際に列名が日本語なせいか

ORA-20001: create_table エラー: ORA-20001:
Excelのロード実行でのDDLエラー: ORA-00972: 識別子が長すぎます。

っていうエラーが出る。何か回避方法ない?

790 名前:NAME IS NULL mailto:sage [2008/07/31(木) 18:22:32 ID:???]
SJISかEUCで作り直せ
そもそもオラクルで日本語スキーマは地雷



791 名前:NAME IS NULL mailto:sage [2008/07/31(木) 21:09:56 ID:???]
>>788

ルールベースなんて10gではサポート外なんだから極力使わない方がいい。
ヒントなりストアドアウトラインなりを使って実行計画固定しろ。

792 名前:NAME IS NULL mailto:sage [2008/07/31(木) 22:16:35 ID:???]
>>791
9iと書いてあるが…

ちなみにIDX_1とIDX_2はどちらも単一列索引or複合列索引で同じランクになる条件なのか?
あとルールベースに戻したんだが…というはアナライズを削除しただけなのか?
統計情報は完全に全部消えているのか?

793 名前:NAME IS NULL mailto:sage [2008/07/31(木) 22:34:18 ID:???]
TABLEの統計情報は消したけど、INDEXの統計情報は残っちゃってるとか?


794 名前:785 mailto:sage [2008/07/31(木) 23:09:12 ID:???]
>>791
ありがとう。
自分もそう思ってヒントにインデックス指定したら早くなったよ。

>>792
ランク・・・ごめ、勉強不足でわかんない。
明日調べてみます。

ANALYZE TABLE table_name DELETE STATISTICS と
DBMS_STATS.DELETE_TABLE_STATS をやったんだけど、
これだと、アナライズが消えただけの状態なのかな?
2番目のヤツで統計情報も消えたと思ってたんだけど・・・

>>793
え!
テーブルの統計情報消したらインデックスの統計情報消えると思ってたけど違うの?

795 名前:NAME IS NULL mailto:sage [2008/07/31(木) 23:36:13 ID:???]
>>790
>SJISかEUCで作り直せ
なにいってんだ?


796 名前:NAME IS NULL mailto:sage [2008/07/31(木) 23:49:38 ID:???]
>>790
exelデータだからSJISだと思うんだよな。
とりあえず文字数削って試してみたらこんなエラーが

ORA-20001: create_table エラー: ORA-20001: Excelのロード実行でのDDLエラー:
ORA-04089: SYSが所有しているオブジェクトに対してトリガーは作成できません。

わけわかんね。何がまずいんだろ。

oracleやめて日本語使用が容易なSQLサーバに移行したほうが良いのかな。
思いつかないけど。

797 名前:796 mailto:sage [2008/07/31(木) 23:55:48 ID:???]
×exel ○excel
×SQLサーバ ○データベースソフト

798 名前:NAME IS NULL mailto:sage [2008/08/01(金) 00:13:33 ID:???]
>>795,796
DMLじゃなくDDLでエラー出る書いてあるだろ
テーブル名が全角で11文字以上だとそうなる

XEのデータベースはデフォルトでUTF8で作成されるから
SJIS/EUCで作り直せと言ってる

ttp://www.shift-the-oracle.com/guideline/multibye-character-objectname.html
> データベースのキャラクタセットを JA16SJIS (JA16EUC) で作成した場合では日本語は 1 文字が 2(3) バイト
> AL32UTF8 でデータベースを作成すると 1 文字が 3バイトになる。

799 名前:NAME IS NULL [2008/08/01(金) 00:25:56 ID:LuTRPpIR]
>>794

DBMS_STATS.DELETE_TABLE_STATS でテーブルの統計情報を削除時には
cascade_indexes パラメータがデフォルトでtrueなので、INDEXの統計情報は
消えているはずなのですが、念のために聞いてみました。

念のため、user_tables や index_tables でlast_analyzed がNULLになっているかを
確認してください。NULLになっていれば統計情報は消えています。

あと、問題が発生した後にINDEXを作り直している場合には、いったん削除して、
作成順番を逆にしてみてください。


800 名前:NAME IS NULL mailto:sage [2008/08/01(金) 00:43:32 ID:???]
>>792

10gにアップグレードさせられる時が来るだろうから、将来的に廃止される
ルールベースは使わない方が良いという意味。



801 名前:NAME IS NULL mailto:sage [2008/08/01(金) 02:10:31 ID:???]
>>798
UTF8だと文字化け認識されるのに対し、
きちんと認識されるからSJISだと思うのだが。

まあそれはさておき、列名を全て半角英字にして、日本語未使用かつ
10文字以下に押さえたけど>>796のエラーが出る。

まさかデータのインポートで梃子摺るとは思わなかった。難しいね。

802 名前:801=796 mailto:sage [2008/08/01(金) 08:54:55 ID:???]
SYSでログインしっぱなしだったよ。
別ユーザーで入ってロードしたら普通にいけました。
どうもありがとう。

803 名前:NAME IS NULL mailto:sage [2008/08/01(金) 22:11:36 ID:???]
>>800
アップグレードすることになるかどうかは人それぞれ
Oracle7を使いつづけるシチュエーションもある(ここにもいるのではないか)
バージョンアップを前提に命令形ってのもどうかと思う
それに将来的に9iから移行する場合にはルールベースだけの話ですむとも思えない
それよりも現時点での問題を回避したいのではないだろうか?

804 名前:NAME IS NULL mailto:sage [2008/08/02(土) 00:00:06 ID:???]
>SYSでログイン
するなw

805 名前:NAME IS NULL mailto:sage [2008/08/02(土) 08:09:27 ID:???]
>>803

ただでさえバグだらけなのに、サポート外のものを使い続けて何か
あったらどうするつもりなんだ?


806 名前:NAME IS NULL mailto:sage [2008/08/02(土) 08:19:35 ID:???]
>>805
?
サポート契約に入っていれば旧バージョンでもサポートは受けられるだろうし
最新版でもサポート契約してなければサポート外と変わらんと思うが

807 名前:NAME IS NULL mailto:sage [2008/08/02(土) 12:10:39 ID:???]
>>806
製品サポートライフサイクルというモノがあってだな。
Oracle7については、KROWNは引けるが、
新規の問い合わせやバグ対応は一切なされない。

ま、別に使い続けるのは構わないと思うよ。
Oracle7は軽くて良いRDBMSだし。

808 名前:NAME IS NULL mailto:sage [2008/08/02(土) 21:26:31 ID:???]
話が逸らされているな
>>785は9iを使用している環境での質問をしていて
>>791は10gでは対応外だからその機能を使うなというレスなんだろ?
それが筋違いっていう流れではないのか?

まぁ、>>785は諦めたか解決したのか分からないけどしばらく登場していないようだから、
話を広げてもしょうがないとは思うが

809 名前:NAME IS NULL [2008/08/03(日) 01:03:49 ID:nR5uLz7c]
いまさらなんですが、10gのクライアントとデータベースってどう違うんですか?
どんな時にクライアントのほうをインストールして、
どんな時にデータベースのほうをインストールするのでしょうか?

810 名前:NAME IS NULL mailto:sage [2008/08/03(日) 01:15:16 ID:???]
>>806

>>807でも指摘されてる様に、旧バージョンは何かあっても新たに
バグがファイルされる事は無い。
同様にサポート外の機能を使って何かあったとしても、新たな
パッチをリリースして貰う事は出来ない。
サポートされるバージョン、及び機能だったらちゃんとバグもファイル
されるし、パッチもリリースされる。

将来的にサポート外の機能を使うよりは、将来を見据えて現行
バージョンからパフォーマンスチューニングを行うのも、ひとつの
手と言いたいんだろ。



811 名前:NAME IS NULL mailto:sage [2008/08/03(日) 01:17:50 ID:???]
>>809

全く違う。
例えば君はクライアントが使うPCにメールサーバーやアパッチとかを
インストールしたりするのかい?
クライアント側に入れるのは、メールを送受信したりするソフトやブラ
ウザーを入れる訳だろ?
それと同じ事。

812 名前:NAME IS NULL [2008/08/03(日) 01:17:57 ID:MC5bENIF]
>>809

データベースをインストールするのは、インストールした環境で
Oracle インスタンスを起動する場合。


813 名前:NAME IS NULL mailto:sage [2008/08/03(日) 01:30:10 ID:???]
>>811-812
ありがとうございます。データベースについてはわかったのですが、
クライアントはどのような時にインストールするのでしょうか?

814 名前:NAME IS NULL mailto:sage [2008/08/03(日) 01:59:00 ID:???]
インストールしたいときにインストールするのさ

815 名前:NAME IS NULL mailto:sage [2008/08/03(日) 03:53:41 ID:???]
データベースを作成したい時にデータベースをインストール。

クライアントはデータベースをインストールしたサーバーなりに、
データを見に行きたい時のための接続するために必要であるから、
データを見に行きたいときにインストール。
って、自分は解釈してたんだが、違う?
10gのクライアントは、コンフィグレーションアシスタントってハイってたっけ?

816 名前:NAME IS NULL mailto:sage [2008/08/03(日) 04:00:54 ID:???]
>>813

アプリケーションによっては、Oracl Clientを利用してDBに接続しに
いったりするのがある。
まあ、Thin ClientでもOkだったり、ODBCやJDBC接続経由のものも
あったりするけどね。

817 名前:NAME IS NULL [2008/08/04(月) 21:44:39 ID:fuOG4llV]
ライセンスについて教えてください。
Named User PlusライセンスのUserとは、何をさすのですか?

実際に使用する人なのでしょうか?
同時使用する人数なのでしょうか?
あくまでデータベースのユーザ数(アカウント数)なのでしょうか?

例えば
コンビニで、データベース上に1ユーザ分のアカウントを作り、そのアカウントをJAVAで書いたレジ2台で使用。
アルバイト20人が3人ずつシフトを組んでそのレジを使っていた場合は何ユーザ必要なのでしょうか???

818 名前:NAME IS NULL mailto:sage [2008/08/04(月) 22:02:13 ID:???]
たぶん、5名分必要。
そのケースなら、ネット2名分でいいわけだが、最低5名からしか買えないから。

11gから変わっているかもしれないし、そういうのは営業に確認しる。

819 名前:NAME IS NULL mailto:sage [2008/08/04(月) 22:13:15 ID:???]
>>818
ありがとうございます!

820 名前:NAME IS NULL mailto:sage [2008/08/04(月) 23:10:16 ID:???]
インデックスのブロックダンプを見たいのですが、うまくいきません。
間違ってますかね?

1.ツリーダンプとる(抜粋)
branch: 0x100084c 16779340 (0: nrow: 103, level: 1)
leaf: 0x100084d 16779341 (-1: nrow: 241 rrow: 241)

2.リーフブロックをとる
SQL> alter session set events 'immediate trace name blockdump level 16779341';
ERROR:
ORA-02194: event specification syntax error 231 (minor error 286) near
'BLOCKDUMP'

バージョンは 10g Express Edition Release 10.2.0.1.0 です。



821 名前:NAME IS NULL mailto:sage [2008/08/04(月) 23:23:36 ID:???]
820の質問ですが、インデックスのリーフブロック内の空き領域
(PCTFREEで指定したところ)にキーが追加される場合(リーフ
分割が起こらなかったとして)、そのブロック内のキーはソート
されるのかどうか、目で見てみたいと思ったのがきっかけです。

-----
AAA
BBB
CCC
空き
空き
-----

上のブロックにAAAを追加した場合、

-----
AAA
AAA
BBB
CCC
空き
-----

こんな風にブロック内部でソートされる?

長くなってすみません。


822 名前:NAME IS NULL mailto:sage [2008/08/05(火) 02:53:34 ID:???]
>>817
20人分じゃね?

823 名前:NAME IS NULL mailto:sage [2008/08/05(火) 05:56:02 ID:???]
>>820

そのコマンドはOracle 7のやつだな。
8i以降は以下になる。

まずDBAからファイル番号を求める。
SQL> SELECT dbms_utility.data_block_address_file(116779341) "FILE#" FROM dual;

んでもって、DBAからブロック番号を求める。
SQL> variable BLOCKNUMBER NUMBER
SQL> execute :BLOCKNUMBER := dbms_utility.data_block_address_block(16779341);
SQL> print BLOCKNUMBER

上記の情報から、以下を実行。
ALTER SYSTEM DUMP DATAFILE <ファイル番号> BLOCK <ブロック番号>;

824 名前:NAME IS NULL mailto:sage [2008/08/05(火) 06:55:32 ID:???]
>>818
まちがってるぞ〜。
Named User Plusは利用者数分必要だから、
この場合は20Named User Plusライセンス必要になる。

ので、>>822でOK。


825 名前:NAME IS NULL [2008/08/05(火) 09:13:15 ID:zIFuaY1j]
OracleのviewをMysqlで直接リンクさせたいんだが可能?

826 名前:NAME IS NULL mailto:sage [2008/08/05(火) 09:21:17 ID:???]
>>825
MySQL側にOCI経由でOracleに問い合わせかけて、
戻り値をあたかもMySQL内のテーブルから取得したように
戻すようなラッパーがあれば可能。

Oracleから他DBならオプションがあるんだがな。


827 名前:NAME IS NULL mailto:sage [2008/08/05(火) 21:20:09 ID:???]
ぼったくりやな

828 名前:NAME IS NULL mailto:sage [2008/08/05(火) 22:38:17 ID:???]
>>823
ありがとさん!見えました。

829 名前:NAME IS NULL mailto:sage [2008/08/05(火) 22:47:44 ID:???]
>>817
まさかここで確認とって
それを理由に購入数を決めようとしているとは思えないので
ライセンス数クイズ(って何だ?w)か何かだとは思うが
その使い方の場合はシフトが重ならない前提で
ライセンス数としては3人でOKである可能性が高い
(但し3ライセンスでは買えないので結果的には>>818と同じ5ライセンス購入)
正解はOracle Directへの電話でどーぞ

830 名前:785 mailto:sage [2008/08/05(火) 23:05:55 ID:???]
すみません、報告が遅くなりまして。

原因がわかりました。
えー・・・お恥ずかしい話なのですが結論からいいますと、

 最 初 か ら ル ー ル ベ ー ス じ ゃ な か っ た

ようです(汗

・・・といいますのも、前回の書き込みの時には関係ないと思っていたので書かなかったのですが、
実は2つのテーブル(A-売り上げ情報、B-店マスタ)をwhere条件でつなげていて

 select col1,col2,・・・ from tableA,tableB
 where 〜
 and tableA.colX = tableB.colY

という風になっています。
自分がアナライズをかけたのはtableAだけで、こちらしか見ていなかったのですが
自分がいじる前からtableBの統計情報が存在していたようです。
(誰がやったのか、インポート時?とかは全く不明)

それで、自分がアナライズををかけたことで、実行計画がかわってしまったようです。

そのうえ、当然tableAの統計情報を消しても、tableBの情報が残っているのでルールベースにはならない。
もとの実行計画にも戻らない。

なんでだー!・・・と自分が混乱していた。というわけです。
最初のほうは手探りでいろいろやっていたため、tableBの統計情報が存在することにすら気づいていなかったんですよね。

まぁそういうわけで、ルールベースに戻すことはできました。
あと、インデックスはヒントで使うようにしました。

大変お騒がせしました。
答えてくれたみんなありがとう!



831 名前:NAME IS NULL mailto:sage [2008/08/05(火) 23:27:11 ID:???]
>>830
調査乙&報告乙
原因が分かってよかったね
よく分からないまま別の理由を持ってきて
対応そのものを変えるってのもおかしいからね

832 名前:NAME IS NULL mailto:sage [2008/08/06(水) 23:23:40 ID:???]
ノートPCでLinuxに11gを入れて試してるんだけど、
普通に使えてると思ってネットワークから外してノートPC単独でデモをやったら、すごく遅くなった。 

再起動でdbstartやったら体感的に1-2分かかった気がする。 普通は5秒もかかってないと思う。
select も 10-15秒くらいかかった気がする。普通は1秒もかからないと思う。画面表示のほうが遅いくらい。

固定IPだし、tnsname.oraとかもIP直接書いてるし、なんでだろ。

電池駆動でもなかったのでネットワークぐらいしか違いが無いのだけど、
そういう事例ってあるの? 127.0.0.1じゃないと遅くなるとか・・・?


833 名前:NAME IS NULL mailto:sage [2008/08/07(木) 00:01:33 ID:???]
ネットワークからはずした状態でipconfigやっても固定IPアドレスは残ってる?

834 名前:NAME IS NULL mailto:sage [2008/08/08(金) 10:00:51 ID:???]
ユーザー hoge が、テーブル A, B を持っています。
別のユーザー hage から、テーブル hoge.A は参照できるのですが、
hoge.B は参照できません (ORA-00942)。
権限の問題だと思うのですが、テーブル単位で参照権限を与えるには
どうすればよいでしょうか?

835 名前:NAME IS NULL mailto:sage [2008/08/08(金) 10:27:14 ID:???]
grant select B on hage; で解決しました。

836 名前:NAME IS NULL [2008/08/09(土) 04:59:36 ID:Rz28Uwkk]
Oracle Data Provider for .NETって.NETC#2008には対応してませんよね?
みなさん何を使われて接続されているのでしょうか?

837 名前:NAME IS NULL mailto:sage [2008/08/09(土) 05:33:44 ID:???]
あぁ11gならできるのか・・
どうも失礼しました。

838 名前:NAME IS NULL [2008/08/09(土) 19:56:40 ID:3BmvVFUi]
Oracle 10g XEって商用利用できるの?

839 名前:NAME IS NULL mailto:sage [2008/08/09(土) 20:16:10 ID:???]
リモートマシンからEXP実行中、まるでサボタージュするかのように処理が停滞してしまいます。
10分ほど放置したり、別セッションで接続しにいったりするとまた動き出すのですが原因がよく解りません。

サーバー機上でEXPした場合はこんな事にはなりません。
EXP以外でも処理に時間がかかるプログラムだと停滞することがあります。
このような症状に心当たりは無いでしょうか?

バージョンは8i Standard、
サーバーはWin2000Server、
クライアントはWindowsXP、2000両方で試しましたが同じです。

840 名前:NAME IS NULL mailto:sage [2008/08/09(土) 20:35:58 ID:???]
>>838
無問題


>>839
サポートに訊け



841 名前:838 mailto:sage [2008/08/09(土) 21:04:42 ID:???]
>>840
どうもありがとー

842 名前:NAME IS NULL mailto:sage [2008/08/10(日) 18:59:52 ID:???]
オラクルがSQLサーバーより優秀な点を教えて
オラクル株で損しているので嫁を説得したいです

843 名前:NAME IS NULL mailto:sage [2008/08/10(日) 19:18:28 ID:???]
必ずしも技術的に優れた製品が売れるとは限らない。


844 名前:NAME IS NULL mailto:sage [2008/08/10(日) 19:27:23 ID:???]
ちょ それじゃあ 技術的に劣ってますって言ってるようなものじゃないですか・・・
含み損見られると困るんです(郵便局に配当取り入って郵便局員に同情されるくらい損してます)
ここが素晴らしいってだから売らないって言い訳できるのをどうかひとつ!

845 名前:NAME IS NULL mailto:sage [2008/08/10(日) 19:41:10 ID:???]
>>844
今の状況なら長期塩漬けか、とっとと損切りするかどっちかだろ。


846 名前:NAME IS NULL mailto:sage [2008/08/10(日) 19:45:24 ID:???]
>>844
君はオラクルの株価推移知らないからそう言うことが・・・

847 名前:NAME IS NULL mailto:sage [2008/08/10(日) 19:46:05 ID:???]
>>845 アンカーミス

848 名前:NAME IS NULL mailto:sage [2008/08/10(日) 19:58:03 ID:???]
>>846
知ってたところで意味無いだろ?
要は「これから」なんだから。

信じてるなら塩漬け、見切るなら損切り。


849 名前:NAME IS NULL mailto:sage [2008/08/12(火) 17:26:40 ID:???]
>>844
何時買ったのかしらんけど、20%程度含み損があるだけでしょ?

チャート的には綺麗な下落トレンドで、今はバンドの上限に来てるね。
売りで入って、以前の最安値更新しないで上昇しはじめたらナンピンする位かな。

アメリカが死んで、
他国も不況に陥りつつあるから元の価格には戻らないだろう。

850 名前:849 mailto:sage [2008/08/12(火) 17:33:21 ID:???]
多分また下がるから売って、
最安値更新しないで反転して上昇したらドテンしろってこと。
買うのはバンドの上限突破したとき。

まー株やるならテクニカルを勉強してみてくれ。



851 名前:NAME IS NULL mailto:sage [2008/08/12(火) 23:33:17 ID:???]
武装ピックアップですね。わかります。

852 名前:NAME IS NULL [2008/08/17(日) 12:33:34 ID:wFCwE3fm]
夜中になると不定期にora-12528ってエラーが出てるみたいなんですけど
なんでしょうか?新規接続をブロックするエラーとのことですが…
oracle10gを使っていますが、データの登録や参照はできますし、
バックアップソフトにもエラーは出てません。
ora-12528が全くでない日も3回ぐらい連続で出ている日もあります。

853 名前:NAME IS NULL mailto:sage [2008/08/17(日) 14:28:16 ID:???]
oracle 10g xeをインストールしてみたんですが、
functionとかprocedureってどうやって実行するんでしょうか?

いつもSIオブジェクトブラウザで実行ボタン押してるので・・・
call?execute?どちらも認識されません

854 名前:NAME IS NULL mailto:sage [2008/08/18(月) 08:04:57 ID:???]
>>852

プラットフォームは何よ?
夜中にRMAN使ったコールドバックアップとかしてたり
とかしてない?

855 名前:NAME IS NULL [2008/08/18(月) 19:38:58 ID:u8+oPdxp]
質問です、お願いします。

select
  a.name,
  b.name1
from
  table1 a,
  (
    select distinct
      key1,
      name1
    from
      table2
    where
      param_date between from_date and to_date and
      param_flag = flag
    order by
      key1
  ) b
where
  a.key1 = b.key1(+)
;

↑の様な場合に、サブクエリの結果との結合は必ず全検索(?)になってしまうんでしょうか?
Oracle10gです。
オラクルが上手い事最適化してくれないでしょうか…。2分探索とか…。

856 名前:NAME IS NULL mailto:sage [2008/08/18(月) 21:20:59 ID:???]
実際には実行計画を見てみなきゃ分からんが、これを最適化するのは難しいだろうな。
まぁ、最適じゃなくてもある程度の最適化はされるはず。nested loop joinじゃなくて
hash joinになるとか。

多くのDBMSではこのクエリはこう書き換えれば最適化しやすくなる。

・相関サブクエリにする
・distinctを使わない
・outer joinを使わない


857 名前:NAME IS NULL [2008/08/18(月) 23:00:06 ID:u8+oPdxp]
ありがとうございました。

そうですかあ…。

もっとパフォーマンスに関する拡張構文みたいなのって出ないんですかね。
    select distinct
      key1,
      name1
    from
      table2
    where
      param_date between from_date and to_date and
      param_flag = flag
    order by
      key1
↑の結果はレコード件数が少なくてkey1でユニークになるので、
「メモリ上に常駐させてソートして二分探索して」
って指示出来たら非常に嬉しいんだけど。

858 名前:857 mailto:sage [2008/08/18(月) 23:02:49 ID:???]
スレ汚しすみませんが、言い忘れてました。
今の職場では私は非常に下っ端で、PL/SQL禁止令とか出てるもんでして…。

859 名前:NAME IS NULL mailto:sage [2008/08/19(火) 01:17:13 ID:???]
だから>>856の通りに書き直してみなよ

860 名前:NAME IS NULL mailto:sage [2008/08/19(火) 03:23:26 ID:???]
DB管理者からの意見だとプログラマレベルでヒントを多用されると管理上非常に困る。



861 名前:NAME IS NULL mailto:sage [2008/08/19(火) 06:57:37 ID:???]
どういう理由で?

862 名前:NAME IS NULL mailto:sage [2008/08/19(火) 13:08:55 ID:???]
上級DBAが低級プログラマに意見するなら良いけど
低級DBAが上級プログラマに意見するのはイクないな

でも最近じゃ上級プログラマなんていないか・・・

863 名前:NAME IS NULL mailto:sage [2008/08/19(火) 14:28:41 ID:???]
索引も見直した。統計情報も更新した。でもプランが変わらないなぜだ・・・
糞なヒントで縛ってあったっていうのは経験があるな。

最初は >>856 のようなアプローチ
次にDBAに索引やデータ構造の相談をして
最後の手段でヒントという手順を踏んでくれたら問題ないと思うよ。



864 名前:NAME IS NULL mailto:sage [2008/08/19(火) 21:51:47 ID:???]
索引を勝手に見直すDBAなんて有り得えねぇ。
索引の変更には、関連する全PGの再レビューか検証が必要だろ。

865 名前:NAME IS NULL mailto:sage [2008/08/19(火) 22:10:51 ID:???]
だよな。
「DB管理者が」困る理由ってのがよくわからん。

866 名前:NAME IS NULL mailto:sage [2008/08/20(水) 00:06:51 ID:???]
役割分担の違いじゃないか。
DBAは単なるオペレータのこともあるし上級SEやSAに準じるポジションのこともある。
索引などはサーバーのリソースにかかわってくるから
特にカットオーバー後は運用側の専権事項のことも多い。
システムの主導権を開発メンテ部隊がもってるところと、
運用部隊がもってるところで変わってくるだろ。

867 名前:NAME IS NULL mailto:sage [2008/08/20(水) 20:18:07 ID:???]
DBA兼SEだったとしても、「マ諸君、索引見直したからちゃんと使えよ」で済むだろ。
ヒントもSQLそのものも、責任の所在でいえば違いはない。
まぁ、糞SQLと同程度には糞ヒントは困りものといえるかも知れんが。

868 名前:NAME IS NULL mailto:sage [2008/08/21(木) 00:01:43 ID:???]
ファイングレイン監査について教えて欲しいんですが、
黒本に「監査条件が無効の場合、監査対象のオブジェクトにアクセスすると
エラーが発生する」と書いてあります。

これは、無効な audit_condition を指定した場合、
対象オブジェクトにユーザが監査対象カラム(audit_column)にDMLを
実行した際に、そのDMLがエラーになるという意味なんでしょうか。


869 名前:NAME IS NULL mailto:sage [2008/08/22(金) 19:55:36 ID:???]
Oracle 10g 64bit が Windows Server 2008 で動作保証されているかどうか知りたいです。

システム要件を探しているのですが、見つけることができません。
申し訳ありません、ご存じの方、教えて頂けないでしょうか?

どうして、トップ頁にデカデカとリンクしないのでしょうか?
ほんとに・・・

870 名前:NAME IS NULL [2008/08/22(金) 20:26:58 ID:359qtKYD]
>>869

すぐ探せるだろが。
www.oracle.com/technology/support/metalink/index.html

保証はされてない。計画中だそうな。

Operating System: Microsoft Windows 2008 (AMD64/EM64T) Version 2008
Oracle Database - Enterprise Edition Version 10gR2 64-bit
N/A Version N/A
Status: Projected

Product Version Note:
None available for this product.

Certification Note:

Projected for CY2008




871 名前:NAME IS NULL mailto:sage [2008/08/23(土) 11:41:06 ID:???]
USのサイトを統合してから使いにくくなったな
大量の技術資料も以前のURLに残ってるけどサイトからは到達不可能になったし・・・

872 名前:NAME IS NULL mailto:sage [2008/08/23(土) 13:35:25 ID:???]
VLMを使用してなにか、こまった事とかありました?
素直にwindows 64bit版を使うべきでしょうか

873 名前:NAME IS NULL mailto:sage [2008/08/23(土) 14:20:26 ID:???]
Oracle Instant Client ですが、OTN-J には 10g しかなく本家にしか 11g がないようです。
自分は OTN-J の会員なんですが、本家にはログオンできずダウンロードできません。

どうしようもないんでしょうか。
(できれば単体版が欲しい)

874 名前:NAME IS NULL mailto:sage [2008/08/23(土) 14:52:30 ID:???]
>>873
この機会に向こうにアカウント作ればいい

875 名前:NAME IS NULL mailto:sage [2008/08/23(土) 16:45:07 ID:???]
OTN-J から貰った PIN# で通るんですか?

876 名前:NAME IS NULL mailto:sage [2008/08/23(土) 19:51:05 ID:???]
>>875

だからー

アカウント作れと >>874 が言ってるだろうが。
お前はアホか。


877 名前:NAME IS NULL mailto:sage [2008/08/24(日) 18:04:12 ID:???]
やれやれ…

878 名前:NAME IS NULL mailto:sage [2008/08/24(日) 23:31:26 ID:???]
    ___
  _l≡_、_ |_  (
   (≡,_ノ` )   )
   <__ヽyゝヽy━┛
   /_l:__|
   ´ lL lL

879 名前:edge mailto:fujitai55@contoso.com [2008/08/25(月) 12:24:48 ID:???]
オラクルのチケットを売りたいんですが、
どこで買い取りをして頂けるでしょうか?


880 名前:NAME IS NULL mailto:sage [2008/08/25(月) 12:45:54 ID:???]
うってはいけません。



881 名前:NAME IS NULL mailto:sage [2008/08/25(月) 21:17:54 ID:???]
チケットあるよ〜、チケットあるよ〜。
余ったチケット買うよ〜、買うよ〜。


882 名前:NAME IS NULL [2008/08/26(火) 00:03:03 ID:6R2m9/Oc]
プラチナって難しいのかな?

883 名前:NAME IS NULL mailto:sage [2008/08/26(火) 08:16:20 ID:???]
難しいよー


884 名前:NAME IS NULL mailto:sage [2008/08/26(火) 08:31:52 ID:???]
>>882
難易度云々よりコストが掛かりすぎるのが問題。

885 名前:NAME IS NULL mailto:sage [2008/08/26(火) 14:21:17 ID:???]
プラチナ悪行三昧

886 名前:NAME IS NULL mailto:sage [2008/08/26(火) 15:07:01 ID:???]
ODP.NET は IIS x64 に対応してないの?
ODP.NET を使った ASP.NET アプリが IIS x64 上で動かねぇ

887 名前:NAME IS NULL mailto:sage [2008/08/26(火) 17:59:01 ID:???]
>>886
サポートに訊け


888 名前:NAME IS NULL mailto:sage [2008/08/26(火) 21:14:17 ID:???]
>>884
宣伝効果もろもろを含めたら安いもんだと思いますよ
そんなことより勉強にかけた時間はプライスレス

889 名前:NAME IS NULL mailto:sage [2008/08/26(火) 21:40:53 ID:???]
プラチナは諸刃の剣
使えないプラチナの代打依頼は良くある話

手下がいて口だけ出して手は出さないような場合や
組織的なバックアップ体制があるなら相乗効果があるけど
フリーや派遣、中小が持つと痛め目見る確率の方が高いね

890 名前:NAME IS NULL mailto:sage [2008/08/27(水) 08:25:53 ID:???]
バグ対策パッチを貰うのにサポート契約必要って、どんだけぇ〜て気分だよ最近は
既に衰退開始してるよな

新規案件は全て SQL Server で提案してる。
客がどうしても Oracle を希望すれば従いはするけどね



891 名前:NAME IS NULL mailto:sage [2008/08/27(水) 10:28:00 ID:???]
>>890
パッチの無償提供があっても保守契約してないところに誰も適用しにいかないだろ
下手にエンドユーザーにやらせても動かなくなるとかあるから面倒が増えるだけ
それにサポート契約はSIerにとって良いスケープゴートになるって事でもある

ま、あんたの場合新しい機能に手を出したら時限付き地雷を踏んでいて大目玉くらった口だろう

892 名前:NAME IS NULL mailto:sage [2008/08/27(水) 11:00:41 ID:???]
>>891
ORA-600でたらしく、
「サポート入ってないんだけど何とかならないの?」
と泣きつかれたことはあるなぁ。
「無理!」って回答したけどwww


893 名前:NAME IS NULL mailto:sage [2008/08/27(水) 21:23:46 ID:???]
854です。遅くなりました。回答dです。
>>855
それが担当の人が失踪してるんでわからないんです。自分もオラクルなんて触ったこと事ないし。
平日はバックアップ取ってるとは聞いてるんですがどういった方式かはわからないです。
原因があるとしたらバックアップなんでしょうかね?

894 名前:NAME IS NULL [2008/08/27(水) 22:54:14 ID:ZF/Q06Py]
object type が TABLE PARTITION か INDEX PARTITION となっているオブジェクトを消したいのですが、
どうすればいいでしょうか?

開発で、自分のスキーマが与えられていて、これをクリアしたいです。
普段は DBA の人にやってもらうのですが、夏休みでお休みです。
system のユーザ名、パスワードがわかっていれば drop user hoge cascade; とやればよいですが、
自分の権限しかありません。

(
SELECT OBJECT_NAME, OBJECT_TYPE, 'drop '||OBJECT_TYPE||' '||OBJECT_NAME||' ' ||'cascade constraints;'
FROM USER_OBJECTS
WHERE OBJECT_TYPE not in('PROCEDURE','PACKAGE','SEQUENCE','INDEX','PACKAGE BODY')
)
union all
(
SELECT OBJECT_NAME, OBJECT_TYPE, 'drop '||OBJECT_TYPE||' '||OBJECT_NAME||';'
FROM USER_OBJECTS
WHERE OBJECT_TYPE in('PROCEDURE','PACKAGE','SEQUENCE','INDEX') and OBJECT_TYPE!='PACKAGE BODY'
)

自分の権限でこのような SQL を実行すると drop *** が出力されるので、
これを sql*plus にコピペして消したのですが、以下のようなオブジェクトだけ、

drop INDEX PARTITION BIN$VWkukiiqlgzgQLAKFEsF8w==$0 cascade constraints;
drop TABLE PARTITION BIN$VWkukiirlgzgQLAKFEsF8w==$0 cascade constraints;

実行すると、ORA-00933: SQLコマンドが正しく終了されていません。と表示されて削除できません。
INDEX PARTITION と TABLE PARTITION を消せれば、
select * from user_objects; したときにすべてからの状態にできるのですが、どうしたらいいでしょうか?

895 名前:NAME IS NULL mailto:sage [2008/08/27(水) 22:55:11 ID:???]
書きそびれました。
Oracle 10g R2 です。
よろしくお願いします。

896 名前:NAME IS NULL mailto:sage [2008/08/27(水) 22:59:22 ID:???]
DBA夏休みが終わるのを待った方がいい
ここでのやりとりに時間が掛かっているうちにDBAの夏休み明けってオチだろうし
で、休み明けDBAに「勝手にそんなことすな!」って怒られたりして… orz

897 名前:NAME IS NULL mailto:sage [2008/08/27(水) 23:03:59 ID:???]
>>894
そのオブジェクトはdrop済みのオブジェクトだから
purge user_recyclebinすれば終わり

898 名前:894 mailto:sage [2008/08/27(水) 23:15:11 ID:???]
レスどうもありがとうございます。

purge user_recyclebin;
を実行したあと、select * from user_objects; をやったら空になりました!
どうもありがとうございました。

INDEX PARTITION、TABLE PARTITION は初めて見たのですが、これは
PostgreSQL や MySQL にある、ひとつの大きなテーブルを分割させる機能だったんですね。

削除の正しい方法については↓を見つけました。
otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02/partiti.htm#466621

>>896
確かにおっしゃるとおりなのですが、何かあったら怖いので、ユーザ権限で行いました。
というか開発が緊迫しているのに DBA は休んでしまうので、休みの前日に一応確認は取りました。
(自分も火が吹いているプロジェクトにヘルプで放り込まれてまだ1週間なのですが、大急ぎで直さないといけないので・・・)


899 名前:NAME IS NULL mailto:sage [2008/08/28(木) 00:25:07 ID:???]
緊縛という割には余裕がありそうだな。

900 名前:NAME IS NULL mailto:sage [2008/08/28(木) 21:17:27 ID:???]
縛られてはいないだろう
緊縛されていたら開発できないじゃん



901 名前:NAME IS NULL mailto:sage [2008/08/29(金) 10:38:54 ID:???]
緊縛ハァハァ

902 名前:NAME IS NULL mailto:sage [2008/08/29(金) 11:43:35 ID:???]
同じマシンに現存するインスタンスと
全く同じ構成の別インスタンスを作成するのに
exp、impではなく、テーブルスペースの
コピー(バックアップから戻すイメージ)
操作で行う方法をご教示下さい。

SQLServerだと、バックアップから別の
データベースに復元するという
ことで可能ですが、同じことがしたいです。

ちなみにデータベースコンフィグレーションで
複製元と同一構成でインスタンスを作成し、
コピー元のテーブルスペースファイル・ログファイル等を
複製先のファイル群に上書きしたところ、
起動自体は出来ましたが、ログインが不可能でした。
エラー12528が出て、「該当するインスタンスは全て
接続をブロックしています。」
というエラーがでます。

環境はWin+10gです

903 名前:NAME IS NULL mailto:sage [2008/08/29(金) 12:55:36 ID:???]
>>902
「トランスポータブル表領域」でググれ

904 名前:NAME IS NULL mailto:sage [2008/08/29(金) 13:24:32 ID:???]
>>903
どうもありがとうございます。
調べてみます。

905 名前:NAME IS NULL mailto:sage [2008/08/29(金) 19:18:38 ID:???]
コールドバックアップを採って、復元先にコピーして、
SIDサービスを作って起動させるだけ。

906 名前:NAME IS NULL mailto:sage [2008/08/29(金) 23:35:08 ID:???]
>>902

RMANを使ったduplication。

1. RMANを使って現存DBのバックアップを作成。
2. oradim使ってコピー先のインスタンス(サービス)を作成
3. 現存DBのinit.oraなどを元に、コピー先のinit.oraを作成(当然SIDは違う)
4. orapwd使ってコピー先インスタンス用にパスワードファイルを作成
c:\> orapwd file=%ORACLE_HOME%\dbs\orapw<コピー先SID名> password=xxxx entries=10
5. コピー先インスタンスをnomountモードにて起動
6. rmanを起動して現存DBとコピー先インスタンス(Auxiliary)の両方に接続
(ちゃんとtnsnames.oraに両方の接続先書いておけよ)
c:\> rman
rman> connect target sys/xxxxx@hoge
rman> connect catalog xxx/xxx@boge (もしcatalog DBを使っていれば)
rman> connect auxiliary /
7. リストア先のパスをset new nameにて指定しなおして、duplicationコマンドを
 発行。

rman> run {
allocate channel ch1 type disk;
allocate auxiliary channel ch2 type disk;
set newname for datafile 1 to 'd:\hoge\boge\system01.dbf';
set newname for datafile 2 to 'd:\hoge\boge\sysaux01.dbf';
set newname for datafile 3 to 'd:\hoge\boge\undo01.dbf';
set newname for datafile 4 to 'd:\hoge\boge\users01.dbf';
duplicate target database to コピー先SID名
group 1 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 2 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 3 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
}

datafile番号は現存DBのselect file#,name from v$datafile;に対応しているから
適当に変える様に。


907 名前:NAME IS NULL mailto:sage [2008/08/29(金) 23:38:50 ID:???]
>>906
redologの再作成の所で間違えていた(・A・)

正しくは
group 1 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 2 ('d:\hoge\boge\redolog02.dbf') size 300m reuse,
group 3 ('d:\hoge\boge\redolog031.dbf') size 300m reuse,

それとrman使うとtempはコピーされないから、コピー先のDBが
上がったらcreate temporary tablespace文打って、一時表領域を
追加しておくように。


908 名前:NAME IS NULL mailto:sage [2008/08/29(金) 23:45:47 ID:???]
>>905

それだとコントロールファイルに登録されているDBとサービス名が
違うからDBは上がらない。
controlファイルの再作成してDB名を変更する必要がある。

CREATE CONTROLFILE set DATABASE "コピー先DB名" RESETLOGS....

909 名前:NAME IS NULL mailto:sage [2008/08/30(土) 00:25:42 ID:???]
違うマシンだから、DBNAME変える必要ないじゃんw

910 名前:NAME IS NULL mailto:sage [2008/08/30(土) 00:35:14 ID:???]
>>909

日本語、読めますか?

>>902
>同じマシンに現存するインスタンスと
>全く同じ構成の別インスタンスを作成するのに




911 名前:NAME IS NULL mailto:sage [2008/08/30(土) 02:32:47 ID:???]
>>906 >>907

なんかまた間違えて、最後にセミコロン入れるの忘れているし・・・orz

group 1 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 2 ('d:\hoge\boge\redolog02.dbf') size 300m reuse,
group 3 ('d:\hoge\boge\redolog03.dbf') size 300m reuse;

逝ってくるわ・・・。

912 名前:NAME IS NULL mailto:sage [2008/08/30(土) 05:51:34 ID:???]
rman duplicationは慣れると結構使える。
Raw Device上のRAC => ファイルシステム上のSingle Instance
Raw DeviceやASM上のRAC => クラスターファイルシステム上のRAC
と言った様に自在にクローニングが出来る。

後はset until time句とかと組み合わせれば、過去の特定の時点
までDBのリカバリとか出来るから、ちょっとしたフラッシュバック
DB代わりになったりする。

913 名前:NAME IS NULL [2008/08/31(日) 03:10:25 ID:m1/SMdi2]
>> 696
edin.no-ip.com/content/100-cpu-usage-overhead-running-em-dbconsole-11g-debian-sid

914 名前:NAME IS NULL [2008/08/31(日) 03:28:03 ID:m1/SMdi2]
>> 913
こっちの方がいいか。
forums.oracle.com/forums/thread.jspa?messageID=2614209

915 名前:NAME IS NULL mailto:sage [2008/09/01(月) 23:25:44 ID:???]
instant client 入れて cse で接続しようと思っているのですが、
ociw32.dll がらみのエラーがでて接続できません。
instant client のディレクトリにパスは通しているだけじゃ、
無理なんでしょうか。

916 名前:NAME IS NULL [2008/09/03(水) 20:57:21 ID:boZafWCi]
みんな助けて。

oemにつなげたいんだけど、何でだろう。つながらない

oracle 11g enterprise edition
osはxp pro sp3

url 127.0.0.1:1158/em

なんか、「「」」見たいな変な文字が表示される。
virtual pc で環境構築、接続してるんだけど、昨日は確か繋げることできた。

何でだろう。サービスは起動してるよ。

917 名前:NAME IS NULL [2008/09/03(水) 21:00:09 ID:boZafWCi]
みんな助けて。

oemにつなげたいんだけど、何でだろう。つながらない

oracle 11g enterprise edition
osはxp pro sp3

url 127.0.0.1:1158/em

なんか、「「」」見たいな変な文字が表示される。
virtual pc で環境構築、接続してるんだけど、昨日は確か繋げることできた。

何でだろう。サービスは起動してるよ。

918 名前:NAME IS NULL [2008/09/03(水) 21:00:18 ID:boZafWCi]
みんな助けて。

oemにつなげたいんだけど、何でだろう。つながらない

oracle 11g enterprise edition
osはxp pro sp3

url 127.0.0.1:1158/em

なんか、「「」」見たいな変な文字が表示される。
virtual pc で環境構築、接続してるんだけど、昨日は確か繋げることできた。

何でだろう。サービスは起動してるよ。

919 名前:NAME IS NULL [2008/09/03(水) 21:18:22 ID:EOhEi18I]
11gからのセキュリティ機能を使用しているのなら、https でつながると思うが。

920 名前:NAME IS NULL [2008/09/03(水) 21:27:21 ID:boZafWCi]
>>919
お前wwwwwwwwww
好きだwwwwwwwww
そこか!!!!

ちょっと自己紹介してくれよ><




921 名前:NAME IS NULL [2008/09/03(水) 21:28:18 ID:boZafWCi]
つながったよありがとうw
本当にありがとう><

922 名前:NAME IS NULL mailto:sage [2008/09/04(木) 14:04:03 ID:???]
データベースのコピーで質問した者です。
返事が遅れてすみませんでした。
>>903-904
ご回答ありがとうございました。

調べておお!と思い、
実際にトランスポータブル表領域で
別のインスタンスにコピーして追加しました。
テーブルはコピーOKでしたが、
それ以外のオブジェクト(ストアド・ファンクション等)
がコピーされていませんでした。

表領域をOSからコピーして、
コピー先のインスタンスでユーザ作成して
exp、impでメタデータをコピーしました。

よく見ると、expで出力したメタデータが
テーブルしかはき出されていませんでした。
exp、impは
exp 'sys/パスワード@コピー元sid as SYSDBA'
transport_tablespace=y
file=データファイル.dmp
tablespaces=(コピーの表領域1,コピーの表領域2)

imp 'sys/パスワード@コピー先sid as SYSDBA'
transport_tablespace=y
file=データファイル.dmp
datafiles=(表領域ファイル1,表領域ファイル2)

です。
ストアド・ファンクションはexpのユーザ指定でないと
出力されないのでしょうか?

rmanの方法も今悪戦苦闘中です。

923 名前:NAME IS NULL mailto:sage [2008/09/04(木) 14:21:42 ID:???]
>>922
トランスポータブル表領域の制限事項として、

「SYSTEM表領域またはユーザーSYSが所有するオブジェクトはトランスポートできません。
これに該当するオブジェクトは、PL/SQL、Javaクラス、コールアウト、ビュー、シノニム、
ユーザー、権限、ディメンション、ディレクトリ、順序などです。」
とあるが、心当たりはないか?


924 名前:NAME IS NULL mailto:sage [2008/09/04(木) 14:46:42 ID:???]
>>923
即レスありがとうございます。
>これに該当するオブジェクトは、PL/SQL
これですね

調べてみると
ストアドやファンクションって
system表領域に作成されるんですね。
ということは、もう一度expでrows=nにして
ユーザ単位でimpしなければ
いけませんね。

925 名前:NAME IS NULL mailto:sage [2008/09/04(木) 19:39:22 ID:???]
>>924
だって、やりたかったのは表領域単位の移行であって、
SYSTEM表領域に格納されたスキーマオブジェクトを含めての移行じゃなかっただろ?


926 名前:NAME IS NULL mailto:sage [2008/09/04(木) 22:21:49 ID:???]
いや、ただの複製だろ。
であれば、
>>905+908でいいわけだ。

927 名前:NAME IS NULL mailto:sage [2008/09/04(木) 22:48:09 ID:???]
>>922

DBを止めていいんだったら、905+908が楽。
全てをオンラインで出来るのがRMANの強み。

気をつける点としては、RMANのバックアップ先を
ディスク上にしておいて、クローニング先からもそれを
見れる様にしておかないとならない事かな。
後はset until time句を使う場合には、そのuntil句で
指定した時間よりも後になるソースDBのアーカイブ
ログもRMANによってバックアップされていなければ
ならない。

例えばset until time "to_date('Sep 04 2008 20:10:00','Mon DD YYYY HH24:MI:SS')";
と指定していた場合には、RMANのバックアップピースに
Sep 04 2008 20:10:00以降のソースDBのアーカイブログが
無ければならない。

928 名前:NAME IS NULL mailto:sage [2008/09/05(金) 08:17:37 ID:???]
複製でよけりゃ、exp/impで良いような…

929 名前:NAME IS NULL mailto:sage [2008/09/05(金) 10:41:05 ID:???]
>>928

exp/impはsysのオブジェクトが転送されねぇべ。

930 名前:NAME IS NULL mailto:sage [2008/09/05(金) 20:25:00 ID:???]
>>929
やったこと無いけど exp_full_databaseとimp_full_databaseロールを持ってれば
いけるんじゃないか?



931 名前:NAME IS NULL mailto:sage [2008/09/05(金) 22:34:22 ID:???]
>>930

だから、exp/imp及びdatapumpではsys関連のオブジェクト・権限は
移行されない仕様になってんだってば。
マニュアル嫁。


932 名前:930 mailto:sage [2008/09/06(土) 04:07:28 ID:???]
>>931
そんな事マニュアルのどこら辺に書いてある?
expdpじゃなくてオリジナルのexp/impでヨロ

USER単位でしか使わないから、俺の知ってるだけの範囲なら
> 全体エクスポートでは、スキーマSYS が所有する**トリガー**はエクスポートされません

> **システム・オブジェクト**を全データベース・エクスポート・ファイルからインポートする場
合は、IMP_FULL_DATABASE ロールを使用可能にする必要があります。エクスポート・
ファイルが全体エクスポートの場合にパラメータFULL を指定すると、次のシステム・オブ
ジェクトがインポート対象に含まれます。
・・・・・
> 他のユーザーに付与されている権限をインポートするには、インポートを開始したユーザー
がそのオブジェクトの所有者であるか、With Grant Option 付きのオブジェクト権限を所
有している必要があります。

あたりなんだが、本当にシステムオブジェクトをインポートできないのか?

933 名前:NAME IS NULL [2008/09/06(土) 16:07:28 ID:SPQMBvJG]
シノニムってどういうときに使うの?
使いどころがわかりません

934 名前:NAME IS NULL mailto:sage [2008/09/06(土) 20:28:05 ID:???]
>>933
別スキーマの表をスキーマ修飾せずに使用するときとか、
DBLINK先の表をDBLINKの修飾せずに使用するときとか。


935 名前:NAME IS NULL mailto:sage [2008/09/06(土) 20:45:55 ID:???]
>>933
ちゃんとググル先生に聞いたか?
> シノニムとは、ある スキーマオブジェクト、非スキーマオブジェクト へのエイリアス(別名)である。
> 主にセキュリティや別スキーマ(リモート含む)オブジェクトに対して透過的にアクセスするために使用される。
> プライベート・シノニム
> プライベート・シノニムとは、ある特定ユーザーだけに所有された別名である。
> シノニムを使用する基本的かつ有効で代表的な利用方法のひとつに、表のオーナ(管理者)とユーザー(閲覧者)を切り分ける、
> または、複数ユーザーでスキーマを共有するという使用方法がある。


936 名前:NAME IS NULL mailto:sage [2008/09/07(日) 00:08:24 ID:???]
Windows NT4.0にOracle 9i ClientをインストールしてOracle 8のサーバーに
接続しようと試みましたが、インストール終了後にSQL*PLUSとSQL WorkSheetと
Enterprise Managerを立ち上げようとすると強制終了してしまいます。

ランタイムでインストール→カスタムでOracle Windows Interfacesを追加でインストール
しNet Configration Assistantで接続テストを行った時は正常に接続できてますが、
上記の3つが落ちてしまう原因は何なのでしょうか?

937 名前:NAME IS NULL mailto:sage [2008/09/07(日) 06:08:11 ID:???]
ゆっくりサービス残業していってね!

938 名前:NAME IS NULL mailto:sage [2008/09/07(日) 10:28:06 ID:???]
立ち上げようとすると強制終了
接続テストを行った時は正常に接続

939 名前:NAME IS NULL mailto:sage [2008/09/07(日) 16:23:02 ID:???]
PDOで使ってる人っているのかね・・・

940 名前:NAME IS NULL mailto:sage [2008/09/09(火) 22:13:53 ID:???]
オラクル10gでバックアップモード設定をオンラインバックアップにしてバックアップを取っている途中で
データベースのアクセスって出来るんでしょうか?エラーが出たりするんでしょうか?
データベースに繋げている開発環境のシステム自体は24H動いたままにしているので
バックアップモードの設定はどうしようかと悩んでいます。
通常バックアップ時はシステムのサービスも止めてオフラインバックアップに設定して運営しておくべきなんでしょうか?



941 名前:NAME IS NULL mailto:sage [2008/09/09(火) 22:55:07 ID:???]
>>940

オンラインバックアップが意味している様に、当然DBにはアクセス
出来るぞ。
データベースファイルをオンラインバックアップモードにした時点で
それ以降のブロックの変更に「バックアップ中」というフラグが立つ
から、通常よりもRedoの量が増える。
まあ、あとバックアップが走っていれば、I/Oは影響受けるが、それ
以外は普通と同じ様に使える。


942 名前:NAME IS NULL mailto:sage [2008/09/11(木) 00:50:18 ID:???]
>>941
即レス感謝。参考になりました

943 名前:NAME IS NULL [2008/09/11(木) 05:29:59 ID:h9BT3j3I]
11g評価版のオラクルクライアントforWINDOWSのsqlplusってGUIがDOSなんだけど、
製品版は今までの白いCLIなの?
まぁ、どっちも使いづらいけどさ。

それと11g評価版で作成したテーブルに「add column not null default 0」でカラム追加して
そのテーブルをエクスポートしたんだけど、インポート時に「not null制約違反でデータ移行失敗」
これって既知バグ?
製品版ではないよね?こんなん恐ろしくて顧客に提案できねぇよ・・・

944 名前:NAME IS NULL mailto:sage [2008/09/11(木) 22:16:00 ID:???]
白いCLIって何だ?
まぁ使いづらいならSQL Developerを…
って結局 SQL*Plus に帰ってくるかもw

945 名前:NAME IS NULL mailto:sage [2008/09/11(木) 22:33:22 ID:???]
>>943
エクスポートってexp(オリジナルのエクスポート)の事か?

946 名前:NAME IS NULL mailto:sage [2008/09/11(木) 22:38:54 ID:???]
>>943

もしかして、「白いCLI」っていうのは、昔Windows版にのみ付属していた
GUI版のSQL*Plusのことだろうか?

それなら10gから廃止されたと思うんだけど。


947 名前:NAME IS NULL mailto:sage [2008/09/11(木) 23:01:23 ID:???]
「GUIがDOS」ってのも謎だw

948 名前:NAME IS NULL mailto:sage [2008/09/11(木) 23:46:37 ID:???]
コマンドプロンプト
それは完全無欠のGUI

949 名前:NAME IS NULL mailto:sage [2008/09/12(金) 01:11:31 ID:???]
>>943
それって11g以前ではおきないのか?
あとづけの列に0が入ってるんか?

950 名前:NAME IS NULL mailto:sage [2008/09/12(金) 01:27:44 ID:???]
>>949
11gって、そこに新しい機能が追加されたんで
昔のオリジナルのexp/impだと怪しそうな雰囲気



951 名前:NAME IS NULL mailto:sage [2008/09/13(土) 09:48:19 ID:???]
GUIの"G"

952 名前:NAME IS NULL mailto:sage [2008/09/14(日) 14:50:46 ID:???]
ログのバックアップフォルダの容量制限を200GBにしていたんだけど
作業中にログバックアップのサービスを落としたままにして
容量一杯になってしまいDBに接続できないという
情けない事態になってしまいました。
これってOracle落としてフォルダの中を掃除するだけじゃだめなんでしょうか?


953 名前:NAME IS NULL mailto:sage [2008/09/14(日) 17:32:31 ID:???]
アーカイブREDOログ用の領域のこと?
それともUSER_DUMP_DESTとかの、プロセスが吐くトレースファイルの領域?
どちらにせよ、ディレクトリに空きができればOracleはまた動き出すとおもうけど。

954 名前:NAME IS NULL mailto:sage [2008/09/14(日) 18:07:04 ID:???]
>>952
エラー詳細が分からんけど、
取り合えず、>>953がいうように、
アーカイブログ用のディスクに空き作ればいいんじゃね?
直近のログをいくつか残した上で、
古いログから削除すればいいと思われ。

で、正常起動したら、いったんコールドバックアップ取得しておけば、
今までのアーカイブログは不要になるから。


955 名前:NAME IS NULL mailto:sage [2008/09/14(日) 23:33:51 ID:???]
>>953-954
コメントありがとうございます。
トレースファイルの領域だったと思います。
メーカーの人間がリスナーを止めてもoracleがファイルがどこに
何のファイルが有るか管理してるからリスナーを止めてファイル
を消しても駄目なんですよ、確かーとか言っていたので...
(DB周りの設計はoracle技術者がしていてその人は詳しくないようでしたが)
当方Oracle7位の頃の知識しかないのでそんなものかとその場
は思ったんですが、ここで聞いてみれば真偽がはっきりするかと
思ったもので。



956 名前:NAME IS NULL mailto:sage [2008/09/14(日) 23:57:18 ID:???]
>>955
ttp://www.shift-the-oracle.com/oerrs/ora-00257.html

957 名前:oracleどころかunix素人 mailto:sage [2008/09/21(日) 23:37:25 ID:???]
solaris10にoracle10gを入れてみました。

emctl.plの中で
ps -p $PID -o cmd --cols 1000 |grep DEMDROOT
というコマンドを使用していてemctl start dbconsoleをすると
psの使い方がおかしいと怒られます。
これを
ps -p $PID -o args | grep DEMDROOT
で書き換えたのですがこれで同じ動きをしてくれますか?
そもそも最初のpsコマンドが通るpsはどこのpsなんでしょう。

もしスレ違いでしたら誘導おながいします。


958 名前:NAME IS NULL mailto:sage [2008/09/22(月) 00:16:30 ID:???]
常識的に、Solarisスレだろw

そのpsは、環境変数いじってなければ、/usr/bin/psだろう。
10にはgnuツールがはじめから入っているから、そっちを使う方が確実だろうな。
/usr/sfw/bin/ps -p $PID -o cmd --cols 1000 |grep DEMDROOT

以上、適当。

959 名前:943 mailto:sage [2008/09/22(月) 23:37:36 ID:???]
久々に来たら結構レスついたのね・・・、放置しててごめんなさい。
なので長文レスになります。

>>946
え〜?あの使いづらくも愛らしいsql/plusはなくなったの???
あれはGUIっていうのか?コマンドラインを入力するための画面だから
GUIというべきかCLIというべきか迷ったらDOSのことGUIとか書いちゃって不統一になっちゃったのw

まぁなくなっても困らないけどねw
一番使いやすかったのは8についていたsql/worksheetだったなぁ・・・
9iになったらとたんに劣化しちゃったねw


>>945
エキスポートは昔ながらのオリジナルのexpのこと(8まではexp80とかだったけど)
テーブル作成後にファイルレイアウト変更でカラム追加するときに、
ついでに、そのカラムにデフォルト値を設定してやることができるんだけど、
それが「add column not null default expr」オプション(確かこんなんだった)
これって10gにはついていた機能だけど、
つまり、追加したカラムに値は入っているはずなのに、expすると中身が空で出力される模様(11g評価版でのこと)。

>>949
10以前では不明っす。

つまりはexpdpしなさいってことかしらね?
新しいコマンドのスイッチ覚えるのめんどくさいなぁ・・・

960 名前:NAME IS NULL [2008/09/23(火) 00:43:48 ID:WKl6pFyh]
表領域の拡張(自動)上限サイズを無制限って具体的に言うとどれくらいのサイズまでOKなんでしょうか。

ハードディスク一杯まで表領域を拡張することが可能ってことなんでしょうか?
ログなども出力してるから、仮にそうだとしても空き容量全部が使えるとは思ってないのですが。



961 名前:NAME IS NULL mailto:sage [2008/09/23(火) 02:21:52 ID:???]
データファイルの最大サイズはブロックサイズ*4Mブロックなので、8KBブロックなら32GB。
1つの表領域は1022個のデータファイルを持てるので、8KBブロックなら32GB*1K=32TBだね。

962 名前:NAME IS NULL mailto:sage [2008/09/23(火) 06:34:29 ID:???]
10g 以降ならBIGFILE表領域で実質無制限も可能。

CREATE {SMALLFILE|BIGFILE} TABLESPACE ...
(デフォルトはデータベース作成時に設定される)

BIGFILE表領域の欠点は「データファイルを一つ」しか持てない事。
Diskが一杯になったら終わり。

963 名前: [2008/09/23(火) 10:49:40 ID:3Nf8blkz]
他人のスレを編集するやり方分かる方いますか


スレ違いであればすみません

964 名前:NAME IS NULL mailto:sage [2008/09/23(火) 14:56:05 ID:???]
>>963
日本語でOK

965 名前:NAME IS NULL mailto:sage [2008/09/23(火) 22:19:51 ID:???]
>>961-962
ありがとう!拡張しようと思えば凄い量になるんですね。
参考になりました

966 名前:NAME IS NULL [2008/09/27(土) 22:09:25 ID:iV73fY6A]
Oracle10.2で、マテビューについて質問です。
2分くらいかかるマテビューの完全リフレッシュを、RMDB_MVIEW.REFRESH()でやってるのですが、
関数を抜けてくる時間とEnterprise Managerの最終リフレッシュ時間がずれます。
EMの最終リフレッシュ時間が、REFRESH関数を抜けた30秒後くらいになります。
REFRESH関数を抜けた=リフレッシュ完了とならないのでしょうか?


967 名前:NAME IS NULL mailto:sage [2008/09/27(土) 23:28:11 ID:???]
むりなんじゃね?
というか、普通、いつ時点のデータか(つまり始まった時間)を表示してくれる方が、都合いいと思うけど?

968 名前:NAME IS NULL [2008/09/30(火) 01:51:44 ID:7RG/MF7o]
表領域にある各テーブルの使用サイズをみるSQLってありますか?探し方が悪いのか見つからなかった

そんなに大きいデータは入れてないと思ったんだけど
毎日2・3MB増えてるとのことで、どこのテーブルにそんなにデータが入れられてるのかなーと

969 名前:NAME IS NULL mailto:sage [2008/09/30(火) 03:37:13 ID:???]
>>968
「使用サイズ」ってのが微妙な表現だが、とりあえず USER_EXTENTS かな。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<269KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef