Oracle 総合 Session2

このエントリーをはてなブックマークに追加
1NAME IS NULL
Oracle Database の総合スレッドです。

■公式
ttp://www.oracle.co.jp/

■前スレ
Oracle 総合
http://pc5.2ch.net/test/read.cgi/db/1056940159/

関連>>2-5くらい
2NAME IS NULL:04/08/03 13:48 ID:???
■トライアル版のダウンロード
ttp://otn.oracle.co.jp/software/index.html

■Oracleに関する質問はここで捜してから汁
ttp://support.oracle.co.jp/ind_faq.html

■Oracle Technology Network - 掲示板
ttp://otn.oracle.co.jp/forum/

■関連スレっぽい
【レア技術者】 ORACLE DEVELOPER R6i 【狂え!】
http://pc5.2ch.net/test/read.cgi/db/1077801021/

【Oracle】 オラクルマスター 【Master】
http://pc5.2ch.net/test/read.cgi/db/1059136831/
3NAME IS NULL:04/08/03 13:49 ID:???
質問テンプレっぽいもの

■どの様な問題が起きて、どんな結果を得たいのか?
■フロントエンド、バックエンドどちらの問題か?
■フロントエンドのプラットフォームは何か?
■バックエンドのプラットフォームは何か?
■フロントエンドはどの様なドライバ/ソフトウェアを使用してアクセスしているか?
■Oracleのバージョンは?(バージョンと一言で言っても、フロントエンドなのかバックエンドなのか色々ある)
4NAME IS NULL:04/08/03 13:50 ID:???
久しぶりに来たら落ちてたので立ててみますた
5NAME IS NULL:04/08/03 13:58 ID:???
■関連スレ追加
オラクルマスターsilverの資格試験について
http://pc5.2ch.net/test/read.cgi/db/1061746086/

Oracle? DB2? Symfoware? HiRDB? SQL鯖?
http://pc5.2ch.net/test/read.cgi/db/1057059592/

Oracleがベンチマーク結果を隠したがる理由
http://pc5.2ch.net/test/read.cgi/db/1057759566/
6NAME IS NULL:04/08/04 02:50 ID:???
>>1
"シッシヨン2” になってるぞ! ヽ(`д´)ノゴルァ!!
7NAME IS NULL:04/08/04 14:12 ID:???

edit コマンド実行時に以下のメッセージがでます。
原因はなんでしょうか?


SP2-0107: 保存対象がありません。
87:04/08/04 14:14 ID:???
SQL PLUS で実行です。
9NAME IS NULL:04/08/04 22:47 ID:???
>>7
バッファーに何もない状態で、editをするとそうなります。
SELECT文等実行後にeditやってみれ
10NAME IS NULL:04/08/05 04:30 ID:???
>>8

define _EDITOR="メモ帳以外のエディター.exe"
11>10:04/08/05 04:50 ID:???
>>8
undef &1;
ho if not exist &1..sql type nul> &1..sql
ho start &1..sql
12NAME IS NULL:04/08/05 20:12 ID:+9BAYhW1
保全Age
137:04/08/06 09:08 ID:???
ありがとうございますm(_)m
14NAME IS NULL:04/08/06 21:22 ID:k2K50GA0
Oracle9i Database Release 2 (9.2.0) for Windows トライアル版
って、どれ位使えるん?
30日限定と書いてないけど、無制限ってことは無いよね
PCの時刻を2ヶ月進めても動いたから、実稼働時間なのかな?
15NAME IS NULL:04/08/06 21:41 ID:HCYBKbTf
助けて下さい。

現在Oracle 816にてSQLによる更新作業を行なっているんですが、エラーとなって進めません。

Table A:
  ID
  DUMMY

Table B:
  ID
  DATA

Table C:
  ID
  DATA

AのIDがマスタでB/CのIDはリンク?です。

update A set DUMMY = ( select DATA from B where A.ID = B.ID and B.DATA IS NOT NULL );
update A set DUMMY = ( select DATA from C where A.ID = C.ID and C.DATA IS NOT NULL );

としてB/CそれぞれのDATAをAのDUMMYに集約しようとしているのですが、select以下に問題が
あるようでA.DUMMYが毎回すべて更新されてしまいます。2行めのupdateを実行すると1行目で
更新した値をnullで上書きしてしまうのです。試しに

select DATA from B where A.ID = B.ID and B.DATA IS NOT NULL;

とすると "where A.ID" の .ID のところで「列名が無効です」というエラーになってしまいます。
何がいけないのでしょうか?ちなみに

select B.DATA from A, B where ...;

とすると正しく値を返してくれるのですが、この内容を上記のupdate文のカッコ内に書いて実行すると
「単一副問合せにより2つ以上の行が返されます。」というエラーになり、うまくいきません。

出先での作業で何も資料がないため、2チャンネルの識者の皆様におすがりするしかありません。
どなたかご教授くださいませ。
16NAME IS NULL:04/08/06 22:38 ID:Ez7LxW2l
>>14

無制限に使える。
紳士協定に基づいて30日たったら使用をやめてくださいね、ていうのが
ボラクルからの言い分だそうだ。
17NAME IS NULL:04/08/06 22:41 ID:Ez7LxW2l
>>15

そりゃあupdate文でwhere句を指定していなければ当然全部の列が更新
されちまうわな。
1814:04/08/06 22:51 ID:???
>>16

目的を持たないままインスコしちゃったから
不安だったのよ
サンクス
19NAME IS NULL:04/08/06 22:52 ID:???
> 毎回すべて更新されてしまいます。

UPDATE文にWHERE句が無いから。

> 更新した値をnullで上書きしてしまうのです。

福問い合わせが0行を返すから。

> 「列名が無効です」というエラーになってしまいます。

そのSELECT文を単体実行すると、FROM句にA表がないから。

> 「単一副問合せにより2つ以上の行が返されます。」というエラーになり

エラーそのままの意味。
2019:04/08/06 22:55 ID:???
あっ、福って。
21NAME IS NULL:04/08/07 02:12 ID:???
アーカイブログモードで動いてるデータベースに
インポートユーティリティでデータのインポートをしたら
REDOログに書き込み>アーカイブログ吐きまくり
ということになるのでしょうか。

帰宅前にスクリプト書いて実行させてきたのだけれど、
明日モード切り替えてやり直しかいな・・・

誰かおしえてください・・・
22NAME IS NULL:04/08/07 04:11 ID:???
>>21
impはINSERTしているようなもんなので、相応のredoが発生します。
2315:04/08/07 09:17 ID:???
>>17, 19

返答ありがとうございました。確かにupdateにwhereがないと当然ですね。
深夜にかけての作業でテンパっていてすっかりドツボにはまってました。

仰るとおりwhere入れてselect文を見直したら正しく動きました。

とても助かりました。本当にありがとうございました。

2421:04/08/07 13:25 ID:???
>>22
やはりそうなんですね。
確認すると、しっかりログが吐き出されていました。

レスを見てから覚悟して出社しましたが、幸いディスクの容量内に収まりました。

ありがとうございました。
25NAME IS NULL:04/08/09 01:19 ID:c9CZwpXr
保守Age
26NAME IS NULL:04/08/09 06:49 ID:48U9oRIz
10gと9iってどっちが使いやすい?
27ナメ:04/08/09 14:20 ID:qvC73v7s

DB:Oracle8.1.7.4
OS:Solaris8

コールドバックアップ(OSファイルレベル)を使用して、DBのリストアを計画しています。

この場合、コールドバックアップは日曜日に取得したとして
月〜水曜日のアーカイブファイルを、コールドバックアップに適用するには
どうすればよいでしょう?
(DBから見て、未来のアーカイブを適用できるかどうか。当然制御ファイルも古いままです)

 startup mount
 recover database until '2004-xx-xx:xx:xx:xx' using backup controlfile
alter database open resetlogs;

で、合ってますか?
(この場合のbackup controlfileって?)

28NAME IS NULL:04/08/09 15:03 ID:P38kap9W
>>27

コールドバックアップを利用してPoint-in-timeリカバリーを計画
している場合は、普通はデータファイル部分を全部戻しさえすれば
制御ファイルとリドログファイルをバックアップから戻す必要は無い。
よって手順としては・・・・

1.データファイルのリストア(制御ファイルとリドログは戻さない)
2.sqlplus> startup mout;
3.sqlplus> recover database until '2004-xx-xx:xx:xx:xx';
4.sqlplus> alter database open resetlogs;

となる。
29NAME IS NULL:04/08/09 15:05 ID:P38kap9W
>>26

新機能を使わなければどっちも大差無い。
ただ10gではOEMなどのGUI関係がかなり充実している。
もっともその分メモリーも馬鹿食いだが・・・。
30ナメ:04/08/09 17:10 ID:qvC73v7s
>>28

ありがとうございます。

制御ファイル・redoもリストアしてしまったら、不可能なのでしょうか?
(やはり制御ファイルのロールフォワードは不可能?)
31NAME IS NULL:04/08/09 18:28 ID:ss9qs0gY
>>30

そちらが最初に書き込んでいる通り「using backup controlfile」オプションを
指定して出来ない事は無いと思うが、極たまにpoit-in-timeで正しく止まらずに
無限にArchivelogを要求してくる事がある。
その時には「recover database until cancel using backup controlfile:」で
Archivelogを充てていって、極め打ちで「alter database open reseglogs;」で
あげるしかない。

基本的に逝って制御ファイル・リドログファイルをリストアするというのは、
DB全体をコールドをとった時点にまで戻したい時のみに行うべきであって、
poit-in-timeリカバリ時には行うべきではない。

それとリストアを行う時の基本は、まずリカバリーを行う前に、その時点での
コールドバックアップを必ず取得すること。
そうする事によって例えリストアに失敗しても、もう一回その時点からやり直せる。
実作業において、なんどこの最初のバックアップに救われたことか・・・・。
32NAME IS NULL:04/08/09 22:36 ID:JB+/H05C
OTNの掲示板ってどう?
最近、ますます役立たずな掲示板になってねぇ?
常連にキモイ奴大杉。
33NAME IS NULL:04/08/09 23:21 ID:???
役立たずなサポート部隊の巣箱になってる
34NAME IS NULL:04/08/09 23:57 ID:???
>>33

そうなのか?
漏れがボラクルにいた時は、かなり優秀な人達がサポート部隊にいたもんだが・・・。
昇給がストップして皆モラルが下がっちまったのかな・・・。
35NAME IS NULL:04/08/10 00:31 ID:???
>>31
> 実作業において、なんどこの最初のバックアップに救われたことか・・・・。

そんなに何度も本番リカバリ?

>>34
最近は... 以下略。
36NAME IS NULL:04/08/10 00:48 ID:???
>>35

Oracle 7の時代から運用してるからね〜。
結構リカバリ経験はあるよ(w
ただし、その中でも本番DBを「open resetlogs」オプションであげた事は「3回」だけだけど。
その内の一回はつい半年ぐらい前の事だが。
ちなみに本番DBを「open resetlogs」であげる時には、いつも心臓がドキドキするものだよ(w
3735:04/08/10 01:14 ID:???
>>36
私もドキドキですめば良かったのですが、
R8.0.5でresetlogsのORA-00600を喰らったことが2回あります。
なんで?そういう星の元に生まれているのでしょーか。

そんなこんなで、ドキドキしなくなってしまった今日のワタクシ。
38NAME IS NULL:04/08/10 01:57 ID:TX6ft7Uj
>>37

8.0.5は何かと「open resetlogs」で問題が起きていたみたいだね。
取り合えず俺はまだリカバリでは一回も失敗した事がないので
ある意味ラッキーなのかもね。
最近はRMANが何でもやってくれる様になったから、便利な世の中に
なったもんだよ。
39NAME IS NULL:04/08/10 06:57 ID:76mXH8tZ
>>33
1日中、掲示板に張り付いて即レスしているのって
サポートの奴らなのか。
そのわりには嘘回答が大杉だな。
40NAME IS NULL:04/08/10 08:22 ID:Cph1syVs
VB6.0+ORACLEのCSシステムがあるんだ。
oo4oを使います。
ターゲットマシンにORACLEクライアントのセットアップは済。
接続テストも正常。


VB6.0のソースをコンパイル

セットアップを作製

ターゲット(win2000sp4)にセットアップ

そこでソフトを起動すると・・・
実行時エラー'429'
ActiveXコンポーネントはオブジェクトを作成できません。

と来やがる。なぜ?どうすればいいの?

開発PCでは無問題なのに。
41NAME IS NULL:04/08/10 16:19 ID:???
>>40

クライアントのVer.は何?
とりあえず対策として・・・。

1. %Oracle_Home%\bin以下に以下のファイルがあるかどうかを確認。
OIP8.DLL
OIP8.TLB
ORAANSI.DLL
ORADC.OCX

2. %Oracle_Home%\dbs以下に以下のファイルがあるかどうかを確認。
OIPlang.MSB

3. DOSプロンプトにて以下を実行。
> cd %Oracle_Home%\bin
> regsvr32 oip8.dll
42NAME IS NULL:04/08/10 19:08 ID:Cph1syVs
>>41
今日は終日スルーされるかと思いました、レスありがとうございます。
クライアトはver.9.2.0.1.0です。

ORADC.OCX
これ以外は開発機内にもありませんでした。

今まで開発環境ごとターゲットにインスコしてたので気にしたことがありませんでしたが、みなさんどうされてるのでしょうか?不思議です。
43NAME IS NULL:04/08/10 22:06 ID:???
>>42

あ〜、すまんね、漏れは日本にいないからレスがほとんどそっちの夕方から
明け方になってしまう。
>>41に書いたのはクライアントが8の時の対処方法です。

とりあえず手元に環境がないので見つけたきた情報を書きます。

1. ファイルの検索をかけて以下の二つが存在するかチェックする。
Ole2.reg
Oraipsrv.reg

2.上記のファイルの中で「c:\orant」がデフォルトのインストールパスとして
  ハードコードされてしまっているので、こいつをそっちの環境に合わせて
パスを変えるなりする。

3.上記の中に書かれているレジストリ情報をregeitなりを使って探して
まず消してから、「Ole2.reg」「Oraipsrv.reg」を再インポートする。

これで動けばいいんだが、手っ取り早い解決方法は、実はクライアントを
「c:\orant」にインストールすることなのではないかと思い始めている。
44NAME IS NULL:04/08/10 23:59 ID:???
>>33,39
金をださんやつにサポートがわざわざ答えるはずないだろ
45NAME IS NULL:04/08/11 17:54 ID:qnDDQf9u

皆さん、Oracleのデータブロックの使用について教えてください。

ある2Gのデータがデータベース上から消されることになりました。
そこで消された後、その消された2Gの領域がどの程度再利用されるかが
気になっております。(ディスクサイズの検討が必要なので)

そこで、Oracleのブロックの利用方法について教えて頂けないでしょうか?
おそらくこの2Gの領域はまるごと再利用の対象にはならないとは思いますが・・

通常の空き領域と、削除されて空いた領域とはどちらが優先的に
利用されるのでしょうか?

初心者の質問で申し訳ありません・・・
46NAME IS NULL:04/08/11 18:19 ID:???
>>45

とりあえず以下の情報に関して教えてくれ。

1. OracleのVer.
2. O/S
3. セグメントの管理方法 (フリーリスト管理なのか? それとも自動セグメント管理なのか?)

特に、フリーリストで空き領域を管理しているのか、もしくはASSM(自動セグメント管理)で
管理しているかで動きが変わる。
4745:04/08/11 18:42 ID:qnDDQf9u
ありがとうございます。

1.Oracle8.1.7.4
2.Solaris8
3.8.1.7なので、freelist管理だと思います。
48NAME IS NULL:04/08/11 18:56 ID:???
>>44
釣られすぎ(w
4945:04/08/11 19:11 ID:qnDDQf9u
追加です。

例えば、取引先Aのデータが全てdeleteされました。(約2G)
delete後、どのくらいのデータブロックが再利用可能かを
事前に算出したいということです。

もちろん、たくさんのデータブロックにデータが散らばっていて
データブロック毎にPCTUSEDがあってその値をきらないと
再利用の対象とはならないのは知ってます。
用は、SQLかなんかで再利用できるデータブロック数(サイズ)
を算出できないかなと思いまして..
50NAME IS NULL:04/08/11 20:36 ID:???
>>49

そんなんだったら難しく考えないで「dba_free_space」で十分なんでねぇの?

col tablespace_name a25 word_wrapped
col mb_free format a15
col fragments format 999999
col biggest_bit format a15

select ts.tablespace_name, to_char(sum(nvl(fs.bytes,0))/1048576, '99,999,990.99')
as MB_FREE,count(*) as FRAGMENTS, to_char(max(nvl(fs.bytes,0))/1048576, '99,999,990.99')
as BIGGEST_BIT
from dba_free_space fs, dba_tablespaces ts
where fs.tablespace_name(+) = ts.tablespace_name
group by ts.tablespace_name;
51NAME IS NULL:04/08/11 22:21 ID:???
>>32
とくにushitakiだな。ウザすぎ。
52NAME IS NULL:04/08/12 08:09 ID:???
中国の人?
53NAME IS NULL:04/08/12 09:27 ID:???
俺は51じゃないがヤツには毒が溜まってきてるんで吐かせてもらう。


自分に文句付けた相手を別スレッド立ててまで晒し上げ
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?COMMUNITYID=otn-360197&BBSID=1&NO=4239&VIEW=9
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-901234&bbsid=1&no=15992&view=9

他人のコメントをレベルが低いと失礼なことを言った上で自演じゃ無いかとまでいう。
しかもそれを指摘されると、「一人芝居じゃないかといっただけで自作自演といったわけではないですよ」
と正気を疑う発言をする。
しかもどう考えても非難されるべきはushitakiなのに別のベテランはヤツを非難した方を責めてたりする。
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-489965&bbsid=1&no=52392&view=9
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?COMMUNITYID=otn-360197&BBSID=1&NO=6106&VIEW=9

あとこういうアホなこともやってやがったな・・・
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-901234&bbsid=1&no=13811&view=8


 現在やってるのは「ご教授下さい」とか「データを所得」とか
間違った言葉使った相手に対して執拗に用法の間違いを責めるという厨房行為。

 他人に対しては言葉尻の一つまで粘着するくせに自分に対してはやたら甘い。技術が高いことを鼻に掛けてる。
「OTNは上下関係が無い対等なもの同士の集まり」とか言ってるくせに自分がちょっとでも非難されると猛攻撃。
2ちゃんだったら総叩きに合って追い出されるような香具師。


 もう2年前から見続けてきたけど近頃はこういうのばっかで、技術的に有益な情報が少なすぎるから今日からもう見るの止めようと思う。
10g使うならともかく9i以前ならわざわざ質問しなくても過去ログ検索すれば情報得られるようになってるし。
5445:04/08/12 10:36 ID:7/MD2O4d
>>50

SQLありがとうございます。
FRAGMENTS と、BIGGEST_BIT はそれぞれ何を示すのでしょうか?

要するに、データを削除した後にここにでてきた値が今使用できる値
と考えてよいのですよね?
(データが削除されたブロックであれば、PCTUSEDを切って再利用
できる状態になったものも含まれる)


55NAME IS NULL:04/08/12 13:43 ID:sFQeQqK+
どうでもいいけど重すぎ。

あと使い勝手悪すぎ。
なるべく使いにくくしてサポートで稼ごうと。。
56NAME IS NULL:04/08/12 17:12 ID:???
>>53

何処の世界にも変な椰子がいるって事ですな。
まぁ、2chにいる漏れが言うのも何だけどw
ここではマターリと逝きましょうやヽ(´-`)ノ
57NAME IS NULL:04/08/12 17:53 ID:???
>>54

「FRAGMENTS」は文字通り空きブロック同士が隣接していなくって
フラグメンテーションを起こしてしまっている状態のものです。
つまり空き領域が隣接してい訳なので、そこには2ブロック以上に
またがって割り当てなければならないものは作成出来ないという
意味になります。

「BIGGEST_BIT」は端的に言うと、現在におけるその表領域内で
割り当てる事が出来る最大のチャンクサイズと言った感じですかね。
新しいセグメントをその表領域内に作成する時に、Initialエクステント
等を大きくとりたいと思った時は、この値を参考にすると良いと言った
感じでしょうか。
5845:04/08/12 18:19 ID:7/MD2O4d
>>57

ありがとうございました。
とても参考になりました。
59NAME IS NULL:04/08/13 00:29 ID:???
もれは寧ろポイント乞食がたくさん居ついてるのがイヤだな〜 <OTN
見る価値ないレス増えすぎで重いんじゃないのか。
60NAME IS NULL:04/08/13 02:43 ID:???
ushitakiって人、めんどくさいね。

http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-360197&bbsid=1&no=6331&view=9
http://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-360197&bbsid=1&no=6199&view=9

-- ushitaki --
OTN から「教授して」と言う言葉を根絶しよう!「教示」のつもり?
ここは対等での情報交流の場所。会議室検索や Tips も活用しよう!
61NAME IS NULL:04/08/14 15:01 ID:FDkwRBXV
保全age
62NAME IS NULL:04/08/16 05:48 ID:JCYQGqJr
oracle8i + VB6.0 で開発しています。
BBテーブルのレコード(70万件)をAAテーブルにコピーし、同一にしたいです。
毎回 AAテーブルのデータを削除して、もう一度insert するのは大変なので、
前回コピーした差分だけを更新コピーしたいです。
下記のSQLでできるとは思いますが、Oracleのトリガーを使ったほうが安定するのでは
ないかと思うんですが、トリガの使い方をネットで検索しているんですがどうもあまり掲載されて
ないようです。
よければ皆様お教えください

INSERT INTO AA(hincd,hinnm) SELECT hincd,hinnm
FROM BB WHERE EXISTS (SELECT hincd,hinnm FROM AA WHERE AA.hincd = BB.hincd)
63NAME IS NULL:04/08/16 06:42 ID:???
スナップショットにすれば?
64NAME IS NULL:04/08/16 13:17 ID:???
なかやまage
65NAME IS NULL:04/08/16 16:21 ID:Ti3ObFbY
>>64

上がってないがな。
66NAME IS NULL:04/08/16 23:14 ID:YrLSzzlY
なかやまage
67NAME IS NULL:04/08/17 23:54 ID:v1hw9IIs
保守Age
68NAME IS NULL:04/08/18 16:08 ID:ufg7dQiG
保湿Age
69NAME IS NULL:04/08/19 00:21 ID:DUrRC6DG
保存Age
70http://dempa.2ch.net/prj/page/ura2ch/:04/08/19 09:07 ID:???
ura2ch ura2ch
71NAME IS NULL:04/08/20 01:54 ID:cERit/ZE
>>62
うん、スナップショット
72NAME IS NULL:04/08/21 01:18 ID:???
Oracle9i + PL/SQLです

テーブルの内容を改行無しでテキストファイルに書き出していくって仕様なのですが、
utl_file.putだと一行の長さ制限に引っかかってしまいレコード数が増えると失敗してしまいます。

utl_file.put_rawも使ってみたのですが、これも同じく制限にかかるようで…。
put_raw(hoge, hoge, true)とかしてみたのですが、結果は変わらず…。

dbms_lobってパッケージも検索で出てきたのですが、これはファイルへの書き出しは無いような…

同じようなことをしたことがある方、解決方法をご存知の方がおられましたら、教えてください (;´д⊂)

本当は一レコード一行にしてもらうのが一番手っ取り早い気もするのですが、そこは色々と力関係で…_| ̄|○
73NAME IS NULL:04/08/21 06:34 ID:???
>>72

dbms_lob.readとutl_file.putを組み合わせるよろし。

---------------------------------------------
CREATE OR REPLACE PROCEDURE retrieve_lob IS
temp_blob BLOB;
data_buffer RAW (1);
temp_buffer VARCHAR2(1);
amount BINARY_INTEGER := 1;
position INTEGER := 1;
filehandle utl_file.file_type;
error_number NUMBER;
error_message VARCHAR2(100);
length_count INTEGER;
BEGIN
SELECT video_clip INTO temp_blob FROM lob_store WHERE lob_id = 1;
length_count := dbms_lob.getlength(temp_blob);
dbms_output.put_line('Internal LOB size is: ' || length_count);
filehandle := utl_file.fopen('/home/usupport/npasumar/bulletin','lob_flat.out','W');
WHILE length_count <> 0 LOOP
dbms_lob.read (temp_blob, amount, position, data_buffer);
temp_buffer := utl_raw.cast_to_varchar2(data_buffer);
utl_file.put (filehandle, temp_buffer);
position := position + 1;
length_count := length_count - 1;
data_buffer := null;
END LOOP;
dbms_output.put_line('Exit the loop');
utl_file.fclose(filehandle);
dbms_output.put_line('Close the file');
EXCEPTION
WHEN OTHERS THEN
BEGIN
error_number := sqlcode;
error_message := substr(sqlerrm ,1 ,100);
dbms_output.put_line('Error #: ' || error_number);
dbms_output.put_line('Error Message: ' || error_message);
utl_file.fclose_all;
END;
END;
7472:04/08/21 09:53 ID:???
>>73
レスありがとうございます。

すいません、説明が足りませんでした。
出力したいレコードは普通の文字列なのです。

for vCnt in 0..x loop
 utl_file.put(vFile
        ,to_char(nvl(vaSupplyQty(vCnt), '0'), 'S9999999999999')
        );
end loop;
なんてのをやりたいのです。

75NAME IS NULL:04/08/22 03:24 ID:???
>>74

基本的に32K以上のデータ量は扱えない。
よって32kずつにぶち切ってputを使用してアペンドしていくといった感じになるみたい。

------------------------------------------------------------------------

CREATE OR REPLACE PROCEDURE dump_doc(docid IN NUMBER,filename IN VARCHAR2)
IS
data_chunk VARCHAR2(254); -- もっと大きな値を指定可能
chunk_size NUMBER:=254; -- 最大32kまで
chunk_size_returned NUMBER;
location VARCHAR2(20) := '/tmp'; -- init.oraにもUTL_FILE_DIR=/tmpを指定しておく事
mycursor NUMBER;
stmt VARCHAR2(1024);
cur_pos NUMBER:=0;
rows NUMBER;
dummy NUMBER;
file_handle UTL_FILE.FILE_TYPE;
add status VARCHAR2(50);
BEGIN
file_handle:=utl_file.fopen(location,filename,'w');
stmt:='SELECT DOCUMENT FROM ASCII_DOCS WHERE ID = :doctoget';
mycursor:=dbms_sql.open_cursor;
dbms_sql.parse(mycursor, stmt, dbms_sql.v7);
dbms_sql.bind_variable(mycursor, ':doctoget', docid);
dbms_sql.define_column_long(mycursor,1);
dummy:=dbms_sql.execute(mycursor);
rows:=dbms_sql.fetch_rows(mycursor);
loop
dbms_sql.column_value_long(mycursor,1,chunk_size,cur_pos,data_chunk,chunk_size_returned);
utl_file.put(file_handle, data_chunk); -- キャリッジリターンが入らないようにPUTを使用
cur_pos:=cur_pos + chunk_size;
exit when chunk_size_returned = 0;
end loop;
dbms_sql.close_cursor(mycursor);
utl_file.fclose(file_handle);
EXCEPTION
WHEN OTHERS THEN
utl_file.fclose(file_handle);
END dump_doc;
7672:04/08/22 09:26 ID:???
>>75
ありがとうございます。

PL/SQLには疎いので、できるのかどうか分からなかったのですが
これでなんとか仕様変更をお願いできるかも…
って仕様作った人も知らなかったのかなぁ(^^;

そうなんですよね、fcloseで勝手に改行とか入れられちゃうので、
どないしたものかと悩んでおりました。
77NAME IS NULL:04/08/23 15:04 ID:OVCwTyi7
HP-UX10.20上にOracle7.3.4が稼動しています。
既に別システムで構築されたDBでありデータは現在も
蓄積されています。
今回、このDBからデータを抽出して別システムで
データを利用することになりました。
別システムは、Redhat7.3で同一ネットワークセグメント上に
配置されています。
Linux側からOracleのデータを抽出(Select)したいのですが
Linuxには、Oracle関連ソフトならびにドライバが入っていません。
Perl5.6とDBD-Oracle1.15+DBI1.43を用いてデータを抽出したいのですが
可能でしょうか?
不足しているもの(スキルという意見以外)や別方法などありましたら
教えて下さい。
抽出されたデータはテキストファイルとして保存できればOKです。
78NAME IS NULL:04/08/23 16:22 ID:???
俺のターン!
一億件のレコードからクソ情報を抽出! いつまで経っても応答がない orz
79NAME IS NULL:04/08/23 16:27 ID:Ce/M8jNK
>>78
クソ情報なだけに、クライアントサーバ間のお通じが悪いんだろ。
80NAME IS NULL:04/08/23 23:15 ID:???
あしたは
 おらくるでべろっぱーでいず!
81NAME IS NULL:04/08/24 01:26 ID:???
>>77
spoolで取り出すのはだめ?
svrmgrはよくわからんけど、SQL*Plusだとこんな感じ。

set head off -- 列名のヘッダなし
set colsep , -- 列の区切りはカンマ
spool emp.csv -- スプールするファイル名
select * from emp; -- お望みのSELECT
spool off
quit

試さずに書いてるからまちがってるかも。
8277:04/08/24 17:14 ID:fIGf3mkO
>>81
ありがとうございます。
spoolを使う方法検討してみます。
SQL*Plusを使う場合は、Linux側にインストールが必要ですよね?
サーバマネージャもインストールが必要なのでしょうか?
83NAME IS NULL:04/08/24 18:53 ID:nXWm1Z1D
>>82

svrmgrはDBの起動などに必要なプログラムだから、LinuxにDBがない以上、
そんなもんはいらん。
SQL*PLUSだけいれればよろし。
それにしても7.3.4なんて懐かしいね。
漏れが一番最初に触ったOracleのVer.だよ。
8477:04/08/24 19:54 ID:4PfhuArk
>>83
ありがとうございます。
やはりSQL*Plusはインストールの必要があるんですね。
Linux側のコストを低くしたいらしいので、新しいソフトを
買うことが難しいんですが、何か良い方法はありませんか?

HPのOracleバージョンが古いのはLinuxにSQL*Plusを
インストールする時に何か問題になったりはしないのでしょうか?
質問ばかりで申し訳ありませんが、宜しくお願い致します。
85NAME IS NULL:04/08/24 21:14 ID:nXWm1Z1D
>>84

う〜ん、ライセンス形態がどうなっているか良く分からないんだけど、
テストだけだったらOTNからLinux用のクライアントをダウソして入れて
みるというのも一つの手かも?
製品版と変わらないから、そのまま使い続ける事も可能なんだけどね(w

それと7.3.4にアクセスするためにはクライアントのVer.は9i以下にする
必要があるみたいね。
10gクライアントだと7.3.4には未対応でORA-3134が出るらしい。
86NAME IS NULL:04/08/25 01:12 ID:???
>>84
Oracle Clientの環境がないなら、
OTNからJDBC Thin Driverを入手して簡単なJavaアプリを作ったら?
JDBCを使用したサンプルコードなんてWEBに山ほど転がってるんだし。

http://otn.oracle.co.jp/software/tech/java/jdbc/index.html

ライセンスは、ダウンロード時に表示されるものを読んで。
87NAME IS NULL:04/08/25 02:48 ID:???
もうわけ分がんね〜。
理由は分からなくて、クライアントからサーバーに繋がらなくて
気が付いたら繋がるようになっていた・・・。

落ち着いて、環境を書きます。
サーバー Solaris8 + Oracle9.2
クライアント Win2k + Oracle9.2クライアント(管理者パッケージ)

サーバにはDBが2つ作ってあって、1つはクライアントからOEM
で繋がります。もう1つのDBには何故か繋がりません。
繋がらないDBは一昨日作りました。
で終電間際にもう一度試してみたら、繋がる!!
接続情報とか小人が変えてくれたの!?って感じ。

繋がらなかったときのエラーは、サービス名が解決できない
みたいな内容だった気がします。
作成したてのDBは繋がらない事なんて無いよね?
まず何から調べたら良いでしょうか。

会社から2chは書けないので返事は遅くなってしまいますが、
よろしくお願いします。
88NAME IS NULL:04/08/25 04:01 ID:Y5Il5HBa
>>87

漏れだったらまずSolaris上のlistner.oraを見て、後はWin2k上のtnsnames.oraみて、
Portとかがちゃんと合っているか調べる。
でもって、後はO/S levelでpingが通るか調べて、その後はWin2kからtnspingを
打って、ちゃんと別名で名前解決出来るかを見る。
89NAME IS NULL:04/08/25 07:20 ID:???
>>88
終電間際につながったっていうのは特に設定とかいじらなくて、つながったってこと?

Oracle8i くらいのときにあったんだけど
リスナとインスタンスの起動順序によってリスナがインスタンスを
認識してくれないということがありました。
(通常は一定間隔でリスナがインスタンスを検出しにいくはずなんだけど
 UNIX版の8iあたりのバージョンでこれが上手くいかないことがあった)

いったんインスタンスとリスナを落として、インスタンス→リスナ の順に起動した場合に
lクライアントからつながらないと言う現象が再現するかどうかみてみたら?
90NAME IS NULL:04/08/25 10:56 ID:n0/+OFlh
ODDに参加中。テキストブースに群がるオラヲタうぜーしくせー!
9177:04/08/25 16:04 ID:m0CtrOF8
>>85 >>86
ありがとうございます。
JDBCをインストールして実現できそうです。
Javaも未インストールだったのでインストールしたり
またJavaのスクリプト自体も初心者だったので、
四苦八苦しましたが、ご助言頂けたおかげで
前に進むことができそうです。
前述構成に加えてj2sdk1.4.2をインストール,
Oracle JDBC Driver9.2.0をインストールしました。
接続して簡単なSQL文を発行して結果を得るところまで
きました。あとはシステムに見合ったSQLと出力結果を
揃えるのみです。
本当にありがとうございました。助かりました。
92NAME IS NULL:04/08/25 21:03 ID:???
>>87
MTSだとDBよりリスナーを先に騰げないと認識するのに時間がかかる
んじゃなかったかなぁ、、、
9387:04/08/27 01:18 ID:???
遅くなりました、皆さんレスありがとうございます。

>>88
listner.oraとtnsnames.oraですね。確認してみます。
ただ、同一インスタンス無いの他のDBには繋がったので
ネットワーク系の問題では無いと思っています。

>>89
>特に設定とかいじらなくて、つながったってこと?
はい、そうなんです。

>インスタンス→リスナ の順に起動した場合に
>クライアントからつながらないと言う現象が再現するかどう
はい!明日やってみますね。lsnrctrでstatus結果をもって帰ってきたら
有用でしょうか。

>>92
MTS? マイクロソフトトランザクションサーバーの事ですか?
サーバーがSolarisでクライアントがWinの環境でも関係ある
事なんでしょうか。すいません、Oracle初心者なもんで。

それでは、今日はお休みなさい。
94NAME IS NULL:04/08/27 20:18 ID:WJQzdBQU
>>93

MTSとは「Multi-Thread Server」の略。
専用サーバーとは違って、複数のユーザープロセスで一つのサーバープロセスを
使用する接続方式の事だ。
MTSにするとディスパッチャーというプロセスが、空いているサーバープロセスを
見つけてそれをユーザープロセスに割り当てる。
言ってみれば銀行に金を降ろしに行った時なんかに、玄関に立っている従業員の
オッサンが「このATM空いてますよ」と言って振り分けてくれるような感じか?(w
95NAME IS NULL:04/08/28 02:24 ID:???
>90

デベロッパだけあって、プータロー風とネクタイと半々くらいだったな。
しょうがねぇよ。
96NAME IS NULL:04/08/29 22:52 ID:???
ソースネクストのOracle JDeveloper 1980円ってどうなんすか?
97NAME IS NULL:04/09/01 21:53 ID:+8r2Bt0j
王道Age
98NAME IS NULL:04/09/01 23:09 ID:???
oracle 9.2.0
windowsXP pro
でxp の sp2 使用しても大丈夫だった?
99NAME IS NULL:04/09/03 11:43 ID:fp9+6ORM
system と sys のパスワードをデフォルトのまま
稼動しているやつって多いと思うけど、どう?

100NAME IS NULL:04/09/04 00:15 ID:???
>>99

なめるな!ちゃんと変えてるyo!!

change_on〜とか長いし、、、

(oracle/oracle, system/system, sys/sysにしてるけど、、、)

101NAME IS NULL:04/09/04 09:49 ID:???
> 96

ここにはJava使える香具師いないから、聞くだけ無駄。
102NAME IS NULL:04/09/04 14:54 ID:???
>>101
使えるけど使いません
103NAME IS NULL:04/09/04 17:00 ID:???
>> 102

遅いからか?
なんにしろ、Eclipseと比べてどうかくらい説明してやれよ。
104NAME IS NULL:04/09/04 17:19 ID:???
>>103
なんでムカついてんの?
105NAME IS NULL:04/09/04 18:22 ID:uWngy+IG
質問させてください。
Oracle8.0.5が入ったNT4のサーバが既にあって
Win2000+PHPからアクセスしようと環境を構築しようとしています。
ですがうまくいかず
いろいろ調べてOracle8.0.5にはPHP4.0.5までしか対応してない
というとこまで分かりました。
で、PHP4.0.5にダウングレードして確かに動いたのですが
いまさらこのバージョンで運用をしようとは思えません。
ですのでOracleのバージョンアップを考えなければならないのですが
OracleとPHPの動作バージョンの対応表など
どこかにありませんでしょうか?
そもそも「Oracle8.0.5にはPHP4.0.5まで」というのも
Oracleなどから公式にアナウンスされたものなのでしょうか?
ご存知の方、よろしくお願いします。
106ひろ坊:04/09/05 02:07 ID:???
PHP4.0.5に付属するphp_oci8.dllとphp_oracle.dllを上書きすると
出来るとか出来ないとかあります
107105:04/09/05 11:38 ID:???
>>106
それも試しましたが動きませんでした。
PHP4.0.xまではその方法で動いたみたいです。
PHP4.3.8に上書きではだめでした。
このへんの情報もOracleのサイトとかに
まとまっていたら分かりやすいのですが
OracleはPHPは軽視でJavaとか
大規模システムに力を入れてるって感じなんですかね。
108NAME IS NULL:04/09/05 12:43 ID:???
PHP は Oracle が開発しているものじゃないからな。
PHP の開発元に聞くのが良いだろう。
109NAME IS NULL:04/09/07 14:34 ID:???
シェルスクリプト内でOracleに接続して、SQLの実行結果とかを上手く扱う方法ってないかな?
とりあえず

#!/bin/sh

sqlplus hoge/huga@hage<<EOF
select aaa_id from aaa_table;
EOF

みたいな感じで、スクリプト内からOracleに接続してSQLを実行する事は出来たんだけど、
SQLの実行結果をスクリプト内で扱う事が出来ん・・・。
検索したら
http://www.atmarkit.co.jp/flinux/rensai/shell07/oracle.html
こんなんがあったんだけど、ライブラリが足りなくて動かなかった。会社のマシンだから
勝手にライブラリとか追加できないし・・・。

誰か良いやり方知ってたら教えて下さい。
110NAME IS NULL:04/09/07 14:51 ID:???
ASP.NET+ODP for .NETで開発してるのですが、
ランダムにInternal Error -3000と言うのが出て鯖ごと止まってしまいます。
皆様の中でこのようなエラーが出ている方はいらっしゃいますか。
111NAME IS NULL:04/09/07 16:20 ID:aARHyPs3
>>109

スマートな方法ではないかも知れないけど、一番手っ取り早いのはsqlplusから
spoolしてファイルに書き出して、そのファイルをshから読み込むといった方法が
ある。

------------------------------------------
#!/bin/sh

sqlplus -s hoge/huga@hage<<EOF
spool hogefile
select aaa_id from aaa_table;
spool off
EOF

exec 3<hogefile

i=1
while read -u3 hoge
do
echo $hoge
let i+=1
done

exec 3<&-
112NAME IS NULL:04/09/07 16:25 ID:???
>>110

Nested Cursorsを使っていると起きる事があるらしいな。
U.S.でバグ登録されているよ。
回避策はそのままずばりNested Cursorsを使わないか、10g用の
Oracle Data Provider for .Netとやらが出るのを待つしかないらしい。
113NAME IS NULL:04/09/07 16:31 ID:???
しょぼい質問でも申し訳ないのですが
NULLと空の文字列って同じ扱いなのでしょうか?

create table aaa (c1 varchar2(10) not null);
insert into aaa values ('');

これってアウト?
postgresから移行してきてとまどってます
114NAME IS NULL:04/09/07 16:33 ID:???
>>111

一応補足だけど、spoolする時には以下のオプションを指定してね。

sqlplus -s hoge/huga@hage<<EOF
SET NEWPAGE NONE
SET FEEDBACK OFF
SET HEADING OFF
spool hogefile
select aaa_id from aaa_table;
spool off
EOF
115NAME IS NULL:04/09/07 16:41 ID:???
>>113

アウトだね。

--------------------------------------------------
SQL> create table aaa (c1 varchar2(10) not null);

Table created.

SQL> insert into aaa values ('');
insert into aaa values ('')
*
ERROR at line 1:
ORA-01400: cannot insert NULL into ("SYS"."AAA"."C1")
---------------------------------------------------
116NAME IS NULL:04/09/07 16:54 ID:???
>>115
うひー
なんとか慣れるようがんばります。
文字型だからnull可でもいっか。

逆にいうと「''」で更新しても
nullとして入るんですね。
117NAME IS NULL:04/09/07 17:01 ID:???
>>116

どうやらその様だね。

------------------------------------------
SQL> create table aaa (c1 varchar2(10));

Table created.

SQL> insert into aaa values ('hoge');

1 row created.

SQL> update aaa set c1='';

1 row updated.

SQL> select * from aaa where c1 is null;

C1
----------


------------------------------------------
118NAME IS NULL:04/09/07 17:04 ID:???
>>117

う〜ん、どうやらバグっぽいかも・・・。
analyze tableかけると、キャラクターとして認識されちまう・・・。

--------------------------------------------------------
SQL> update aaa set c1='';

1 row updated.

SQL> select * from aaa where c1 is null;

C1
----------


SQL> analyze table aaa compute statistics;

Table analyzed.

SQL> select * from aaa where c1 is null;

no rows selected

SQL> select count(*) from aaa;

COUNT(*)
----------
1

--------------------------------------------------------

''は使わん方がいいみたいだねぇ。
119NAME IS NULL:04/09/07 17:25 ID:???
>>118
ええ!?
試してみたけど大丈夫だった
バージョンいくつですか?
うちは10gトライアル
120119:04/09/07 17:25 ID:???
SQL> create table aaa (c1 number(2), c2 varchar2(5));
SQL> insert into aaa values (1,'aaa');
SQL> insert into aaa values (2, '');
SQL> insert into aaa values (3, null);
SQL> select * from aaa where c2 is null;

C1 C2
---------- -----
2
3

SQL> analyze table aaa compute statistics;
SQL> select * from aaa where c2 is null;

C1 C2
---------- -----
2
3

SQL> update aaa set c2 = '' where c1 = 1;
SQL> select * from aaa where c2 is null;
SQL> analyze table aaa compute statistics;
SQL> select * from aaa where c2 is null;

C1 C2
---------- -----
1
2
3

121NAME IS NULL:04/09/07 17:35 ID:???
>>119

>>117&>>118はAIX上の9.2.0.5。
Linux上の10gで試してみたら>>119&>>120と同じ結果で
null扱いとなった。
どうやら10gでFixされているみたいだね。
一つ賢くなったよ、サンキュ。
122NAME IS NULL:04/09/09 11:30 ID:cHF62ijD
質問ですー
下記のPostgreSQLのSQL文のように
21番目から10データ取得ってできますか?
rownumで先頭から10データとかはできるのですが。。。
バージョンはOracle10gです。

select * from hoge
order by hoge1
offset 20 limit 10;
123NAME IS NULL:04/09/09 16:28 ID:???
>>122

order byでsortしなくていいんだったら以下が使えるんだけどね。
select * from hoge rownum<= 30 minus select * from hoge rownum <= 20;
124NAME IS NULL:04/09/09 23:35 ID:yGLov8PC
Oracleの脆弱性ってどんなのですか?
125NAME IS NULL:04/09/10 13:05 ID:???
うげー
Oracleのトライアル版の10gクライアントって
RedHatにしか入らないの?

製品版もそうですか?
126NAME IS NULL:04/09/10 22:53:36 ID:qllay40P
10gのサーバーをいれたんだけど、OEMコンソールがはいってないよ。
どこにあるの?
127NAME IS NULL:04/09/10 22:56:06 ID:???
>>126

10GのOEMは全部Webベースになっているが?
デフォルトだと「http://(host名):5500/em」だが?
128NAME IS NULL:04/09/11 01:23:17 ID:???
OracleのIMPORT/EXPORTについて教えてください。

スキーマAの特定のテーブルを、
スキーマBに自動的に取り込むツールを作りたいと考えています。
(つまり特定のテーブルをスキーマA/B共に常に同じにしておきたいのです。)

この際、取り込むテーブルは定義がしばしば変わるので、
INSERTではなくスキーマAのテーブルをEXPORTして、
スキーマBに取り込みたいと思います。

Windows環境なのでVBSを使って、

1.スキーマAからEXPコマンドを発行して、取り込み対象テーブルのダンプを作る
2.スキーマBにドロップ文を発行して、取り込み対象テーブルをドロップする
3.スキーマBにIMPコマンドを使ってダンプから取り込み対象テーブルを取り込む

という方法を考えているのですが、あまりスマートなやり方とは思えません。。。

このようなときの良い運用方をご存知の方がいらっしゃいましたら、ご教授
いただければと思います。

よろしくお願いいたします。
129NAME IS NULL:04/09/11 01:31:59 ID:???
>>128
128さんの要求仕様でレプリケーションが使えるかどうか調べてみて下さい。
#調べた上で聞いてたらごめんね。
130129:04/09/11 01:33:50 ID:???
あ、AさんとBさんが同一インスタンス上のスキーマだったらトリガー使うのがいいかも。
131128:04/09/11 01:52:55 ID:???
>>129-129
ありがとうございます。
レプリケーション、知りませんでした(すみません、DB初心者なのです)。
調べてみます。

>トリガー使うのがいいかも。
同一インスタンス上なのですが、テーブル定義とデータをごっそり持ってくる
SQL文があるのでしょうか。

どのようなSQLか分からないのですが、、、
もしそのようなものがあれば教えていただければ(もしくは書籍を紹介していただければ)と
思います。

重ねて質問申し訳ありません、
よろしくお願いいたします。
132NAME IS NULL:04/09/11 02:00:01 ID:???
>>131

同一インスタンス内なら

CREATE TABLE schemaB.table_name AS SELECT * FROM schemaA.table_name;

でいいんでない?あれ、構文これであってるかな?

GRANT SELECT ON schemaA.table_name TO userB;
とかも必要。
133131:04/09/11 02:09:30 ID:???
>>132
ありがとうございます。そのようなことができるとは、、知りませんでした。。

とりあえずトリガーで実装してみます。
ありがとうございました。
134NAME IS NULL:04/09/11 02:27:51 ID:???
>>128
テーブルの定義が変わるのなら、結局EXP/IMPがいちばん簡単。
135129:04/09/11 02:47:57 ID:???
>>128
ごめんテーブルの定義が変わるっていうのを見落としてたっていうか
定義がしばしば変わるテーブルっていうのが何だかヘンなので
そこをもうちょっと整理できそうな気がしますけどどう?
136128:04/09/11 03:01:24 ID:???
>>135
定義が変わるというのは、まだ開発段階なので
同じテーブルでもカラムが増えたりデータ定義が
微妙に変わったりすることがある、ということです。
テーブル自体が増えたり減ったりすることはありません。

ですので、
・ミラーリングするテーブル名一覧のマスタを作っておく
・上記を参照して、インポート先のスキーマの
 同じ名前のテーブルをドロップし、インポート元の
 同じ名前のテーブルを>>132さんのSQL文で丸ごと
 取り込む

というロジックを、トリガーで定期的に起動させようかと
思います。
137NAME IS NULL:04/09/11 03:42:26 ID:???
>>136
あーなるほど、いずれテーブルの仕様が固まるまでってことだったんですね。
でかいテーブルを作り直すのではなさそうなので>>132さんの方法が簡単でいいと思います。
138NAME IS NULL:04/09/11 05:19:28 ID:???
>>136
スキーマBの用途が分からないが、
132の方法だと主キー等の制約はコピーされないので注意。

トリガーはデータの挿入・更新・削除の時に発生するものであって、
定期的に実行させるのはジョブ。

結局exp/impが一番スマートだと思うけど。
139NAME IS NULL:04/09/11 09:11:47 ID:???
スナップショットは?
140NAME IS NULL:04/09/12 02:59:06 ID:???
セキュリティFIXパッチ出たね
適用( ゚Д゚)マンドクセー
141NAME IS NULL:04/09/12 18:32:23 ID:ptn6epF0
>>140
保守契約してないと駄目なの?
142NAME IS NULL:04/09/13 14:49:05 ID:???
質問です。
DBはアーカイブモードで、日々 rman でオンラインバックアップ
( backup database )しています。
この場合、ctl, redo,datafaile の全てが無くなった場合についてですが、
ctlファイルは create controlfile で復旧させたとします。
また、datafile は rman からリストアできると思います。

1つも残っていないredoはどうやって復旧させればいいのでしょうか?
またこの場合はバックアップした状態までには戻せないのでしょうか?
143NAME IS NULL:04/09/13 17:06:28 ID:???
>>142

ctl、現行のredolog、datafileが全て喪失してしまった場合、既にその
時点で不完全回復(open resetlogs)しか道は残されていない事になる。
つまりRedoは全て新しく作り直す。
手順としてはこんな感じ?

1. RMANを使って全Datafileをバックアップからリストア
2. create controlfile文を使用して、ctlを再作成
3. recvoer database until cancel using backup controlfile;文を使って
残っている全archivelogを適用
4. alter databse open resetlogs;でデータベースをオープン。この時に
  自動的に新しいredologがoracleによって再作成される。

上記を見れば分かる様に、ロールフォワードできるのは最後のarchivelogの
時点迄ということになる。
144NAME IS NULL:04/09/14 04:13:58 ID:???
Oracle10gのLinux x86-64版は、何時出るんでしょうか。
145NAME IS NULL:04/09/14 09:34:18 ID:???
Oracle10gですが
クライアントからSQL文を発行するときって
みなさんはどのアプリを使ってますか?

sqlplus? webのsqlplus?

どれもいまいち使いにくくて。
SQLServer付属のツールみたいに
実行する文を選択状態にして
その文についてだけ実行できてかつ
複数のSQL文を一気に実行できるのが希望です。
146NAME IS NULL:04/09/14 16:39:47 ID:???
>>143
ありがとう。
順番としては、以下でできました。
1.RMANでコントロールファイルを復旧
2.RMANでデータファイルのリストア
(リストアの際に set until logseq を最終ログまで指定)
3.recover database
4.resetlogs
147NAME IS NULL:04/09/14 18:04:07 ID:???
>>146

おおっ、そうね、RMANはデフォルトでコントロールファイルのバックアップを
取るから、確かにそいつを利用出来るね。
それにしてもそこまでの復旧作業が必要って、ディスクかなんか吹っ飛んだ
んかいな?
148NAME IS NULL:04/09/15 00:03:58 ID:???
SQLPlusにラインエディット機能が付いたようなツールでお薦めはありますか?
Oracle謹製のSQL*Plusは使いにくすぎます
149NAME IS NULL:04/09/15 07:13:45 ID:???
オブジェクトブラウザ?
150NAME IS NULL:04/09/15 10:04:32 ID:???
emacs とか。
151NAME IS NULL:04/09/15 10:13:41 ID:4lwDdbdV
CSEでいいんじゃない?
定義書もはいてくれるぞい。
152NAME IS NULL:04/09/16 13:11:32 ID:???
>>151
CSEでOracleって
複数の文を同時に実行できなくない?

insert into hoge values (1);
insert into hoge values (2);

こんな感じで。
なにか設定あるの?
153NAME IS NULL:04/09/16 14:36:48 ID:???
>>152
できないねぇ。
それどころかセミコロンつけるとエラーになる。
コンソールじゃなくてあくまでも
エディタって位置付けだからでしょう。

全体をスクリプトにすりゃ出来ると思うけど。

やっぱ秀丸で編集、SQLPlusにコピペが最強。
154NAME IS NULL:04/09/16 16:22:58 ID:???
秀丸(爆)
155NAME IS NULL:04/09/16 17:38:21 ID:???
俺のSQLPlusのエディタ、秀丸だよ
156NAME IS NULL:04/09/16 21:10:35 ID:???
>>152
今、試せる環境ないんだけど、
CSEのメニュー「データベース」−「一括実行」って、そゆ機能じゃないの?
157NAME IS NULL:04/09/16 22:41:39 ID:???
>>156
一括実行はファイルを実行するのと同じような感じで
エディタ内のすべてを実行するんじゃない?
158NAME IS NULL:04/09/16 23:13:04 ID:???
>>60
>-- ushitaki --
>OTN から「教授して」と言う言葉を根絶しよう!「教示」のつもり?
>ここは対等での情報交流の場所。会議室検索や Tips も活用しよう!

最近は、こうなってます。マジでウザ杉。

-- ushitaki --
OTNから「教授して」と言う誤用を根絶しよう!一方的質問箱でもないはず。
対等な技術交換共有のために、掲示板検索や Tips,Library等も活用しよう!
159NAME IS NULL:04/09/16 23:18:48 ID:???
osqledit
160NAME IS NULL:04/09/16 23:27:09 ID:???
>>158
ushitakiは在日チャンコロ。
日本人にはない粘着質が気持ち悪い。
161NAME IS NULL:04/09/16 23:32:04 ID:???
ジサクジエ・・・
162NAME IS NULL:04/09/16 23:44:29 ID:npLC5ofo
やっぱ秀丸だな。
163NAME IS NULL:04/09/16 23:46:27 ID:???
あんた馬鹿?
164NAME IS NULL:04/09/17 00:05:57 ID:???
>>113
8iか9iのドキュメントに,将来のリリースでは区別するかもって書いてあった希ガス。
どっちかに統一しといた方がええんとちゃう?
165NAME IS NULL:04/09/17 15:12:02 ID:???
>>164
どっちに統一したらいいの?
166NAME IS NULL:04/09/18 00:48:32 ID:???
統一しちゃダメだよ。
文字列であるべきところは''にして、ヌルであるべきところはNULLにする。
そのうえで、そのふたつがおなじものとして扱われることに依存しない
造りにすることを心がける。

とはいえ、いくらがんばっても意識せざるを得ない箇所は出てくるし
結局依存しちゃうんだけどね。
初期化パラメータで切り替える形でも良いから、はやいところ''とnullを
区別する動作を実現してもらいたいものだ。
167会社から:04/09/18 16:09:38 ID:4VEYoChp
こんにちは。オラクルで主キーを設定するにはGUIからでは無理なのでしょうか?

168NAME IS NULL:04/09/18 16:49:41 ID:???
OEMから普通にでけますが何か?
169NAME IS NULL:04/09/18 21:58:35 ID:???
OTNに常駐してる連中って、所謂DBオタなんだろうなぁ
170NAME IS NULL:04/09/19 03:07:05 ID:???
>>167
オブジェクトブラウザ
171NAME IS NULL:04/09/19 10:15:49 ID:???
2chに常駐している>>169は何オタでつか?
172NAME IS NULL:04/09/20 12:55:28 ID:???
>>148
emacs+sql-oracle-mode
xyzzy+sqlplus-mode
173NAME IS NULL:04/09/21 19:42:58 ID:???
ノートPCでデモ環境をつくりたいのですが
Oracleを少しでも軽く動かす方法はないでしょうか。
本番のバージョンはOracle10g+Windows2003です。
デモ環境はWindows上で
WebサーバはVirtualPC+Linux+Apache+PHP
で構築予定。
VirtualPC+Linuxは普通に動くのですが
Oracleが重くて重くて・・・
174NAME IS NULL:04/09/21 19:47:14 ID:???
メモリを調整して swap しないようにすればいいんじゃないの?
175NAME IS NULL:04/09/21 20:39:01 ID:???
>>173

窓2003上では確かに重たいね。
1GB積んだノートでも10g OEMを入れていると動作的に辛いものがあるもんね。
とりあえず10g OEMは外して、後は>>174が言っているように出来るだけSGAの
サイズを下げてテスト環境を構築するしかないんじゃないの?
176NAME IS NULL:04/09/21 23:54:26 ID:???
>>174-175
ありがとうございます。
いろいろ調整して試して見ます。
177NAME IS NULL:04/09/22 20:25:07 ID:wt0w+D4E
Age
178NAME IS NULL:04/09/24 00:44:08 ID:8IGiq9Pz
AgeAge
179NAME IS NULL:04/09/24 14:15:42 ID:???
Oracle10g windows版の
  CSService
  DBConsoleXXXX
  iSQL*Plus
ってサービスは止めてても平気?

普通に使う分には
TNSListenerとServiceXXXXが動いてれば
問題ないですよね。

もう重くて>10g
180NAME IS NULL:04/09/24 17:31:59 ID:8IGiq9Pz
>>179

CRSServiceはASMを使っていないんだったら止めても構わんよ。
DBConsoleやiSQL*Plusは普通に使うんだったらインストールの必要すらないよ。
181179:04/09/24 18:43:49 ID:???
>>180
ありがとうございます!
ASMはまだ使い道がよくわかってませんが
開発目的なのでまーいらないかなと思ってます。

停めたら劇的に軽くなりました!
182NAME IS NULL:04/09/24 21:36:31 ID:???
ちょっと教えていただけると幸いです。

例えば、下記のようなSQLを走らせると

select (SYSDATE - REGIST_DATE) DAY TO SECOND "bbb" from CUSTOMER

次のようなエラーが返されます。

「型の長さが最大を超えています。」

どのように解決すればいいでしょうか?


よろしくお願いします。
183NAME IS NULL:04/09/24 21:50:18 ID:8IGiq9Pz
>>182

Linux上の10gでは全く問題なく表示されたのだが・・・?

SQL> create table hoge (regist_date date);
Table created.

SQL> insert into hoge values (sysdate);
1 row created.

SQL> select * from hoge;
REGIST_DATE
---------------
24-SEP-04


SQL> select (sysdate - regist_date) day to second "bbb" from hoge;
bbb
---------------------------------------------------------------------------
+00 00:01:25.000000
184NAME IS NULL:04/09/24 22:11:45 ID:???
レスありがとうございます。

8なんですけどダメです。

ただ、違いといえばデータの保持のフォーマットが
2004-09-31 00:00:00です。

ここらへんが問題なのでしょうか?
185NAME IS NULL:04/09/24 22:26:25 ID:8IGiq9Pz
>>184

AIX上の9.2.0.5でも問題なかった。
ひとつ確認なんだけど「REGIST_DATE」はDate型だと思っていいんだよね?
もしかしてvarchar2で持っていたりなんかしないよね?
186NAME IS NULL:04/09/24 22:34:10 ID:???
>>185

ご面倒かけています。

date型です。

ときどき、date型まわりで困ってしまうことがあるんですよね。
187NAME IS NULL:04/09/24 23:01:41 ID:???
>>186

SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
でフォーマットを変えてみたけど、特に問題無いねぇ。
Ver.固有のバグかいな?

ところでクライアントはSQL*PLUSと思っていいのかな?
188NAME IS NULL:04/09/24 23:45:45 ID:???
SQL*PLUSじゃなくて、今はJDeveloperを使ってます。

PHPなどのWebアプリに落とし込んでます。
実装すると英語ですけど、同内容のアラートがでます。
189NAME IS NULL:04/09/24 23:56:09 ID:???
>>188

もしかしてDBへの接続はJDBC Thin Driverとかかいな?
その辺りでDate型の問題がかなりあったような・・・?
190NAME IS NULL:04/09/25 13:24:28 ID:???
どこに行けばいいのか分からず迷い込んできました。

これからOracleを導入しようと思っているのですが、
御値段は御幾ら位なのでしょうか?

もし、スレ違い板違いであれば、誘導して頂けませんでしょうか?

宜しくお願い致します。
191NAME IS NULL:04/09/25 13:43:39 ID:???
192NAME IS NULL:04/09/25 13:49:50 ID:???
Windowsなんですが、500万なんですか??
193NAME IS NULL:04/09/25 15:11:01 ID:KeMUv/28
>>192
それはCPU1つだけの場合のライセンス価格。
CPUが2つなら2倍、4つなら4倍しろ。
あとサポートサービスにもちゃんと金払わないとパッチ手に入らないぞ。
194NAME IS NULL:04/09/25 19:27:40 ID:???
>>192

機能を抑えたStanderd Editionなのか、それとも全機能が使えるEnterprise Edition
なのかでも値段は変わる。
あとはユーザー数に応じたライセンス形態もある。
まあ総じて言える事はボラクルは高いという事だ。
195NAME IS NULL:04/09/25 22:28:11 ID:???
確かに高い
これでも安くなったんだろうけど
このままじゃ自然と他に流れてって
ユーザが減ったあとで後手後手で安くして
利益がなくなってあぼーんって流れとよむ
196NAME IS NULL:04/09/26 21:55:58 ID:???
WindowsをShutdownしたら、自動的にOracleもshutdown immediateされるの?
197NAME IS NULL:04/09/26 22:26:41 ID:JflQZjV2
>>196
デフォルトは、そうだったと思う。

Oracle9iAdministration Assistant for Windows NT ってやつで、
Oracleサービス停止時のアクション(停止モード)を設定すること
ができる。
198NAME IS NULL:04/09/28 01:56:51 ID:???
トライアル版をDLする際のアンケートで、
「導入の予定は無い」と答えた次の設問で
「導入予定システムの使用人数」を答えさせるって一体・・・
199NAME IS NULL:04/09/29 00:58:01 ID:???
>>197
私もそう聞いたのですが実際には
OracleがShutdownされてませんでした。
Win鯖2k+Oracle9i
Shutdown Abortも無し。電源断と同じジャン!
10gはどうかなぁ。
200200:04/09/29 02:36:25 ID:???
>>199
なにか理由があったんじゃ。
普通は shutdown immediate になるはず。
201NAME IS NULL:04/09/29 07:28:23 ID:???
>>199
OS停止時には、サービスの停止しか行わないから、
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\ORA_sid_SHUTDOWNが
TRUEに設定されていない限り、"サービス停止" = "インスタンスダウン"になり、
実質的に電源断と同じです。

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx\ORA_sid_SHUTDOWNが
TRUEに設定されていると、サービス停止時にインスタンス自動停止が実行されますが、
この機能はあまり信用しないほうが無難です。
202NAME IS NULL:04/09/29 16:20:09 ID:???
>>201

んだんだ、DBはマニュアルでちゃんと停止すべきだ。
203196:04/09/30 00:23:31 ID:???
おれは10gだけど、>>197が言ったAdministration Assistに設定があった。
デフォルトはなんだか忘れたが、shutdown immediateに設定できるよ。
204NAME IS NULL:04/10/02 00:57:53 ID:2QoqSQcr
突然Perlのモジュールがインストールできなくなった原因はOracle10gだった。
まさかOracleが原因なんて思わないから何時間も悩んださ。
サーバならまだしもPersonalEditionでユーザの既存環境壊すか?
相変わらずクソだなオラクル
205NAME IS NULL:04/10/02 08:33:53 ID:???
じゃあ使わなきゃ良いのに(プ
206NAME IS NULL:04/10/02 09:10:10 ID:7uCo7Wjt
OS起動したとき、異様に重いのって
メモリ不足なのかな?
207NAME IS NULL:04/10/02 17:02:55 ID:nt6D3OmK
>>206

多分ね。
Swapしちゃってんじゃないの?
窓とかだったら、DB関係の色々なサービスが立ち上がるからさらに
遅かったりするけどね。
208NAME IS NULL:04/10/03 13:48:42 ID:???
>>204
Oracle様はエンタープライズ顧客がメインターゲットなので
専用機を用意できないような貧乏人は相手にしません
209NAME IS NULL:04/10/03 19:51:27 ID:4gS4zlic
oracle8.1.7で質問です。
OUIでインストールする際にインストレーションタイプを
Typicalでインストールしました。
その場合、ProductLanguageがEnglishのみインストールされるみたい
ですが、この状態だと日本語のデータが扱えなくなるんでしょうか?
それとも、日本語メッセージが表示できなくなるだけですか?
210NAME IS NULL:04/10/03 21:06:30 ID:???
>>209
> それとも、日本語メッセージが表示できなくなるだけですか?

こっちです。

データベースに格納されるデータのマルチバイト・キャラクタセットは、
CREATE DATABASE時に指定したデータベース・キャラクタセットによります。
211NAME IS NULL:04/10/04 01:43:45 ID:oRk2+3iU
>210

回答有難うございます。
212NAME IS NULL:04/10/06 16:20:50 ID:sxOqfpdR
ボラクル10g Age
213NAME IS NULL:04/10/07 01:11:43 ID:???
v$archived_logのarchivedの値が「YES」になっているものは
アーカイブ済みのログファイルだと考えていいのでしょうか?
また、「NO」になるようなケースはあるのでしょうか
(例えばログを吐き出している等)?
それとも、v$archived_logに書き込まれるものは基本的に
アーカイブ済みのものなのでしょうか?
214NAME IS NULL:04/10/07 02:16:31 ID:???
>>213
試せばわかるじゃん。
215NAME IS NULL:04/10/07 18:59:48 ID:???
>>213
アーカイブ済みと考えて言い。
RMANはこの値が「Yes」になっているものをバックアップする。
それとこの値が「No」になる事はない。
実際にアーカイブが走っている最中のlogはv$archived_logには
載らない。
それを知りたければv$logの方を見るべき。

>>214
そんな意地悪言いなさんな。
216NAME IS NULL:04/10/07 23:47:00 ID:???
Oracleの質問はここですればいいですか?
今、ファイルを読み込んでテーブルに格納するというプログラムを作っているのですが、
UTL_FILE.GET_LINEを使用してレコード(400バイト程度)を読み込む、または
文字列を連結して255文字以上の文字列を生成するとORU-10028が発生します。
レコードの読み込みはUTL_FILEを使えば1022文字までは読めるはずだと思うのですが・・・
また、どこにも使用していないのにエラーメッセージに「DBMS_OUTPUT」と
表示されているのも気になります。
解決方法等ありましたらご教授いただけないでしょうか?
環境はOracle8.1.7+NT 4.0(古い・・・)です。
217NAME IS NULL:04/10/08 06:25:48 ID:???
SQL*LOADERでやればいいのに・・・
218NAME IS NULL:04/10/08 18:55:39 ID:WCPxmI6u
お前らOUIのレスポンスファイルの書き方教えろや!!
情報少なすぎんだよオラァ!!
219NAME IS NULL:04/10/09 09:04:16 ID:???
BLOB型からの読み出しが遅くてたまらん。
80KB/sぐらしか出ない。
10gでThinドライバつかっとる。CPU負荷はスカスカ。
BLOBにスピード求めちゃいけないの?
それともチューニングの方法でもある?
220NAME IS NULL:04/10/10 14:36:26 ID:???
Oracle10g上でrmanを何も設定せずにbackup databaseと打ちました。
これってどこにバックアップされているんですか??

show allすると、こんな感じです。

using target database controlfile instead of recovery catalog
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
221NAME IS NULL:04/10/11 16:25:02 ID:???
>>220

「db_recovery_file_dest」が設定されていたら、そこに行くだろうし、そう
じゃなければ「$ORACLE_HOME/dbs」ってとこじゃないのかねぇ?
通常は自分でファイルの吐き先を指定する事が多いから、あんまり
考えたこともなかったが・・・。
222NAME IS NULL:04/10/11 18:58:37 ID:Jaty5rwm
質問させてください

トランザクション開始前に
Rollbackとするとエラーになりますが
これをエラーにならないようにはできないでしょうか?

もしくはトランザクション開始中かそうでないかを
取得することはできますか?
223NAME IS NULL:04/10/11 19:05:10 ID:???
>>222

初っ端にrollbackを打ったけどエラーなんか発生しないぞ?

------------------------------------------------------------
$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.5.0 - Production on Mon Oct 11 12:03:04 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.5.0 - Production

SQL> rollback;

Rollback complete.

SQL>
224NAME IS NULL:04/10/11 19:15:11 ID:???
Oracle てメジャーなDBMSなのに、まだ2スレ目なんだな。
225NAME IS NULL:04/10/11 19:17:48 ID:???
>>223
SQL Plus での話では無いだろ。
プログラムを組んだ時の話をしているんだろ。

>>222
Oracle へは、どうやって接続しているの?
oo4o? それともADO?
226222:04/10/11 21:57:00 ID:???
>>223,225
すみません。
oo4oでの話でした。
sqlplusだとエラーにならないですね。
てっきりoracleのせいだと勘違いしてしまいました。

もしoo4oでの回避方法をご存知でしたら
教えていただけないでしょうか。
227NAME IS NULL:04/10/11 22:54:34 ID:???
>>226

BeginTrans メソッドが実行されているかどうかを知る方法はないみたい
だから、自分で明示的にBoolean の変数を作成して、BeginTransされて
いたらそいつをTrueにして制御するというのが楽でいいんじゃないんかな?
228NAME IS NULL:04/10/11 23:17:34 ID:vFw2/fae
「ORACLE9iデータベース入門」という本の
30日間トライアル版のOracle9i Database Release 2(9.2.0)を
インストールしようとしているのですが、
kernel-headersというパッケージがインストールされている必要が
あるらしいのですが、僕の環境には入っていませんでした。

そこで、本書の指示に従い、LinuxのCD-ROMから
インストールしようとしたのですが、CD-ROMにこのパッケージは
入っていませんでした。

RedHat Enterprise Linuxを使っているのですが、
Webでドキュメントもなかなか見つかりません。

誰かご教授お願いできませんか?

#uname -mrs
Linux 2.4.21-4.ELsmp i686
#uname -a
Linux ccapt225.bkc.ritsumei.ac.jp 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2
003 i686 i686 i386 GNU/Linux
229NAME IS NULL:04/10/11 23:30:44 ID:???
>>228


う〜ん、なんか聞いたことないんだけど・・・?
大体漏れが赤帽鯖にDBを入れる時には以下のURLを参照している。

ttp://puschitz.com/InstallingOracle9i.shtml

でもって、インスコに必要なrpmは大抵赤帽鯖インストールCDの中に
見つかるよ?
230NAME IS NULL:04/10/11 23:31:16 ID:x9CuXO0q
Solaris9 x86 マシンに、
10gの勉強しようと思ってインスコしようとしたら、
要件確認で、64bitじゃないとだめみたいなことが
マニュアルに書いてあるんだけど、32bitぢゃだめなんでしょうか?


231228:04/10/11 23:41:00 ID:vFw2/fae
>>229
返信ありがとうございます。

インストールCDに入ってませんでした。

上記した通りRedHat Enterprise Linuxなのですが、
例えば、RedHat 9等の、kernel-hedersパッケージでも
いけたりしますか?
232NAME IS NULL:04/10/11 23:47:23 ID:???
>>231

取り合えず9iと10gが動いているRH AS3.0で「rpm -qa |grep -E '(kernel|header)'」で
見てみたのが以下の結果。

kernel-utils-2.4-8.37.3
kernel-2.4.21-4.EL
glibc-kernheaders-2.4-8.34
kernel-smp-2.4.21-15.EL
kernel-smp-2.4.21-9.0.3.EL
kernel-2.4.21-9.0.3.EL
glibc-headers-2.3.2-95.20
kernel-smp-2.4.21-4.EL
kernel-source-2.4.21-15.EL
kernel-pcmcia-cs-3.1.31-13
kernel-2.4.21-15.EL

glibc-kernheadersというのは入っているけど、kernel-headersという
パッケージは無さげなんだけど・・・?
本当に必要なんかいな?
233228:04/10/11 23:55:31 ID:vFw2/fae
>>232
RedHat ELでは、kernel-headersの代わりに
glibc-kernheadersというパッケージが入っていると、
どこかのWeb Documentで見たのですが、
kernel-headersが本当に必要ないのか、わかりません。

必要ないのですかね?
234216:04/10/12 00:04:48 ID:???
>>217
事情があってUTL_FILEでやらないといけないのです・・・
裏で何かがDBMS_OUTPUTを実行しているんでしょうかね?
235NAME IS NULL:04/10/12 00:08:07 ID:???
>>233

こんな記述があった。
-------------------------------------------------------------
On RHELAS2.1 system, the binutils and gcc RPMs will be missing
if you did not select the "Software Development" package group
during the "RedHat 2.1 Advanced Server" installation.
To satisfy dependencies, execute the following command:

su - root
rpm -ivh gcc-2.96-108.1.i386.rpm \
binutils-2.11.90.0.8-12.i386.rpm \
cpp-2.96-108.1.i386.rpm \
glibc-devel-2.2.4-32.11.i386.rpm \
kernel-headers-2.4.9-e.3.i386.rpm
-------------------------------------------------------------

でもって、手元にあるRH AS 2.1を見てみたら確かに入っていた。
[root@xxxxx root]# rpm -qa |grep -E '(kernel|header)'
kernel-smp-2.4.9-e.40
kernel-2.4.9-e.40
kernel-utils-2.4-6.1.EL
kernel-headers-2.4.9-e.40
kernel-source-2.4.9-e.40

赤帽2.1ならいるけど、3.0はいらねぇんじゃないのかね〜?
236228:04/10/12 00:24:26 ID:I7mpU+zQ
>>235
そこまで調べていただけるなんて、ありがとうございます!

ですが、Enterprise Linuxは、ASとESとWSがありまして、僕のはESです。
ですが、glibc-kernheadersが入っているので、kernel-headersは
要らないのかもしれません。

インストールしてみます。
ありがとうございました!
237NAME IS NULL:04/10/12 00:34:49 ID:???
>>236

ASが欲しかったら以下のURLから白箱Linuxをダウソしてみるといい。
http://whiteboxlinux.net/news.php

赤帽のカーネルを再コンパイルしているから、中身は全く一緒w
こいつを使って取り合えず10g RACまで組める事は確認したw
238228:04/10/12 00:41:42 ID:I7mpU+zQ
>>237
すいません、色々と。

今の環境でダメだったら、そっちのディストリを使ってみます。
どうもっす!
239222:04/10/12 09:17:53 ID:???
>>227
ありがとうございますー!
おっしゃるようにグローバルな変数を持つか
エラートラップするかで対応しようと思います。
240NAME IS NULL:04/10/12 16:58:16 ID:ZN9jslfk
WindowsNT から Windows2003Server に
Oracle9i(9.0.1.0.0) を EXP/IMP でマシン移行したのですが
レプリケーション関連がどうもうまくいきません。

そこで OTN に行ってみたら
Oracle 9i Release 2 Database Server Patch を見つけて
「Oracle9i Database Release 2をWindows Server 2003 で
お使いいただくにはこちらのパッチの適用が必要です。」
とあったのでダウンロードまではしたのですが、
READMEをみると (9.2.0.1.0) のパッチ
と書いてあるような雰囲気があります。

これは (9.0.1.0.0) しか持っていない場合は (9.2.0.1.0) を
買わなければ Windows2003Server では Oracle9i は
動かない事を意味しているのでしょうか?
241NAME IS NULL:04/10/12 17:45:47 ID:???
>>240

9iR1からR2へはライセンス上のアップグレードは発生しないと思ったが?
単にR2へのパッチを当てれば使えるはず。
242NAME IS NULL:04/10/12 17:47:10 ID:???
>>240

つーか、今時バグだらけの9iR1を使っている人がいるとはちょっと驚き。
とっくに皆R2へアップデートしてたと思ってたよ。
243NAME IS NULL:04/10/12 20:26:01 ID:ZN9jslfk
>>241-242
そうなんですか、てっきりR2を買わなきゃいけないのかと思っていました。
R2へのアップグレードパッチ、探してみます。
ありがとうございました。
244NAME IS NULL:04/10/12 20:47:29 ID:???
>>230

Solarisが今手元に無いから分からん(;´д`)
でも見てみる限りだと、x86版をダウソすればいけるんでねぇの?
245MANE IS NULL:04/10/13 00:14:48 ID:TzEGj4P7
>>http://pc5.2ch.net/test/read.cgi/db/1061746086/150
怒涛の勢いで質問挙げてる・・。
246NAME IS NULL:04/10/13 22:50:42 ID:dGEQAZRW
OTN見たんだけど、Oracle 8.1.5 Linux のインストレーションガイドってないの?
OTN掲示板見ると、存在してたっぽいんだけど。
昔はあったのだろうか。
247NAME IS NULL:04/10/13 23:21:31 ID:???
>>243
9i R1からR2へアップグレードさせるパッチなんてあるわけ無いだろ。
R1の最新パッチは 9.0.1.5 ちょいだ。
248NAME IS NULL:04/10/13 23:45:05 ID:gz9m/8W1
>>244
レスどもです。
どうもSolaris x86 は64bitだけみたいです。。。

ttp://www.oracle.co.jp/products/system/10g/uv1010/index.html

Solarisの勉強も一緒にと思ったんですけどね。

残念
249NAME IS NULL:04/10/14 00:31:57 ID:???
>>243

R1からR2へのアップグレード手順としてはこんな感じ?

1. Oracle 9iR2のインストレーションCDをゲッツする。(OTNからダウソしてもいい)
2. DBのコールドバックアップを取る。
3. 9iR2を既存のR1とは別のORACLE_HOMEにインスコ。
4. DBをマイグレーションモードにて起動。
sqlplus> startup migrate;
5. 「u0900010.sql」を流す。
sqlplus> @?/rdbms/admin/u0900010.sql
6. 「cmpdbmig.sql」を流す。
sqlplus> @?/rdbms/admin/@cmpdbmig.sql
7. DBを再起動する。(shutdown abortは使わない様に!)
8.「utlrp.sql」を流す。
sqlplus> @?/rdbms/admin/utlrp.sql

って、とこか?

もしくは9iR2のバイナリをインスコを入れた後に「DBUA」を使ってアップ
グレードした方がGUIで、流さないとならないSQLも漏れなく実行
されて簡単に出来るかも知れん。
250NAME IS NULL:04/10/14 01:21:34 ID:8CebjC+w
>>248

ちょっとちがうぞ。

「SPARC」 Solaris版 Oracle10gは 64bit版のみがあるってこと。

Solaris x86版 Oracle10gはこっちにあるみたい。32bitか64bitかはみてないからわからん。
ttp://www.oracle.com/technology/software/products/database/oracle10g/index.html

日本でのサポートとかは知らんが。
251NAME IS NULL:04/10/14 16:32:24 ID:???
>>250

こんな記述がMetalinkにあった。

"Please note that Oracle 10g RDBMS no longer has 32bit software available for Solaris."

つまりSolarisの32bitはアボーンされたということみたいで・・・。
252NAME IS NULL:04/10/14 23:29:03 ID:v3i3ZiEp
すみません。

PL/SQLですが、
カーソルのフェッチ途中でコミットは御法度でしょうか?

カーソルのレコードを指定件数フェッチしたら、
カーソル自体を更新して(WITH指定含む)コミットすることは可能ですか?
253NAME IS NULL:04/10/14 23:43:08 ID:???
ORACLE10gをRedHatAS3にインストールして、
pro*cで作成したプログラムをmakeしたところ
"__ctype_b"が未定義とでます。
対処法を教えてください。
254NAME IS NULL:04/10/15 00:10:24 ID:???
>>253

端っからボラクルのエラーと決め付けるの如何なものかと・・・。
そのプログラム、どのプラットフォーム(O/SのVer)上で作成した?
glibcのVersionの違いから全く同じ事が以前に起きたんだが・・・?
255NAME IS NULL:04/10/15 11:02:12 ID:vvLhTiR7
基本的な質問をさせてください。

PHP+PostgreSQLからの移行なのですが
文字列をインサートするときのエスケープは
シングルクォーテーションを二重にするだけでしょうか?
256NAME IS NULL:04/10/15 11:25:46 ID:11LkM/Pb
すみません、VALUEファンクションの使い方がわからないので
教えていただきたいです。たとえば・・・

SELECT VALUE(e) FROM temp1 e
*
1行でエラーが発生しました。
ORA-00904: 列名が無効です。

となってしまいます。
マニュアルにある通りにやってるつもりなのですが
何がいけないのでしょうか?
257NAME IS NULL:04/10/15 15:05:38 ID:???
いつになったらストアドで
SELECT文の結果セットを
返すことが可能となりますか?
10gでは可能?
258NAME IS NULL:04/10/15 16:37:53 ID:???
>>255

良く分からんが「'」をエスケープしたいのか?
だったら「'''」を使えばいいよ。

SQL> create table hoge (boge varchar2(10));
Table created.
SQL> insert into hoge values ('''Alohaboe''');
1 row created.
SQL> insert into hoge values ('\BogeHoe');
1 row created.
SQL> select * from hoge;

BOGE
------------------------------
'Alohaboe'
\BogeHoe
259NAME IS NULL:04/10/15 17:05:41 ID:???
>>256

VALUE関数って、空値でない最初の値を求めるという汎用機などで
よくあるあれですか?
すいません、それって本当にOracleのマニュアルですか?
それとも単に漏れが無知なだけ?
260NAME IS NULL:04/10/15 17:29:38 ID:???
>>256 >>259

空値でない最初の列に別の値を入れるというのなら、OracleだったらNVLか
もしくはcolesceになるんじゃないかと思うのだが、違う?

SQL> select * from hoge;

NO LAST_NAME
---------- ------------------------------
1 Hoge
2 Boge
3 <= これがNull
4 Boe


SQL> select no, coalesce(last_name,'hogeboe') from hoge;

NO COALESCE(LAST_NAME,'HOGEBOE')
---------- ------------------------------
1 Hoge
2 Boge
3 hogeboe
4 Boe
261NAME IS NULL:04/10/16 02:04:11 ID:???
>>257

表関数のこと?
262NAME IS NULL:04/10/16 15:09:24 ID:6HnNI/C2
済みません質問です。
Oracle JDeveloper 10gで普通のSwingアプリケーションを作成したのですが、
別のマシンで動かすには何をすればいいですか?
JDevのインストーラ作成機能とか、配付機能をヘルプから探したのですが、
見つからなくて・・・
263NAME IS NULL:04/10/16 15:45:28 ID:6HnNI/C2
>>262
てけとにデプロイとかいうのしたらでけた
264NAME IS NULL:04/10/16 22:18:26 ID:???
メモリ2GのWindows2000SVにoracle9iをつんだらおまいら、oralceにどれぐらい使わせてあげますか?
dbブロック場と共有SQLどれぐらいとりますか?
265NAME IS NULL:04/10/16 23:13:01 ID:???
>>264

んなデータ量に依存された質問されてもなぁ?
266NAME IS NULL:04/10/16 23:41:52 ID:???
OASもここでOK?

Vine-3.0にOAS9i入れようとすると最低64MBメモリ必要!って出て
弾かれちゃいます。RAM512MB載ってるのに。。
267NAME IS NULL:04/10/17 17:28:57 ID:T+Sk8R3N
質問です。
今日10gのトライアル版をダウンロードしてきたのですが、
10日を経過すると使えなくなってしまうのでしょうか?
よろしくお願いします。
268NAME IS NULL:04/10/17 17:35:56 ID:T+Sk8R3N
↑↑↑ 30日の間違いです。。。
269NAME IS NULL:04/10/17 18:46:14 ID:APZSdsym
>>267

ガイシュツだ。
この板の>>16ぐらいを見てみそ。
270NAME IS NULL:04/10/17 19:13:26 ID:T+Sk8R3N
>>269
ありがとうございます。
紳士規定に基づき、30日で使用をやめたいと思います。
271NAME IS NULL:04/10/17 19:41:52 ID:APZSdsym
>>270

いや、その別にライセンスさえ買って貰えればそのまま使い続けて
貰って全然構わんのだが・・・?(;´д`)
272NAME IS NULL:04/10/17 23:20:50 ID:???
紳士協定かぁ・・・・

中国人や韓国人には、通用せんな。
273NAME IS NULL:04/10/17 23:47:06 ID:???
>>261
ストアド内でのSlect文を
MSSQL、Sybase(T-SQL)
のように、レコードセット(JavaならResultSet)で
返すことが可能な機能のことを言っていると思う。
274NAME IS NULL:04/10/18 00:36:05 ID:???
ストアドパッケージでカーソルを返したり
レコード型を返してやれば良いだけであ?
275NAME IS NULL:04/10/18 08:57:28 ID:???
>>274
それは、Oracle内のストアド間だけでは?
276NAME IS NULL:04/10/18 10:52:32 ID:???
カーソル変数をOUTPUTパラメータでの宣言のみだったから
ADO(RecordSet)とか、JDBC(ResultSet)では受け取れないよね。(たしか)
(だからPL/SQL表を受け取ることができるか?等の質問が多くある)
T-SQLならはSELECT文をそのまま書けば(たとえ複数行返ってきても)、
DB2だとOpenさせたままコードを終了させればできる(はずだった)けど。
277NAME IS NULL:04/10/18 15:38:44 ID:H1NN2Y2O
1,yamada
2,tanoka
3,sato
2,tanaka

たとえばこういうデータ(1つめがPKで2つめが名前)を
SQL*Loader で流し込んで,

1,yamada
2,tanaka (←後者が採用されている)
3,sato

としたいのですが,
これをスマートに行うにはどうすればどうすればいいのでしょうか?

REPLACE モード使えばいいのかな・・・と思ってたら,
どうやら用途が違うっぽいので,詰まりました・・・
278NAME IS NULL:04/10/18 16:58:14 ID:???
オラクルラーな人たちに質問です。


今、HOGEというインスタンスがあります。
それでこのHOGEというインスタンス内にある
ユーザーデータテーブル全てを
別のインスタンス(HAGE)に置いて参照したいのですが、
可能でしょうか?

その手順は
HAGEというインスタンスを作成する

インスタンス作成時にユーザーデータファイルを
HOGEと同じ名前で作成する

データファイルをHOGEからコピーする

でいけますかね?
ご教授お願いします。
279NAME IS NULL:04/10/18 17:33:40 ID:???
>>278

んな面倒な事しないで「database link」使えばいいじゃん?
280278:04/10/18 17:51:12 ID:???
>>279

ある時点でのバックアップを参照したいらしいので、
dblinkでは今現在のデータが見えてしまうので・・。
281NAME IS NULL:04/10/18 17:53:15 ID:???
>>280

だったらSNAPSHOTを使えばよろし。
SNAPSHOTのREFRESH間隔を設定すればまさしくその目的で使えるべ?
282NAME IS NULL:04/10/18 17:54:08 ID:???
>>277

スマートな方法かどうかは分からんが、ViewとTrigerの組み合わせで
なんとかはなる。

1. 表の作成
Create Table HOGE (
ID NUMBER(10) PRIMARY KEY,
NAME VARCHAR2(15));

2. Viewの作成
Create View HOGE_UPDATE_VIEW As
Select * From HOGE;

3. Triggerの作成
Create Or Replace Trigger UPDATE_VIEW_INSTEAD_OF
Instead Of Insert On HOGE_UPDATE_VIEW
Begin
Update HOGE set
NAME =:NEW.NAME
Where ID = :NEW.ID;
End;
/

4.hoge表にデータを流し込むSQL*LOADERのコントロールファイル「hoge.ctx」を作成
load data
infile 'hoge.dat'
append
into table HOGE
fields terminated by ',' optionally enclosed by '"'
(id char(10),
name char(15))
283NAME IS NULL:04/10/18 17:54:47 ID:???
5.流し込む元データ「hoge.dat」の中身。
1,yamada,
2,tanoka,
3,sato,
2,tanaka,

6. データローディングを実行
sqlldr userid=scott/tiger control=hoge.ctx

.Primary keyが設定されているので、当然「hoge.bad」の中に
「2,tanaka,」がはじき出されている。

7. 「hoge.bad」を「HOGE_UPDATE_VIEW」に流し込むコントロールファィル「hogeupd.ctx」を作成
infile 'hoge.bad'
append
into table HOGE_UPDATE_VIEW
fields terminated by ',' optionally enclosed by '"'
(id char(10),
name char(15))

8.「hoge.bad」をSQL*LOADERを使って流し込む
sqlldr userid=scott/tiger control=hogeupd.ctx

9. 確認。
SQL> select * from hoge;

ID NAME
---------- ---------------------------------------------
1 yamada
2 tanaka
3 sato
284NAME IS NULL:04/10/18 18:41:27 ID:???
>>283

すまん、7番の「hogeupd.ctx」の所で最初の一行が抜けていた。
正しくは・・・

load data <=こいつが抜けていた
infile 'hoge.bad'
append
into table HOGE_UPDATE_VIEW
fields terminated by ',' optionally enclosed by '"'
(id char(10),
name char(15))
285NAME IS NULL:04/10/18 18:43:43 ID:???
ユーザーデータテーブルスペース Aの中身を
テーブルスペース Bにコピーするには
どうしたら良いのでしょうか?

ご教授おねがいします。
286NAME IS NULL:04/10/18 18:48:02 ID:???
>>285

ALTER TABLE hoge MOVE TABLESAPCE hogeboge;

表の移動後は索引の再作成を忘れずに!
287NAME IS NULL:04/10/18 19:00:38 ID:H1NN2Y2O
>>282-284

やはり trigger になるのね・・・
こういった機能要件ってかなりあると思うのだが、
皆さんこういう面倒くさい事をするのだろうか。

でも instead of すっかり忘れてましたw
ありがちょ。

でも trigger なんて誰も管理できなさそうなので、
アプリフローを見直す事にしたよ。
288NAME IS NULL:04/10/18 19:10:57 ID:???
>>287

triggerを使わなくても出来るのかも知れんのだけどね。
単に漏れが無知なだけでもっと他にも良い方法があるのかも・・・?(;´д`)
289NAME IS NULL:04/10/18 21:00:54 ID:???
>287

ファイルひっくり返したらダメなのか
290NAME IS NULL:04/10/18 23:24:19 ID:KX5ApixV
Oracle10g には、今まで同様、JavaのEnterpriseManagerってついて
ないんですかね。クライアントにしかない?
DB自体とクライアントって同じマシンにいれれるのかな?
291NAME IS NULL:04/10/18 23:44:09 ID:???
>>290

ガイシュツな。
>>127あたりを見てみそ。
292NAME IS NULL:04/10/19 01:00:36 ID:???
OEMってまともに使ったこと無いけど、
みんな活用してる?
293NAME IS NULL:04/10/19 04:31:05 ID:???
>>292

10G OEMは今までと比べ物にならない程使えるようになった。
294285:04/10/19 10:07:59 ID:???

コマンド
ALTER TABLE 表名 MOVE TABLESPACE 表領域名;

でユーザーテーブルスペースを別のユーザーテーブルスペースに
コピーした時って、テーブルに付いているユーザー名ってどうなります?

例えば表領域Aがユーザー名hogeに割り当てられてて、
表領域Bにユーザー名hageがいた場合、
hoge.aテーブルを表領域Bにコピーした場合、hage.aになるんですか?


ご教授おねがいします。
295694:04/10/19 11:11:08 ID:???
>>695

えっと表の列の項目が30個ぐらいあるのですが、
その方法だとやたらSQL文が長くなるのですが・・・・。

296295:04/10/19 11:11:48 ID:???
すみません誤爆しました
297NAME IS NULL:04/10/19 14:35:41 ID:???
インスタンスの名前を変更したのですが、SQL*PlusでSELECTを実行した際に下記のような表示になって困っています。
OracleのバージョンはOracle8i Release 8.1.7.0.0です。

<インスタンス名変更前>
SQL> select 'BBBBBBBBB',count(*) from X
2 /

'BBBBBBBBB' COUNT(*)
------------ ---------
BBBBBBBBB      0

         ||
        \  / こうなってしまう。
         \/

<インスタンス名変更後>
SQL> select 'BBBBBBBBB',count(*) from X
2 /

'BBBBBBBBB'            COUNT(*)
--------------------------- ---------- ← 何故幅が広く?
BBBBBBBBB                  0

掲示板だと半角スペースが省略されてしまうので全角スペースを使って表現しています。
フィールド名、または結果文字列の長さで結果を表示して欲しいのですが、例のように余分なスペースが入ってしまいます。
インスタンスを変更する前はこんなことは無かったのですが、どうすれば結果表示のフォーマットを変更できるのでしょうか?
SQL*Plusのマニュアルにはデフォルトの表示が上の例のようになると書いてありました。
特にSQL*Plusの設定は変えてないのですが...
どなたかわかる方宜しくお願いします。
298NAME IS NULL:04/10/19 15:22:51 ID:sH6SzGXp
すみません。
一度上げさせてください。
299NAME IS NULL:04/10/19 15:26:53 ID:34u9Qvmg
>>294

もしかして表領域とユーザースキーマとを混同してたりしないか?
300NAME IS NULL:04/10/19 15:28:49 ID:34u9Qvmg
>>297

インスタンス名の変更って、一体どうやったの?
ctlファイルの再作成?
それともexp/imp?
やたらめったらやる事ではないんだけど?
本当にインスタンス名の変更?
301297:04/10/19 16:27:07 ID:sH6SzGXp
>>300
最初に予定していたインスタンス名が変更することになったので、別に新しくインスタンスを作成しました。
その後表領域などを作成して、exp/impで復元しました。
要するに新規でインスタンスを作成してデータベースが起動できるようになるまでの作業を実施しました。
一時的に二つのインスタンスが立ち上がるようになっていましたが、現在はoratabで切り替えられるようにして、新しい方のインスタンスだけ立ち上がるようにしています。

インスタンスの名前だけ変更することってできるんですかね?
というか、>>297の回答をお願いします。
302NAME IS NULL:04/10/19 17:20:48 ID:???
>>301

回答も何もそれがSQL*PLUSのデフォルトの動きだし?
むしろ何で前がそんな動きになっていたのか分からん。
なんかFunctionでも使っていて、それがexp/impで移植されてないんじゃない?

DB名の変更はctlファイルの再作成が簡単。
SQL*PLUS> alter database backup controlfile to trace; でudumpに出力された
コントロールファイル作成用のscriptの中で「CREATE CONTROLFILE REUSE ... 」の
部分を「CREATE CONTROLFILE SET <新規DB名>」に変更すればいい。
303NAME IS NULL:04/10/20 00:26:01 ID:rBAmFzmV
windows2000server + oracle9iR2 のDBサーバをAAドメイン内に構築しているのですが、
クライアントからSQL*PLUSで接続(ユーザ名/パスワード@インスタンス名で)する際、
AAドメインにログインしていなくても接続できてしまうのですが・・・。
AAドメインにログインしている場合のみ接続可能にするにはどうしたら良いのでしょうか?
どなたかご教授お願いします。
304NAME IS NULL:04/10/20 01:02:52 ID:???
>>303

以下のレジストリ値は「TRUE」になってんかいな?
\\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OSAUTH_PREFIX_DOMAIN
305NAME IS NULL:04/10/20 07:54:05 ID:0lFU6NIQ

「ORA-00020最大プロセス数を超えました」のエラーが出たため
init.oraにprosses=1280を追加したのですがまたエラーになってしまいました。
v$resource_limitを調べるとLIMIT_VALUEは1280に変わっているのですが
MAX_UTILIZATIONは変更前と変わらず300で
頭打ちになりORACLEへの接続ができなくなってしまいます。
何が原因でプロセス数の上限が決まってしまうのでしょうか?
またどうやったらプロセス数の上限を増やせるのでしょうか?

OSはWindows2000でOracle8.0.5です。
一台のマシン上でIISとORACLEを稼動させたときは
上手くいっていたのですが、IISとORACLEを別々のマシンに
分けたら現象が発生するようになってしまいました。
どなたかご教授をお願いいたします。
306297:04/10/20 10:14:46 ID:ZuUsTirQ
>>302
現在も同時に二つのインスタンスを立ち上げることは可能な状態なのですが、
不思議なのは元のインスタンスに接続すると、

SQL> select 'BBBBBBBBB',count(*) from X
2 /

'BBBBBBBBB' COUNT(*)
------------ ---------
BBBBBBBBB      0

と表示されるのですが、新しいインスタンスに接続すると、

SQL> select 'BBBBBBBBB',count(*) from X
2 /

'BBBBBBBBB'            COUNT(*)
--------------------------- ----------
BBBBBBBBB                  0

のような表示になってしまうことです。
インスタンス毎にSQL*Plusの設定は存在するのでしょうか?
その他の違いとしては元のインスタンスはインストールの時のデフォルトデータベースを修正して構築したのに対して、
新しいインスタンスはコマンドラインベースで作成しました。
書き忘れていましたがOSはSolaris8です。
宜しくお願いします。
307297:04/10/20 10:41:06 ID:ZuUsTirQ
新しい方のデータベースを構築する際に、以下のsqlを実行しています。

@.../product/8.1.7/rdbms/admin/catalog.sql
@.../product/8.1.7/rdbms/admin/catsnmp.sql
@.../product/8.1.7/rdbms/admin/catexp7.sql
@.../product/8.1.7/rdbms/admin/catproc.sql
connect system/manager
@.../product/8.1.7/rdbms/admin/catdbsyn.sql
@.../product/8.1.7/sqlplus/admin/pupbld.sql    ... ※
connect internal
@.../product/8.1.7/rdbms/admin/caths.sql
@.../product/8.1.7/rdbms/admin/oramts.sql

もしかして ※ のSQLを実行したのがまずかったのでしょうか?
sqlplusのディレクトリにあるのが怪しい感じです。
308297:04/10/20 10:59:28 ID:ZuUsTirQ
連続書き込みすみません。
>>307の中身を確認しましたが、関係なさそうでした。
ちなみに内容は以下の通り。
sqlplus_product_profileというテーブルを作成しているようですが、何のためのテーブルなんでしょうか。

drop synonym product_user_profile;

create table sqlplus_product_profile as
select product, userid, attribute, scope, numeric_value, char_value,
date_value from product_user_profile;

drop table product_user_profile;
alter table sqlplus_product_profile add (long_value long);

create table sqlplus_product_profile
(
product varchar2 (30) not null,
userid varchar2 (30),
attribute varchar2 (240),
scope varchar2 (240),
numeric_value decimal (15,2),
char_value varchar2 (240),
date_value date,
long_value long
);

drop table product_profile;

drop view product_privs;
create view product_privs as
select product, userid, attribute, scope,
numeric_value, char_value, date_value, long_value
from sqlplus_product_profile
where userid = 'PUBLIC' or user like userid;

grant select on product_privs to public;
drop public synonym product_profile;
create public synonym product_profile for system.product_privs;
drop synonym product_user_profile;
create synonym product_user_profile for system.sqlplus_product_profile;
drop public synonym product_user_profile;
create public synonym product_user_profile for system.product_privs;
309NAME IS NULL:04/10/20 17:34:51 ID:???
>>297
一体、何が問題で困ってるのかサパリわからん。
310NAME IS NULL:04/10/20 18:17:33 ID:???
>>309

要約するとこういうことらしい。
用件定義が変更になったので、新たにDBを再作成してFull Exp/Full Impして
データを移し変えましたと。
でもって、以前のDBの場合、SQL*PLUSを使って接続すると、どういう訳かは
知らないけど、出力結果がカラムのサイズで表示されてましたと。
ところが新しいDB側ではSQL*PLUSがデフォルトの動きに戻ってて、出力結果が
カラムのサイズではなく、スペースで埋められて表示されてしまいましたと。

でもって結論から言えば「そんなん知らんがな。それが正常な動きだ。」なんだ
けどね?
311NAME IS NULL:04/10/20 18:43:28 ID:???
>310

それは判るんだけど、それで何が困るのかがワカランのが何とも。
カラムサイズが気に入らなければ自分で設定し直せば良いし。
312NAME IS NULL:04/10/20 18:47:27 ID:???
>>306

まあ、可能性としたらあれだな。
8.1.7ではFull Exp/Full ImpだとSYSのオブジェクトはインポートされないという事だ。
何らかのファンクションかプロシージャーかは分からないが、そいつがインポート
されてないんじゃないのかねぇ?
313NAME IS NULL:04/10/20 19:57:39 ID:oY2Pax+f
>>290
サンクス。
やっぱりないのね。
314NAME IS NULL:04/10/20 23:14:54 ID:rBAmFzmV
>>304

\\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OSAUTH_PREFIX_DOMAIN

上記のレジストリ値は存在しないのですが・・・。
315NAME IS NULL:04/10/20 23:57:45 ID:???
>>314

だからだべ?
無いなら取り合えず自分でキーを作って「TRUE」にセットしてみる!
316NAME IS NULL:04/10/21 00:01:05 ID:???
>>308

「$ORACLE_HOME/sqlplus/admin」以下に「glogin.sql」というファイルはあるかい?
そこでデフォルトのカラムのサイズを指定していたりとかしていないかい?
317NAME IS NULL:04/10/21 06:30:29 ID:???
カラムサイズがどーこーってたしかキャラクタセットの問題じゃなかったっけか
PLUSのマニュアルかなんかに設定の方法が書いてあるってOTNで見た覚えがある・・・
318297:04/10/21 16:14:24 ID:s2wUZHG6
>>311
ソフト側がSQL*Plusの出力結果を読み込んで処理を行っているのですが、
諸事情によりソフト側の修正ができないのでSQL*Plus側の設定を何とかするしかないんです。

>>312
full exp/full impでインポートされないものがあるのかもしれませんね。
実は当方Oracle初心者でしてそれだとお手上げかも...
319297:04/10/21 16:18:29 ID:s2wUZHG6
>>316
glogin.sql はありました。
内容は以下の通りです。
かなり怪しい気がするので正常なものと比較してみます。

column ROWLABEL format A15

column LINE/COL format A8
column ERROR format A65 WORD_WRAPPED

column name_col_plus_show_sga format a24

column name_col_plus_show_param format a36 heading NAME
column value_col_plus_show_param format a30 heading VALUE

set pagesize 14

column id_plus_exp format 990 heading i
column parent_id_plus_exp format 990 heading p
column plan_plus_exp format a60
column object_node_plus_exp format a8
column other_tag_plus_exp format a29
column other_plus_exp format a44
320297:04/10/21 16:22:39 ID:s2wUZHG6
>>317
キャラクタセットの問題については全く知りませんでした。
情報ありがとうございます。
早速調べてみます。
321NAME IS NULL:04/10/21 16:47:34 ID:???
>>320

下手なキャラクタセットにしていたら、DB再作成が待っているぞっと。
322NAME IS NULL:04/10/21 17:02:26 ID:???
>>320
各インスタンスで
  select * from SYS.V_$NLS_PARAMETERS;
の結果が違うんでないかい?
323NAME IS NULL:04/10/21 18:34:21 ID:lnuIkD88
IBMのWindows2003serverのマシンを購入したのですが、

oracle9iを入れた後に再起動するとoracleに繋がらなくなってしまいます。

やもえずもう一度インストールしなおしましたが、設置場所を変える為に

一回落としたら又、oracleに繋がらなくなりました。

対処方ってあるのでしょうか??

それともWindows2003serverこういうものなんでしょうか??
324NAME IS NULL:04/10/21 18:55:44 ID:???
>>323

繋がらないと言っても千差万別だし、とりあえずエラー内容でも載せてみそ?
325NAME IS NULL:04/10/21 19:22:09 ID:lnuIkD88
はい、

こんなエラーで出てしまうんです、、、。

エラー内容

ORA-01034 ORACLE not available
ORA-27101 shared memory realm does not exist
326NAME IS NULL:04/10/21 19:57:29 ID:???
>>325

それはちゃんとインスタンスをあげてないだけちゃうんかと
問いたい、問い詰めたい、小一時間問い詰めたい・・・。
327NAME IS NULL:04/10/21 20:27:49 ID:???
いつも思うんだけど、「共有メモリがありません」なんてわけ分からん
エラーメッセージじゃなくてずばり「Oracleが起動してません」って
吐いてくれればいいのにね。
328NAME IS NULL:04/10/21 21:28:57 ID:???
>327

もしかして、これが読めない?
>ORA-01034: ORACLE not available
329NAME IS NULL:04/10/21 22:44:56 ID:???
10gDBServerのインストールで質問です。
インストール中に「コンピュータ名が識別できない可能性があります」
の旨のメッセージが表示されてインストールが先に進みません。

3台インストールた結果は以下です

XPPro ドメイン DHCP OK
XPPro ワークグループ 固定IP NG

また管理クライアントのインストール結果は以下です
XPHOME ワークグループ DHCP NG

推測なのですが、10gのインストールはドメインに属する
PCでないと出来ないのでしょうか?

それとも別の原因?
ワークグループでDHCPのマシンでインストールってできますか?
330NAME IS NULL:04/10/21 22:48:40 ID:???
>>329

\\WINDOWS\system32\drivers\etc\hostsにインスコしようとして
いるPCのIP書いておけ。
それで問題なくインスコ出来るはず。
331NAME IS NULL:04/10/21 22:58:13 ID:???
英語のメッセージが読めない人はIT業界で働くのは難しいですね
332NAME IS NULL:04/10/21 23:15:28 ID:???
>330
要はDBサーバーにDHCP使うな、IP固定にしろってことですね
333NAME IS NULL:04/10/21 23:22:45 ID:???
>>332

そういうこと。
昔からボラクルDBとDHCPとは仲良くないだよ。
334NAME IS NULL:04/10/21 23:25:22 ID:???
>333ありがとうございます。
しかしクライアントセットアップでDHCPだと
アウトというのは・・・・・
ゴミレス&雑談失礼
335NAME IS NULL:04/10/21 23:54:18 ID:???
325>> 複数のインスタンスあげてるんじゃない?
共有するメモリが足らないんでしょ
それか最大共有メモリ値が少ないか。
336NAME IS NULL:04/10/22 00:07:32 ID:???
>>335

ちげぇーよ。
インスタンスが共有メモリー上に存在していない=DBが起動していないだよ。
もしくは環境変数で正しくORACLE_SIDがセットされてないとかな。
337NAME IS NULL:04/10/22 07:36:21 ID:???
自動起動をONにしてないとかな
338NAME IS NULL:04/10/22 11:20:33 ID:0RYlxmuS
323です。

インスタンスが自動で立ち上がらないんです、、、、。

自動起動はONになってるのですが、、、、。

オラクル再起動した後にDOS窓でコマンドを打たないとなぜか

インスタンスが立ち上がらなくって、、、。

ORACLE_SIDって必要でしょうか??

2000サーバーで8i使ってたころはその環境変数設定してなかったのですが、、、。
339NAME IS NULL:04/10/22 11:42:49 ID:0RYlxmuS
323です。

ちなみに、OTNから落とした9iのパッチの当て方がさっぱり解らず

パッチを当ててないままwindows2003サーバーを動かしてます。

これが原因でしょうか??

パッチを当てるマニュアルが入手できなくって当てれませんでした。
340NAME IS NULL:04/10/22 22:40:46 ID:???
アラートログになんか出てないか?
341NAME IS NULL:04/10/22 23:10:51 ID:???
>339
あんまりはっきり書いちゃうとまずいからヒントだけ。
oradim.logの中に何か出てるかもね。
342いなむらきよし:04/10/23 01:08:35 ID:vtT94cT0
腹が立ってしょうがないキケー!
343NAME IS NULL:04/10/23 16:31:52 ID:???
カタカナ→ひらがな
の変換できるSQLの関数とかありますか?
SQLでlikeを使って検索しています。
SQL中にはカタカナを使用して、テーブルにあるひらがなのデータを
検索したいのです。
DBは10gです
344NAME IS NULL:04/10/23 17:26:40 ID:???
ないんじゃない?
345オラクル初心者:04/10/23 18:01:25 ID:XyIHxQN2
◎動作環境
 OS :win98SE
CPU :600MHz
Memory:128MB
◎疑問点
 1台のPCにOracle8iをインストールしたのですが、SQL*PLUSでログイン
(system/manager)しようとすると、「ORA12560-プロトコルアダプタ・エラーです。」
と表示され、ログインできません。
なぜでしょうか?まったくの初心者で困っています。
○Oracleバージョン
 ネットからDLしました。
 【Oracle8i Workgroup Server for Windows NT/2000 R8.1.7 トライアル版】
「動作環境」では、Oracle8i Personal Edition R8.1.7で、win98SEのFAT32で可能となっています。
もちろん、FAT32ファイルシステムです。
346NAME IS NULL:04/10/23 18:22:44 ID:FcWJwTk3
>>315

\\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\OSAUTH_PREFIX_DOMAIN
を作って「TRUE」にしてみたのですが結果変わりませんでした。
ちなみに、このキーはどこの設定で作成されるのでしょうか?
347NAME IS NULL:04/10/23 21:39:34 ID:???
>>345
tnsnames.oraの記述が間違ってるんじゃない?
348NAME IS NULL:04/10/25 01:39:20 ID:???
Oracleを9x系OSで、しかもたったの128MBで動かそうなんて…
349NAME IS NULL:04/10/25 11:20:16 ID:???
>>348
Oracleって実はメモリショボくても「起動するだけ」ならでけるのか?
テスト用に自分とこに環境立ち上げようと思った事は何度もあったが
システム要件のメモリんとこにひっかかってあきらめてたんよ。

実はいける?
350297:04/10/25 16:57:10 ID:/sFe6lCq
glogin.sqlというSQLですが、このSQLはSQL*Plusが起動されるたびに実行されるのでしょうか?
それとも手動で実行しておく必要があるのでしょうか?
SQL自体は同じなのにインスタンスが違うと動きが異なる、
と言うことは新しいインスタンスで手動実行しておく必要があるということでしょうか?
351NAME IS NULL:04/10/25 18:30:52 ID:e+KnVo0q
oracle9iのパッチの当て方が解らないんですが、
どなたかご指導お願いします。

setup.exeらしきものがまったく見つからないのです。
352NAME IS NULL:04/10/25 20:09:54 ID:???
>>351
リリースノート、readme辺りの内容は確認しましたか?
それでも分からなければ、サポートに問い合わせるのが良いと思います。
353NAME IS NULL:04/10/25 22:50:30 ID:???
>>349
「起動するだけ」なら128Mでもいける
メモリまわりのパラメータをいじる必要があるけど
せめて256Mあれば…
354NAME IS NULL:04/10/25 23:37:20 ID:???
>>350
しつこい。
SQL*Plusなんてデータ閲覧用のツールなんだから、
それ以上を求めるなら自分でツール作るなりしろ。
せめて自分の意図を反映させたいパラメータくらい
自分で責任を持って設定しろ。
355NAME IS NULL:04/10/26 00:35:43 ID:oue8ocut
>>353
 ん?インストール中にメモリが足りませんてきなメッセージで
 おこられるでしょ。 9i
356NAME IS NULL:04/10/26 00:52:25 ID:75rAlZyk
357NAME IS NULL:04/10/26 01:47:00 ID:AHzPa14H
SQLLoaderについて質問があるのですが、街頭するスレに誘導願います。
358NAME IS NULL:04/10/26 03:56:10 ID:???
>>357
http://pc5.2ch.net/test/read.cgi/unix/1096980998/
SQLLoaderはこちらでどうぞ
359NAME IS NULL:04/10/26 07:57:41 ID:MzpJVQlL
>>358
ひどいなぁ・・・
360297:04/10/26 10:12:43 ID:???
>>354
厳しい言葉厳粛に受け止めます。
ただ今回の場合は自分でツールに手を入れることができないため、
どうしてもSQL*Plus側の設定で対応するしかない状態です。
自分としてはSQL*Plusの結果なんか使わず、
ソフトを組んでしまいたい気分ですが、そうもいきませんので.....
調べる時間が少しできたので再度自分で調べてみます。
361NAME IS NULL:04/10/26 10:39:44 ID:???
Oracle9iでDBのテーブル更新(INSERTとかUPDATEとか)の履歴
を参照したいのですが、REDOファイルとアーカイブログファイルを利用すれば
良いと思うのですが、ここからどうすればいいのでしょうか?

これらファイルを直接開いて人間が目で見ても分かるものなんでしょうか?
それとも何かSQLコマンドを介して参照するものなんでしょうか?

ヒントだけでもご教授ください。
362NAME IS NULL:04/10/26 16:35:34 ID:???
>>361

随分気合の入ったことするな。
「LogMiner」で調べてみるといいよ。
363NAME IS NULL:04/10/26 23:39:16 ID:???
>>351
パッチセット?OPatch?
364NAME IS NULL:04/10/27 01:55:51 ID:???
>360

SQL*Plusの結果を統一したいのなら、SQL*Plusの
マニュアル見れば全部やりたいことは書いてあるぞ。
薄いマニュアルなんだから、1,2時間ながめりゃ
全て解決できるだろう。

linesize pagesize trimspool column あたりを眺めれば
いいんでないの?
365NAME IS NULL:04/10/27 13:25:55 ID:23njgVzs
教えてください
OracleでSEQUENCEの次の値を変更するには
いちどDROPしてCREATEしなおすしかないのでしょうか?

PostgreSQLのように
setval
みたいなことはできませんか?
366NAME IS NULL:04/10/27 14:59:30 ID:88BXw0Xj
>>363
OUI220180と9203WIN2K3というパッチが当てれないんです、、、。

OTNから落としたものなんですが、、、、。
367NAME IS NULL:04/10/28 00:21:17 ID:???
>>290

Client CDにOEM用のJava Console入っていたよ。
でもこれって9iのJava Consoleの流用みたいな気がする。
本当に10gの機能をフルに使うならば、やっぱウェブベースの方を使うしか
ないみたいだね。
368NAME IS NULL:04/10/28 14:41:16 ID:???
オラクル8と8iの非互換について載っているサイトがあったら教えて下さい。
369NAME IS NULL:04/10/28 22:26:38 ID:???
>>368

正確に知りたければMetalinkだろうな。
あとせめてどっちがクライアントで、どっちがサーバー側かぐらいは書いた方が
答えやすいと思うぞ?
370368:04/10/29 10:30:00 ID:???
すみません。
オラクルサーバの8を8iに上げるときに起こる非互換という意味です。
371NAME IS NULL:04/10/29 17:55:12 ID:???
>>370

マイグレーションマニュアルだろうな。
廃止されたパラメーターとか載っているはずだよ。
後はMetalinkかOTNか?
372NAME IS NULL:04/10/30 20:16:45 ID:5sQZ/IZC
すいません。
オラクルのインストールについてアドバイスいただけないでしょうか。


現在下記環境にてdbcaにてデータベースを作ろうとしているのですが
「ORA-27102: out of memory」
[ORA-01034: ORACLE not available]
の二つのエラーがでてつくれない状況なんです。
なにが原因かわからなくて、
怪しそうなところあったら教えていただきたいとおもってます。
どうかお助けおねがいいたします。。。



■ 環境
os SOLARIS8 sparc版
oracle 9.2.0.1 standardedition

■ インストールの作業
1.SOLARIS8のインストール

2.oracle9.2.0.1のインストールをしました。
ただしここではデータベースを作らずに終わりました。

3.次にdbcaでデータベースを作ろうとしたのですが、
作成途中に上のエラーがでて作成できませんでした。

373NAME IS NULL:04/10/30 23:03:39 ID:???
>>372

ちゃんとO/Sのパラメーターは推奨値に変更したんかいな?
特にSHMMAXの値を疑って見るといいと思うぞ。
374NAME IS NULL:04/10/30 23:39:26 ID:???
>>372
ハードのスペックかけ
特にメモリ重要。
256MB以上ないと無理。
375NAME IS NULL:04/10/31 02:35:37 ID:???
>>372
/etc/systemの設定は大丈夫だよね?
376NAME IS NULL:04/10/31 11:40:47 ID:Nc0cPEZ0
>373-374 さん

レスありがとうございます。

ハードウェアのメモリは1GBつんでおります。
shmax=4294967295にしております。

一点気になってるところが、init.oraしかなくて、init[SID].oraファイルがないのですが
これは問題ないのでしょうか?

377NAME IS NULL:04/10/31 12:10:34 ID:???
>>376
問題なし
378372:04/10/31 17:15:30 ID:Nc0cPEZ0
>> 377 さん

レスありがとうです。

もう一点気になるところが、

ps -ef |grep ora_
をしてみるたのですが、
まったく何もうごいてないようなのですがこれは問題ありますでしょうか?

379NAME IS NULL:04/10/31 17:46:38 ID:???
>>378
> ORA-01034: ORACLE not available

これが読めんのかね。
380NAME IS NULL:04/10/31 18:26:45 ID:???
>>378 echo $ORACLE_SIDしてみ
381372:04/10/31 18:34:39 ID:Nc0cPEZ0
>>379 さん

オラクルが使えないってことですよね?
エラーメッセージ集では下記のようにかかれてました

ORA-01034 Oracle は使用できません。
原因: Oracle は起動していません。次の原因が考えられます。
割り当てた領域より多くの領域がSGA に必要になっている。
インスタンスを指定するオペレーティング・システム環境変数が正しく定義されて
いない。
処置: 付随するメッセージを参照して、原因を確認し、その他のメッセージで示されて
いる問題を修正してください。Oracle が初期化されている場合は、いくつかのオペレー
ティング・システム上で、Oracle が正しくリンクされていることを確認してください。
プラットフォーム固有のOracle マニュアルを参照してください。


インストールして、データベースを作る前にはora_***は動いているものなのでしょうか?

>> 380 さん

echoしてみると設定している変数が正しく返ってきます。
382NAME IS NULL:04/10/31 19:38:22 ID:???
>>381
 面倒だから、/etc/system と ~/.profile をここに貼り付けろ。
383NAME IS NULL:04/10/31 20:06:59 ID:???
>>381
データベースとインスタンスは別なんだけど。
384372:04/10/31 20:31:24 ID:Nc0cPEZ0
>>382、383 さん

一点まちがってるところにきづきました。。

/etc/systemの設定したあとにリブートせずにオラクルインストールしてました。。。
今からリブートしてからdbcaしても問題ないでしょうか?
それともオラクル入れなおしでしょうか?


/etc/system、profileは前回導入してうまくいったときと同じものなので大丈夫だと思います。
今手元になくて、はりつけれないです。
385NAME IS NULL:04/10/31 21:04:25 ID:???
>>384

>今からリブートしてからdbcaしても問題ないでしょうか?
>それともオラクル入れなおしでしょうか?

やらずに質問するのはエスパー募集だからなのか?
それとも宗教的理由なのか?
386372:04/10/31 21:45:47 ID:Nc0cPEZ0
>385

やらずにきいてしまいすいません。

今できなくて、実際やるのは明日になるので、
oracleの再インストールが必要なら手順を調べておこうと考えまして
聞いてしまいました。

387NAME IS NULL:04/10/31 21:58:12 ID:???
dbca はインストーラとは関係なく、いつ実行してもよい。

実行しなくても自分で CREATE DATABASE などが叩けるなら
それでもいいだろう。
388372:04/10/31 22:08:01 ID:Nc0cPEZ0
>387

レスありがとうございます。

/etc/systemに設定する値がインストールの時に利用されるなら
再インストールする必要があるのかもと考えていました。
では一度再起動してdbcaを実行してみます。
ありがとうございました。

389NAME IS NULL:04/10/31 23:08:58 ID:???
>>388
つーか、インストレーションガイドを読めよ。
390NAME IS NULL:04/11/01 17:34:51 ID:aFVGFm6J
perl+oracle でプログラム書いています。
select P_G_ID, G_T, G_ID, CREDIBILITY from p_g_table where p_id=70
のようなSQLで3行かえって来るはずなんですが、
133,T,825,90
128,P,13,100
129,C,454,
の様に3行目の最後のフィールドが空文字列になってしまいます。
DBに直接ログインして値が入っていることは確認しました。
うまくいく pattern_id もあります。
また、select P_G_ID, G_T, G_ID, CREDIBILITY, CREDIBILITY とやるとうまくいく
みたいです。

perlDBIあたりのバグかなとも思っているのですが、
どなたか情報お持ちでしたら、教えてください。

環境は、
perl, v5.6.1 built for i386-freebsd
OS はFreeBSD 4.8。

DBはsolaris8i windows だと思います(自分の直接の管理下ではないもので...)
391NAME IS NULL:04/11/01 23:05:29 ID:???
perlなどという言語を使うのやめれば解決
392NAME IS NULL:04/11/02 01:20:04 ID:dHKumjJN
v$session_waitにPX Deq CREDIT〜ってのが、
たくさん出ているのだがこれってなに?
393NAME IS NULL:04/11/02 19:35:14 ID:VKYPqFQE
http://www.nikkei.co.jp/news/kaigai/20041102AT2M0200U02112004.html
米オラクル、対ピープルTOB価格24ドルに引き上げ
【シリコンバレー=八田亮一】米ソフト大手のオラクルは1日、
同業のピープルソフトに対する株式公開買い付け(TOB)提示価格を一株21ドルから24ドルに引き上げると発表した。
「最後の申し出」と説明し、19日までにピープル株の過半を取得できない場合はTOBを取り下げると初めて表明した。
昨年6月以降続く巨額買収劇は大詰めを迎えた。
394NAME IS NULL:04/11/03 00:21:00 ID:???
>>392

PX系はパラレルクエリーの待ち関係のイヴェントだったと思ったけど?
395NAME IS NULL:04/11/03 01:37:43 ID:???
>>394
パラレル止めたら、消えたよ。ありがd!
396NAME IS NULL:04/11/03 11:51:00 ID:C9uJK7mX
windowsドメインに参加したPC(WinXP)にOracle9を入れたのですが、
起動できません。

ちなみに、windowsドメインに参加しない状態でなら起動します。

windowsドメインに参加した状態ではOracleは動かないのでしょうか?

そんなアホな、と思ってるのですが、知識不足のため苦慮しております。

「これを読め」など、ご指南いただければ幸いです。
397NAME IS NULL:04/11/03 14:05:51 ID:???
>>396
Admin権限かなんかかな?
398NAME IS NULL:04/11/03 17:39:29 ID:rhHolyXp
もっとデータがいっぱいあるサンプルスキーマない?
OTN見たけど、それらしいものはなかった。
399NAME IS NULL:04/11/04 10:50:27 ID:???
Oracle10gでStrageGridを構成する場合、サーバの内蔵DASDで出来るのですか?
外付けのファイバーチャネルで接続したDASD群を構成しなくちゃいけないのかな。
400NAME IS NULL:04/11/04 13:26:38 ID:r8MeVatb
質問させてください。
PHPでOCIを使ってOracleにアクセスしています。
検索ページの「○件中○件を表示」というページ制御をするために、
SELECTで取得したあとに
たとえば11ページ目を表示する場合には
1ページあたりの表示行数x10ページ分、
OCIFetchを実行して空まわししたあとに、
表示すべきデータを取得してるのですが
ページ数が増えれば増えるほど目に見えて遅くなってしまいます。
これを回避する方法はあるのでしょうか?

PostgreSQLの場合は、SELECT文にOFFSETを
指定することができたと思いますが
このようなものがOracleにはありませんか?
401NAME IS NULL:04/11/05 00:45:23 ID:???
>>400
rownum は、だめ?
402NAME IS NULL:04/11/05 01:27:22 ID:???
>>400

>>123 あたりヒントがありそうだと思うが駄目なのか?
403NAME IS NULL:04/11/05 01:28:46 ID:???
>>399


StorageGridっつーのは、ASMのことかいな?
だったら別に内臓でも出来るぞ。
ただし2 nodes以上のRACの場合は外付けになるとおもうけどな。
1 node RACだったら別に内臓でも出来たよ。
404399:04/11/05 08:37:24 ID:???
>>403
レスありがとうございます。>399です。

RACで複数node構成にした場合を考えておりました。
やっぱり外付けになりますか。なるほど。
しかし1nodeRACの構成にしておいて、後で性能不足が
あったらnodeを追加する方式も取れるみたいですね。
勉強になりました。
405400:04/11/05 10:47:31 ID:???
>>401-402
ありがとうございます
123さんの方法で劇的に早くなりました

order by も join も where も使ってるため

select hoge from
(select hoge <中略> order by hoge) where rownum <= 30000
minus
(select hoge <中略> order by hoge) where rownum <= 29900

とすることでできました。
ただ件数が増えれば増えるほどメモリ食ってるんだろうな
という不安はありますが。。。

このカッコ内の(order by)の結果は
最終結果にも正しく反映されるのでしょうか?
それとも外側でも order by hoge とする必要がありますか?
406400:04/11/05 12:38:54 ID:???
自己レスです。
外にも order by つけないとだめでした。当たり前ですよね。
それとSQL文間違えてました。失礼しました。

select hoge from
(select hoge <中略> order by hoge) where rownum <= 30000
minus
select hoge from
(select hoge <中略> order by hoge) where rownum <= 29900
order by hoge
407NAME IS NULL:04/11/05 13:42:36 ID:???
>>406
それだとテーブルの全検索とソートを2回やることになるから
↓の方が良くない?
  select <カラム> from (
    select rownum as SEQ, v.* from (
      select <カラム> from <テーブル> order by 順序
    ) v
  ) where SEQ >= 開始 and SEQ <= 終了;
408400:04/11/05 14:12:44 ID:???
>>407
いただきました
ありがとうございます!
409NAME IS NULL:04/11/05 19:26:50 ID:3BqX1VWV
こいつでさえ、Oracle の本を読んでいるのに!!

tp://49uper.com:8080/html/img-s/20913.jpg
tp://49uper.com:8080/html/img-s/20911.jpg
410NAME IS NULL:04/11/05 22:40:19 ID:???
>>404

まあ、そのなんだ。
1 Node RACつうのは、技術的に可能ていう話であって、ボラクルにオフィシャルに
サポートされている訳でないので注意が必要だぞっと。
それとも最初はシングルで入って、足りなくなったらRACに変えると言っている?
それだったら別に問題はないけど、面倒な事は確か。
411NAME IS NULL:04/11/06 22:35:18 ID:???
Oracle DBのバックアップソフトって名につかってる。
 Veritasu NetBackup
BakBone Netvault
 exp,impコマンド
 begin backup,end backup
cp,tar

 などなど・・・・。
 どれ?
412NAME IS NULL:04/11/06 22:40:22 ID:vYj4NXmH
すみません、質問です。

ORACLEでランダムな7桁の大文字・小文字の入った英数字を返す
FUNCTIONを作りたいのですが、どのようにしたらよいでしょうか。。
ランダムな数字を返す関数はあったのですが、文字をランダムに
返す方法が見つかりませんでした。

どなたか同じようなことをされた方がいらっしゃいましたら、
ご教授お願いいたします。
413NAME IS NULL:04/11/07 00:34:30 ID:???
個人的にはそんなのアプリでやればいいのにと思います
414412:04/11/07 02:27:45 ID:YiNQ8jUT
>>413
sqlでこのようなことをするのは、難しいということでしょうか。。
415NAME IS NULL:04/11/07 03:08:15 ID:???
>>412
一般的なプログラミングの話になるけど。

使う文字が少ないのであれば、それを文字列で持っておいて、
ランダムな数字で、その文字列の中から取り出すって方法がある。
416NAME IS NULL:04/11/07 03:17:50 ID:???
>>412
si object browser を使ったほうが楽。
417NAME IS NULL:04/11/07 03:40:07 ID:l1t73am/
>>411

プラットフォームに依存するんじゃない?
大規模システムになると、大抵はRMAN+Tape Storageというのが一般的だと
思うけど?
Tapeは窓系ならVeritus、HP系ならOmniBack、IBMならTSMってとこか?
Sunは使ったことないから分からんw
418412:04/11/07 03:44:18 ID:???
ありがとうございます。。

>>415
それは文字コードも意識する必要が無くて良いですね。
早速実装してみます。

>>416
なるほど、これは気づきませんでした^^;
いざとなったらぜひ使わせていただきます。
419NAME IS NULL:04/11/07 23:33:02 ID:???
Oracle Discovererって、使ってる人います?
あれは本当に糞だ。
420NAME IS NULL:04/11/08 00:41:09 ID:???
ダウンロード板に神ID光臨!なんと宝くじ1等級の確立!
1 名前: 番組の途中ですが名無しです 投稿日: 04/11/07 21:09:17 ID:Eu/zxK/m
アプリ総合スレッド8
http://tmp4.2ch.net/test/read.cgi/download/1099410418/105
105 直林大王 ナナシサソ 04/11/05 01:09:05 ID:19966145

内容はコピペすると問題ありなので自粛

今すぐ記念カキコに走れ! のこり80きりました!!
421297:04/11/08 12:49:59 ID:???
解決はしませんでしたが一応対策を施すことができたので報告します。
結局1項目あたりの大きさを変えることができなかった(COLUMUNなどでは全てをカバーしきれない)ので、1行あたりの読込サイズを80から500に変更することでソフトの変更無しで結果を取り込むことができるようになりました。
いろいろ助言くださった皆さんありがとうございました。
422NAME IS NULL:04/11/08 18:20:35 ID:???
>>419

禿げ同。
ヨーロッパで使ってるけど、こいつの発行するSQLは本当にう●こ。
ViewからViewを呼び出したり、なんとかしろって感じだよ。
423NAME IS NULL:04/11/09 23:15:22 ID:???
Discovererはバグが多すぎて使い物にならない。

*.disを開く

何もせず上書き保存

*.disをよく見ると、サイズが倍になっている

(゚Д゚)マズー
424NAME IS NULL:04/11/10 00:15:27 ID:???
>>423

仕様です。 by ボラクル
425NAME IS NULL:04/11/11 01:56:01 ID:???
キャッシュを無効にしてSQL文を実行するにはどうしたらよいでしょうか?
426NAME IS NULL:04/11/11 01:58:09 ID:???
>>425

ALTER SYSTEM FLUSH BUFFER_CACHE;

10gから。
427NAME IS NULL:04/11/11 05:58:59 ID:???
>>425

10g以前だったらDB起動後にSQL実行すればOk。
ベンチマークとか取る時とかには良くやっていた。
逆にランプアップピリオドとして、5分間SQLを投げ続けた後から
実際にベンチを取ったりとかね。
でもキャッシュを外してSQLを実行する事のメリットって何?
Disk I/Oのパフォーマンスでも見るの?
428NAME IS NULL:04/11/11 15:14:59 ID:axE5sAg0
基本的なことなのかもしれないですが、質問させてください。
データベースバッファについてです。

例えばテーブルAにカラム1,2があるとして
select カラム1 from テーブルA;
を発行した場合、キャッシュされるのは

カラム1(selectしたものだけ)
or
カラム1、2(ブロック上にあるものそのまま)

どちらなのでしょうか?


ちなみにOracleのバージョンは8iです。
429NAME IS NULL:04/11/11 18:30:43 ID:0De9WdRb
csvファイルのデータを、表にインポートしたいんですが、html_dbの作業領域をリクエストしても
Your request for an account has been declined.
というメールしか返ってきません。
他にいい方法があったら教えてください。

バージョンはoracle10gです。

430NAME IS NULL:04/11/11 18:45:23 ID:???
>>429

ちゃんとそのユーザーに権限与えてあるよね?
431NAME IS NULL:04/11/11 18:49:03 ID:???
登録したときのスキーマはsysで登録しました。
432NAME IS NULL:04/11/11 20:28:31 ID:???
>>428
バッファキャッシュはブロック単位です。
433NAME IS NULL:04/11/12 08:22:18 ID:???
PL/SQLで変数iが宣言しなくても使えるんですが
他にもこんな変数があるんでしょうか?
434428:04/11/12 14:07:35 ID:0P+k8I6j
>>432
考えてみれば読み込みの最小単位がブロックっていってるんだから、そうですよね。


あ、でもこの後
select カラム2 from テーブルA;
をした発行した場合、キャッシュを読みにいってくれるんでしょうか?

435NAME IS NULL:04/11/12 18:36:06 ID:???
>>434

DBA(管理者じゃくてData Block Addressの方ね)が同じだったら当然
Cacheに乗ってるんだから、読みに逝くだろ。
436428:04/11/13 01:19:05 ID:s9+P6vcR
SQL解析でDBAを特定しているのだから、
DBAが同じ場合はキャッシュを読みにいくということですね。

イメージできました。ありがとうございます。
437NAME IS NULL:04/11/18 13:33:46 ID:yr9HxDQb
viewのソースが見たいのですが
どうすればよいでしょう?

desc hoge_view;
では、カラムの定義しか表示されません。
438NAME IS NULL:04/11/18 16:09:25 ID:???
dba_views
439NAME IS NULL:04/11/20 02:10:58 ID:???
テーブルのデータをcsv形式でかつダブルクォーテーションで括ってpl/sqlで
spoolして定期的に出力したい
のだが、カラムを||で連結していくと文字列が4000バイト以上になり、
エラーになります。思いついた回避策としては、
案1 分割して結合する。しかし面倒そうなのでやめ。
案2 set colsep '","'を指定し、カラムの連結はしないでカラムを出力。
   しかし、データに原因不明なスペースがはいってしまう。
現在、両方うまくいかず苦戦しています。
何かうまく回避する方法はありませんか?
環境は9iです。
440NAME IS NULL:04/11/20 07:33:16 ID:???
trimspool とか駆使すればできるよ。
OTNでCSVとかで検索してみれ。

しかし最近OTNってゴミが多くて検索も大変だよね。
過去ログみろとかサポート行けとか1行だけ書くポイント乞食は退場してほしい。
441NAME IS NULL:04/11/20 07:42:27 ID:???
442NAME IS NULL:04/11/20 11:39:04 ID:???
>>428
読み込まれるブロックが多いと、キャッシュされないよ。
443NAME IS NULL:04/11/20 17:13:11 ID:???
>>440
OTNなどのオラクル掲示板の過去ログも検索しましたが、適当な回答がなく
悩んでいるところです。
trimspoolは私も使用しましたが、行末の空白を削除するというもので
今回のケースは区切りの間にスペースが入ってしまうというものです。
手元に環境がないのでうる覚えですが下記のような具合です。□はスペース。

欲しい結果 "20041101","AAA","営業"
現状結果  "20041101"□□□,"□□□AAA"□□□,"営業"

ちなみに、各カラムにはすべてtrimを使用しています。
原因不明の区切りの空白をなんとかしたいと思っています。

>>441
参照先を見たのですが、PL*SQLでなくストアドでUTL_FILEパッケージを使用しているのは
わかるのですが、コードが難しくてよくわかりません。
私は、PL*SQLで出力するのがまずいのかと思い、テスト用にUTL_FILEパッケージを使用して
ストアドを作成したのですが、やはり最大長を超えましたというエラーになりました。
テキストリテラルとして、4000バイトの制限があるそうです。そのため、案1と案2の
回避策を考えました。

急ぎではないので、もうちょっと考えて見ます。
444NAME IS NULL:04/11/20 21:36:41 ID:???
>443

データをCSVではき出すツールって、フリーでも結構あるから
適当にぐぐってみれば見つかるよ。
時間があるなら、ociで書いちゃえば良いし。
445NAME IS NULL:04/11/21 10:09:34 ID:???
>>443
まさかとおもうけど、CHARのエリアに可変長の文字列入れてスペースがはいって困ってるってはなしじゃないよね・・・
446NAME IS NULL:04/11/21 12:05:09 ID:???
OTNじゃ期待薄なんでこちらに書かせて頂きます

Data Guard(ロジカル)構成でプライマリ側からホットバックアップ取得して
スタンバイを作成しようとしています。

ホットバックアップからスタンバイDBを作成して、スタンバイDBのリカバリ作業までは
うまくいくんですけど、SQL適用操作を開始しようとして

alter database start logical standby apply initial (SCN);

ってやるとエラーになってしまいます。

Completed: ALTER DATABASE START LOGICAL STANDBY APPLY
Fri Nov xx xx:xx:xx 2004
LOGSTDBY event: ORA-16111: log mining and apply setting up
LOGSTDBY event: Unsupported instantiation mode was used.
LOGSTDBY event: See release notes for creating logical standby
LOGSTDBY event: ORA-16524: unsupported operation
Fri Nov xx xx:xx:xx 2004
Errors in file /opt/oracle/admin/xxxx/bdump/xxxxxx.trc:
ORA-16524: unsupported operation

別方法でスタンバイDBは別途作成済みなんで、サポート外のデータ型
があるとかは無いです。
心当たりがある方はアドバイスお願いします。

Solaris 5.9
Oracle 9.2
447NAME IS NULL:04/11/21 16:13:25 ID:R0k6Asjg
単純な質問ですみません

Oracleのto_charで
2004/01/02 でなく 2004/1/2
のようにゼロ抜きで取得することはできますか?

'YYYY/FMMM/FMDD'
みたいな書き方を探してます。
ご存知の方教えていただけませんでしょうか。
448NAME IS NULL:04/11/21 18:30:03 ID:???
>>446

可能性としては・・・
1. Logical Stand-by側のRecoveryがちゃんと指定したSCNまで完了していない。
2. Logical Stand-by側でNISする前にTemp領域を再作成していない。
の二つかね?
449NAME IS NULL:04/11/21 18:31:49 ID:???
>>448

すまん、タイプミス。
NISじゃなくって、NIDだ。
450NAME IS NULL:04/11/21 21:14:13 ID:???
申し訳ないのですが、どなたかお力をお貸しください。

Win2K鯖&Oracle9i環境なのですが、
作成済みインスタンスのSIDを変更するということは可能なのでしょうか?
クライアントの我侭で、以下の条件を満たした上でDB移行を行うということになってしまいまして・・・。

条件
 1.現行DBの構造をそのまま移行すること
 2.現行DBは削除せず、そのままにすること 
 3.クライアント端末の設定は変更しないこと

1はどうでもいいとして、2と3の両立が・・・。
もうどうしたら良いものやら。(T-T)

初期化ファイルのinstance_nameを変更してみたのですが、当然それだけではダメでした。
ご存知の方が居られましたら、どうかご教授ください。
451439=443:04/11/21 21:25:47 ID:???
>>444
確かにあるのですが、パッケージに組み込む予定なので、フリーのツールを
使わすに、月次バッチを組んで運用しようとしています。
VBSでスペースを削除する関数を作成して、バッチでそれをよべばいいかなと
考えています。ただ、カラムの中のスペースまで削除しないようにするのは面倒です。

>>445
varchar2になってます。
備考用のカラムが1000バイトで複数あるため、4000バイト
超えてしまいます。本番ではまずありえないのですが、単体テストでフル桁入力
してテストしていると今回の問題が発見されました。

とりあえず、月曜にいろいろ試してみます。
452NAME IS NULL:04/11/21 22:29:45 ID:???
>>450
DB名の変更はできなかったかもしれないけど
インスタンス名はいつでも変更可能
変更したいインスタンス名でサービス作って初期化パラメータファイルのインスタンス名変更してたちあげてみれ
453447:04/11/22 00:01:24 ID:???
>>447
自己レスです

yyyy/fmmm/dd
でできたのですが
これって正しい使い方でしょうか?

yyyy/fmmm/fmdd
だとだめなんですよね
なんか気持ち悪いですが
454446:04/11/22 00:55:44 ID:???
>>448

ありがとうございます。
一応、その点も確認したつもりなんですけど、ご指摘の点に注意しながら
再度挑戦してみます。

けど、あれ最初からやるの結構時間かかるんですよね…。
455NAME IS NULL:04/11/22 02:22:37 ID:???
>>450

NIDが使えると思ったけど?
もしくはコントロールファイルの再作成ね。
でも窓の場合はインスタンス名を変える前にoradim使って、サービスを
再作成しないと駄目だろうね。
456NAME IS NULL:04/11/22 02:26:15 ID:???
>>454

確かに時間がかかるね〜。
10gでもlogical stand-byを作って遊んだけど、出来上がるまでがかなり面倒。
まあ、でも記憶をリフレッシュする意味も含めて、たまに作って遊んでいるよ。
457NAME IS NULL:04/11/22 07:29:48 ID:???
>>450
> 作成済みインスタンスのSIDを変更する

新たなSID名のサービスを作成して、既存の%ORACLE_HOME%database\init<SID>.oraを
その新SID名に準じたinit<SID>.oraにコピーして、%ORACLE_HOME%\databaseに配置。

新たなSID名のサービスを起動して、インスタンスも起動。
set ORACLE_SID=newSID
sqlplus "/as sysdba"
startup

instance_nameや、db_nameはSIDとは別物です。
instance_name/db_nameを変更してもSIDを変更したことにはなりません。
ちなみに、db_nameは制御ファイルに格納されているので、
制御ファイルの再作成が必要になります。


あと、3.はクライアントのCONNECT__DATAにSERVICE_NAMEを使用しているのならば、
それほど難しい話ではありません。初期化パラメータのSERVICE_NAMESの変更だけで
済みますので。Oracle Netが動的構成ならば、listener.oraすらいじる必要がありません。
458NAME IS NULL:04/11/22 08:25:11 ID:???
えっ!
SIDってインスタンス名じゃないの?
459NAME IS NULL:04/11/22 10:52:32 ID:???
>>453
FM1回ごとに
ゼロを除去するか付けるかが切り替わるみたいですよ

FMMM/FMDD
だと、最初のFMでゼロなし
次のFMでゼロありになるので
1/01
みたいになってしまうと。
460447:04/11/22 13:57:05 ID:???
>>459
サンクスコ!
461446:04/11/22 16:10:15 ID:???
やはり同じエラーが発生

もう1度手順見直してみたらちょっとご指摘頂いたのとちょっと違ってた。

> 2. Logical Stand-by側でNIDする前にTemp領域を再作成していない。

マニュアル的にはNIDした後にTemp領域を再作成してるみたいなんですけど、
実はNIDする前にTemp領域再作成しなきゃ駄目何ですか?
ひとまず、順番を逆に再チャンレンジしてみます。
462NAME IS NULL:04/11/22 19:32:15 ID:???
>>461

アメの方のサイトに、NIDする前にTemp領域をDropしているか、もしくは再作成している
必要があるみたいな事が書いてあった。
後、「マニュアルの順番違うやんけっ!( ゚Д゚)ゴルァ!」という記述もあった。
もしこれでも駄目なら凄い面倒だと思うけど、手順を晒してくれればこっちでさらに
チェックは出来ると思う。
463461:04/11/22 20:15:39 ID:???
Temp領域を先に作成しても駄目でした(T T)
ざっくりと(が、長い)ですけど、手順です。
Temp領域を先に作ったときは、項番7の前に項番9を実施しています。

1.プライマリからホットバックアップ、初期化パラメータ、制御ファイル、
パスワードファイル取得してスタンバイにコピー

2.コピーした初期化パラメータをスタンバイに合わせて書き換え
#書き換えたパラメータ
CORE_DUMP_DEST
USER_DUMP_DEST
CONTROL_FILES
INSTANCE_NAME
LOG_ARCHIVE_DEST_1
LOG_ARCHIVE_DEST_STATE_2(DEFERに設定)
STANDBY_ARCHIVE_DEST

※LOG_ARCHIVE_DEST_1がローカルのアーカイブログ、LOG_ARCHIVE_DEST_2が
リモートのアーカイブログの設定になっています

3.新スタンバイをマウントして、データファイル、REDOログの位置を修正

4.alter database clear logfile group 〜でREDOログファイル作成

5.項番1で取得したSCNを指定してリカバリ
(正常終了。Alertログにもエラー無し)

6.データベースガードをオン&リセットログ
alter database guard all;
alter database open resetlogs;
shutdown immediate;

7. データベースをマウント後、NIDを使用してDBNAME変更
⇒shutdown後、初期化パラメータのdb_name修正

8. パスワードファイルを再作成

9. データベースをオープンして一時ファイルを再作成

10. 開始アーカイブREDOログを登録
alter database register logical logfile 'filename';
filenameは項番1ホットバックアップの最後で実施した
switch logfieで作成されたファイルを指定

11. SQL適用操作開始
alter database start logical standby apply initial <SCN>;
<SCN>はリカバリで使用したものと同じ
⇒ここでAlertに461で書いたエラー


ググったらほぼ同じ現象をいくつか見つけたんですけど、
それに対する解決策は見つかりませんでした。
464NAME IS NULL:04/11/22 21:28:04 ID:???
とりあえず気になる所をあげていくぞっと。

1. supplemental loggingがenableになっているか。

SQL> SELECT SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI
FROM V$DATABASE;

SUP SUP
--- ---
YES YES

なっていなければ、以下を実行。
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY,
    UNIQUE INDEX) COLUMNS;
SQL> ALTER SYSTEM SWITCH LOGFILE;


.2. Log Minor Dictionaryを作成する前にRestrictedモードにしているか。

SQL> ALTER SYSTEM QUIESCE RESTRICTED;
SQL> EXECUTE DBMS_LOGSTDBY.BUILD;

あとは取り合えずこっちでHotbackupから一回作ってみるよ。
遊べるプラットフォームがLinuxしかないけど、基本は同じだろうし、なんとかなるべ?
465461:04/11/22 22:21:46 ID:???
ご親切にありがとうございます。

> 1. supplemental loggingがenableになっているか。
こちらは

SUP SUP
--- ---
YES YES

ってなっていたので、大丈夫そう。

> .2. Log Minor Dictionaryを作成する前にRestrictedモードにしているか。
ホットバックアップから作るドキュメントにこの記述がまったく無かったので、
実施してませんでしたorz
コールドバックアップから作成している最新のドキュメントを見ると書いてありました。

とすると、

・一通りプライマリのバックアップを取った後にLogMinerをRestrictedで作成
・最新のアーカイブREDOログを識別
・項番10のREDOログは↑のREDOログを指定
・項番11はSCNを指定せずにINITIAL句のみで実行

が正しいことになります?
蛇足になりますが、LogMiner関連の表領域を項番1でプライマリからそのまま
スタンバイに持ってきたんですが、上の操作をしてからバックアップを取得して
スタンバイに移動するのが正しいことになるのでしょうか?

何だか、理解不足な部分が多々ある模様。
恐縮ですが、お力添えよろしくお願いします。
466NAME IS NULL:04/11/22 22:41:22 ID:???
>>465

ただ今LinuxにOracleをインスコ中・・・。

手順としては・・・

1.バックアップを取得。
2.Restrictedモードにしてlogminer dictionaryを作成
3.プライマリー側でLog Switchを発生させる。
4. SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES'
and STANDBY_DEST='NO';
でArchifelogを調べる
5. SQL> SELECT MAX(FIRST_CHANGE#) FROM V$ARCHIVED_LOG WHERE
DICTIONARY_BEGIN='YES';
 でSCNを調べる

だろうな。
467461:04/11/23 01:32:35 ID:???
とりあえず強制撤去になってしまい動作確認できず。
明日ってできるのかなぁ。

まだ動作するか分からないけど、465さんありがとうございます。
468NAME IS NULL:04/11/23 01:34:52 ID:???
>>467

とりあえずLinux上ではサクッと出来たぞ。
ちゃんとlogが適用される所まで確認できた。
いや〜、久しぶりに作ると結構忘れている所があって焦った。
469NAME IS NULL:04/11/23 17:43:26 ID:???
>>463

とりあえず、ざっくりとLinuxで実施した点を書いていく。(長いね・・・。)

0.スイッチオーバーを想定してプライマリーにてLogical Standby表領域を
 作成しておく。
SQL> EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('logical_tblsp');

1. Primaryにてほっとバックアップを取得。(ホットなので一時表領域は
取らない。というよりも取れない。)

2. コントロールファイルのバックアップを取得。
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/hogedir/hogeboge.ctl';


3. プライマリーをquiesced stateに変更する。(この時にプライマリーのinit.ora
の中でresource_manager_plan = 'SYSTEM_PLAN' が設定されていないと
エラーとなるので注意)
SQL> ALTER SYSTEM QUIESCE RESTRICTED;

4.logminer dictionaryを作成する。
SQL> EXECUTE DBMS_LOGSTDBY.BUILD;

5.log switchを発生させ、logical Stanby側で適用を開始するlog番号を
 調べておく。

SQL> ALTER SYSTEM SWITCH LOGFILE;
SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES'
and STANDBY_DEST='NO';

NAME
-----------------------------------------------------------------
/hogedir/arch/bogearch_77.arc


6.logical standbyのリカバリーに必要なSCNを調べておく。
SQL> SELECT MAX(FIRST_CHANGE#) FROM V$ARCHIVED_LOG WHERE DICTIONARY_BEGIN='YES';

MAX(FIRST_CHANGE#)
------------------
123456

7. システムをUNQUIESCEに変更して、ログスイッチを発生させる。
SQL> ALTER SYSTEM UNQUIESCE;
SQL> ALTER SYSTEM SWITCH LOGFILE;
470NAME IS NULL:04/11/23 17:44:11 ID:???
>>463

8. こっからLogical Standby DB側での作業。init.oraをlogcial standby用に
 修正しておく。

9. logical standby DBをexclusiveモードにてmount.
SQL> STARTUP MOUNT EXCLUSIVE;

10.ファイル位置を修正する。

11.redologの再作成。
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
:
:

12. Step 6.で得たSCNまでlogical standby側のDBをリカバリーする。
SQL> ALTER DATABASE RECOVER AUTOMATIC FROM
'/bogedir/LGSTBY/arch/'
UNTIL CHANGE 123456 USING BACKUP CONTROLFILE;

13. logical standby側でのみdataguardをonにする。
SQL> ALTER DATABASE GUARD ALL;


14. logical standby DBをopen resetlogsで上げて、nidでrenameする。
SQL> ALTER DATABASE OPEN RESETLOGS;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT EXCLUSIVE;
SQL> EXIT;
$ nid target=sys/change_on_install dbname=bogestdby

15. 一時表領域にtempfileをaddする。

16.logcial standby DB側で、step 5.で調べた番号以降のarchivelogを
  全て適用する。

SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE
'/bogedir/LGSTBY/arch/bogearc1_77.arc';
SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE
'/bogedir/LGSTBY/arch/bogearc1_78.arc';
:
:

17. Step 6.で調べたSCNを指定してlogical Standbyを開始する。

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY INITIAL 123456;


いや〜、やっぱ長いね〜(;´д`)
471NAME IS NULL:04/11/23 17:48:48 ID:???
>>463


18.後はプライマリー側のDBでinitを修正して、archivelogがlogical standby側にも
  きちんと飛ぶように修正すれば、自動的にlog applyが始まるはず。
472NAME IS NULL:04/11/23 18:29:31 ID:???
こんなに手順が必要なのはモノの出来が悪い証拠だな
473NAME IS NULL:04/11/23 18:59:21 ID:???
>>472

まあねぇ。
Logical Standbyは一度動きさえすれば、それなりに便利なんだけどねぇ。
たまにログが適用されなかったりして、再作成しないと二度と使えなかったり
なんて事もザラにあったりするんだけどね(・∀・)ニヤニヤ
474NAME IS NULL:04/11/23 19:46:17 ID:???
>>473
そうなんです。ザラにあるんです。で〜たが〜どは怖いっす。
まだマルチマスタ同期レプリのほうがましっす。
475NAME IS NULL:04/11/23 20:40:49 ID:???
フィジカルスタンバイにしとけって
476461:04/11/24 14:52:04 ID:???
おかげ様でスタンバイDB作成することができましたm(_ _)m

どうやらLogMinerディクショナリの作成をすっ飛ばしてたのが
原因だった模様。

一点だけ疑問点。
>>469-471 の16番で

startup pfile='init<SID>.ora' mount;
alter database open;

で立ち上げてからアーカイブログを適用すると

ORA-01665: 制御ファイルがスタンバイ制御ファイルではありません

ってエラーになってしまいます。指定したPFILEからSPFILE作成して、
それを使って立ち上げなおしたら、アーカイブの適用ができるように
なりました。
何でだろう?
477NAME IS NULL:04/11/24 17:30:57 ID:???
>>476

無事に出来たみたいで何より(゚∀゚)
でもspfileの件は分からんなぁ・・・?
DB Nameがおかしかったのか、もしくは何らかのデフォルトバリューが
おかしかったのか・・・。
478461:04/11/25 00:49:46 ID:???
>>477
(一応ちゃんとした形式の)手順書できたし、明日もう1回作った手順書の
確認も含めて試してみます。

>>475
フィジカルスタンバイにしたいのは山々だったんだけど、要件的に
ロジカルじゃないと無理なんです_| ̄|○
479NAME IS NULL:04/11/25 12:19:16 ID:RmBjqOKX
TEMP01.DBFファイルが2ギガを超えたので、
小さくするにはどうすれば良いですが?
せめて500メガ位にしたいです。

教えてください。

宜しくお願いします。
480NAME IS NULL:04/11/25 13:05:55 ID:EOEkWFC7
481NAME IS NULL:04/11/25 20:09:55 ID:???
>>479

バージョンが分からんが8i以降だと想定するぞ。
alter database tempfile '一時表領域用ファイル名' resize 500m;

当然変更する時にSortが走っていて500M以上になっていたらエラーになるぞっと。
482479:04/11/26 00:15:42 ID:GFTJ1cH7
>>481

ご回答ありがとうございます。

実行してみましたが、下記のメッセージが出て、出来ませんでした。

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
に接続されました。
SQL> alter database tempfile 'C:\oracle\oradata\xxx\TEMP01.DBF' resize 2000m;
alter database tempfile 'C:\oracle\oradata\xxx\TEMP01.DBF' resize 2000m
*
行1でエラーが発生しました。:
ORA-03297:
ファイルには、要求したRESIZE値を超える使用中のデータが含まれています。

tempfileのデータを消す方法をこれから探してみます。

ありがとうございました。
483NAME IS NULL:04/11/26 00:38:12 ID:???
>>482

DBをRestrictモードにするなり、リスタートするなりしてSortが走らない
ようにしてから変更すればいいと思う。
484なみ:04/11/27 01:28:22 ID:tK3UBASD
初心者です。
oracleのサービスを停止しないでOSをshutdownしてしまいました。
今まで使用していた機能が使えなくなったのですが、
dbが破壊されたのでしょうか。
485NAME IS NULL:04/11/27 01:46:47 ID:???
>>484

いったいどんな機能が使えなくなったのか具体的に言って
貰えるとこちらも答えやすいです。
おそらくサービスと言っている時点で、O/Sは窓だとは思うの
ですが、正確なプラットフォームとOracleのVer.とか書いて
あると、さらに答え易いでしょう。
486なみ:04/11/27 02:14:35 ID:tK3UBASD
早速のご連絡ありがとうございます。
sparcUsolaris8、oracle8iです。
新規レコード追加でエラーが発生しています。
487なみ:04/11/27 02:23:46 ID:tK3UBASD
例えばdbのサービスが起動していても、db参照やdb更新中でなければ、
いきなりshutdownしてもdbが壊れるということはないのでしょうか。
488NAME IS NULL:04/11/27 02:36:50 ID:???
>>486
エラーじゃ分からん、情報をしっかり書け。
489なみ:04/11/27 02:53:18 ID:tK3UBASD
おっしゃるとおりです。しばしお待ちくださいませ。
490NAME IS NULL:04/11/30 12:04:53 ID:???
子供の使いかよ…>484 >486 >489
491NAME IS NULL:04/11/30 13:09:21 ID:???
みなさま助けてください。

ユーザーのサーバが816なんですが
当方の環境はWindows2003サーバです。IISから816に
データ取得を行いたいのですが、816クライアントをWin2003に
インストールしようとする失敗します。

どんなPathを当てればインストできるのでしょうか?

ご存知の方、ご教授ください。

よろしくお願いします。
492NAME IS NULL:04/11/30 14:37:25 ID:???
>>491
チェストパス
493NAME IS NULL:04/11/30 15:25:37 ID:???
>>491
>失敗します。
だけで、あなたに何が起きてるかが
他人に解って貰えると思っている人というのは
高い確率で OTN の FAQ
    tp://otn.oracle.co.jp/support/productfaq/index.html
も検索しないようです。

因みに Windows Server 2003 でサポートされるのは
1> 9i (32bit) R9.2.0.3 以降
2> 9i (64bit) R9.2.0.2 以降
3> 10g R10.1.0.2 以降
だけで、R8.1 なんてサポート外ですよ。
494NAME IS NULL:04/11/30 15:33:10 ID:???
>>493
それは読んでいます。
もちろん対応外なのは知っているのですが
ユーザーのアップグレードは不可能なので
何か裏技ないかなーなんて。。。思ったしだいです。

失礼しました。

そんな生理中のおなごの用に、眉毛上げないでくださいよ〜
495NAME IS NULL:04/11/30 16:54:45 ID:???
>>494

裏技ねぇ・・・。

1. CDの中身を全てローカルのディスクにコピーする。
2. コピーしたファイルの中からsetup.exeを探す。
3. 右クリックして「プロパティ」の画面を出す。
4. 「互換性」のタブにいって、そこの「互換モード」を「Windows2000」にセットする。

これでインストール自体は出来るはずたけど、でもこんな未サポートの事やって
何かあったらどうすんの?
496NAME IS NULL:04/11/30 17:31:18 ID:???
oracleって高いね。

他のアプリケーションって安くなってきてるのに
データベースだけは高いよね。

前に他の人が高いと言っていたら、自分で作ったより
安くつくと言っていたけど、自分で電子レンジを作るぐらいなら
メーカーに工場で大量生産する方が安くつくのと一緒で

大量に売れれば安く出来る筈なのに、データベース全体が
高い値段のまま・・・

フリーのデータベースがあるから言いのだけど・・・
497NAME IS NULL:04/11/30 18:20:33 ID:???
>>496
そうだね

と流したいとこだけど
高すぎってとこには同意
498NAME IS NULL:04/11/30 19:11:35 ID:???
>>492

記憶の中から引きずり出しけど、そういえば厨・工のバスケの授業で習った、習ったw
499NAME IS NULL:04/11/30 20:08:58 ID:???
最近はタダでさえ売り上げが落ちてきているから、安くは出来んのですよ。
500NAME IS NULL:04/11/30 20:20:38 ID:???
Oracle7→Oralce8のデータ移行の際に、LONG型のデータを移行しているのですが、
Pro*COBOLで作成したプログラムで読み出したところ、BCDで登録しているデータのうち、
X“79”を超える値が全てX“3F”に変換されてしまっています。
どなたか原因わかる方いらっしゃいますでしょうか?
よろしくお願いします。
501NAME IS NULL:04/11/30 23:18:51 ID:???
Oracle805は個人で買ったけどなぁ。
まあl、たかいっちゃたかいけど、
数千万、数億のプロジェクトからしたら誤差の範囲だ。
502NAME IS NULL:04/11/30 23:53:29 ID:???
なんかOracleとよく分からん契約結んでるらしく、80%OFFで購入できる。
だからと言ってユーザ数が数人でも数千人でもEnterpriseEditionってのは
いかがなものか。
503NAME IS NULL:04/11/30 23:57:18 ID:???
数百万件のテーブル同士を結合する際にスピードを上げるにはどうしたらいいでしょうか?
結合のキーは双方とも主キーになっています。
504NAME IS NULL:04/12/01 00:42:20 ID:???
>>503

フルスキャン走らせるのなら、パラレルクエリぐらいしか思いつかんな。
505503:04/12/01 01:57:58 ID:???
>>504
ありがとうございます。やってみます。
506NAME IS NULL:04/12/01 02:10:49 ID:???
>503

ハッシュパーティションしてパーティションワイズジョインだ

507NAME IS NULL:04/12/01 10:57:24 ID:???
>>499
早く手を打たないと
そろそろやばいだろうな

やばいとは思ってんのかな?
508NAME IS NULL:04/12/01 17:48:35 ID:4JSs2Xi/
listener 動かしてると listener.log できるけど
名前変えたりした時に再起動せずに
listener.log を再度書き出させるには
どうしたらいいの?
プロセス tnslsnr にシグナルHUP送ったら
死んでしまうようで。。。
509NAME IS NULL:04/12/01 19:52:22 ID:mpe68v1D
dbcaにてデータベースを作ろうとして
以下のエラーが出て、作れない状況です。

ORA-27302: failure occurred at: skgpwreset1
ORA-27303: additional information: invalid shared ctx
ORA-27146: post/wait initialization failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpsemsper

何が原因が、見当がつかない状況です。
何か怪しそうなところ教えてください。

>372さんの一連の流れは一通り読みました。

ちなみに、現在すでに、そのマシンに2つのデー
タベースがあり,それらが立ち上がったままで
dbcaによりデータベース作ろうとしています。

■ 環境
os SOLARIS8 sparc版
oracle 9.0.1.4 standardedition
メモリ 2GB積んでます。

cat /etc/system の一部

* Oracle
set shmsys:shminfo_shmmax=1294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=200
set semsys:seminfo_semmns=400
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767
510NAME IS NULL:04/12/01 23:25:10 ID:???
>>509
 ためしに今動いている、2つのインスタンスをとめてから
 dbcaで作成して味噌。
 おそらくメモリ不足。
ttp://otn.oracle.co.jp/cgi-bin/non/msgview_r.cgi?communityid=otn-901234&bbsid=1&no=14150&view=8
511NAME IS NULL:04/12/02 01:32:52 ID:???
>>509

>>510が指摘している様にメモリ不足。
SEMMSLとSEMMNIの値を上げてO/S再起動だっ!
512509:04/12/02 17:08:08 ID:xotfBDNs
>510
>511
早速の回答、ありがとうございます。 

業務の都合で,すぐにはインスタンス停止や
OS再起動ができないので,後日改めて実
行した際に、その結果を報告させていただきます。
取り急ぎのお礼でした。
513NAME IS NULL:04/12/02 19:15:40 ID:???
SqlPlus等で使用するv$sessionのosuserって
何を表示してるのでしょうか?

言い換えると、クライアントPCの何を変更すれば
osuserの内容も変わるのでしょうか?

PC(XP)のユーザー名を変えても
osuserは変わらなかったので・・・
514NAME IS NULL:04/12/02 20:05:55 ID:xotfBDNs
ユーザーモードでのEXP時に,ROWS=Nとして実行してできたデータがあります。

これのIMP時に,rows=n, index=n で行ったのですが、表領域先の容量が足りなく
て,エラーが発生します。

私としては,IMP先の表領域には、(最小エクステントサイズ)×(オブジェクト数)
以上の空き容量があるので,大丈夫だと思うのですが。
どこをいじれば、IMPが期待通りに、表領域に収まるのでしょうか?

(ROWS=nとしてEXPしたので、IMP先はかなり容量減るはずと思っているのですが。)

(以下はIMPのログの一部です)
"" CHAR(8) NOT NULL ENABLE) PCTFREE 5 PCTUSED 60 INITRANS 1 MAXTRANS 255 ST"
"ORAGE(INITIAL 9109504 FREELISTS 1 FREELIST GROUPS 1) LOG"
"GING"
IMP-00003: Oracleエラー1536が発生しました。
ORA-01536: 表領域USERSに対して割り当てられた領域を使い果たしました。
515GOGO:04/12/02 22:52:39 ID:CIl33d9T
どなたかわかる方がいたらお答え下さい。
2種類のメールアドレスのヘッダからIPアドレスを割り出したら
同じIPアドレスだったのですが、それは2つのメールが
1つのPCから発信されているということなのでしょうか?
516NAME IS NULL:04/12/03 00:04:53 ID:???
>>514

Importに使用しているUserに対して、その表領域に対するQuotaを0に
してからやってみたら?

alter user <user名> quota 0 on <表領域>;
517NAME IS NULL:04/12/03 12:00:40 ID:mggCUSnZ
>>516
やってみたところ、まったく同じエラーメッセージが出ました。

で、ためしに IMPを表モードで、1つの表:(表名:BONUS)
のみを指定して実行しました。

すると、また同様のエラーが発生しました。
1つの表すらIMPできないということで、原因がまた不明となりました。
分かる方,いましたら教えてください。
(そもそもEXPした時の設定が問題かな..と確認中)

(以下にそのログを貼り付けます。)

接続先: Oracle9i Enterprise Edition Release 9.0.1.0.0 - Production
JServer Release 9.0.1.0.0 - Production

エクスポート・ファイルはEXPORT:V09.00.01によって従来型パス経由で作成されました
JA16SJISキャラクタ・セットおよびAL16UTF16 NCHARキャラクタ・セットでインポートが完了しました
.AAAAのオブジェクトをBBBBにインポートしています
IMP-00017: 次の文は、Oracleエラー1536で失敗しました:
"CREATE TABLE "BONUS" ("ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "SAL" NUMBER"
", "COMM" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INI"
"TIAL 65536 FREELISTS 1 FREELIST GROUPS 1) LOGGING"
IMP-00003: Oracleエラー1536が発生しました。
ORA-01536: 表領域USERSに対して割り当てられた領域を使い果たしました。
インポートは正常に終了しましたが、警告が発生しました。
518NAME IS NULL:04/12/03 18:09:02 ID:???
>>517

なんかバグにヒットしている気がしてならないな〜。
とりあえずPSRを充てて、R1のターミナルリリースの9.0.1.5にしてから試してみては?
519NAME IS NULL:04/12/03 18:09:59 ID:???
>>513

クライアントがJDBCのThin Driver使っていると、v$sessionの
OSUserが「Oracle」になるというバグがあるけど、それとは違う?
520NAME IS NULL:04/12/03 20:45:20 ID:???
こんばんは。
オラクルサーバにJDBC経由でJavaのプログラムから
接続したいのですが、うまくいきません。
どうもドライバクラスの読み込みがうまくいってい
ないようです。
JDBCのドライバをインストールできてないようです。
その辺をやさしく解説しているページや本があれば
教えてください。

環境はクライアントにtomcatとjdkをインストール
してオラクルはサーバにあります。
クライアント:Win2000
サーバ   :redhat
521NAME IS NULL:04/12/03 21:46:54 ID:???
>>520

まず最初に聞こう。
クライアントの窓2kには、Oracle Clientは入れたのか?
522NAME IS NULL:04/12/03 21:55:07 ID:???
>>521
入ってます。
523NAME IS NULL:04/12/03 22:25:47 ID:???
>>522

JAVAのCLASSPATHはちゃんと、JDBCまで通したか?

SET CLASSPATH=%ORACLE_HOME%/jdbc/lib/classes111.zip

tomcatから繋ぎたい場合には、多分そっちのCLASSPATHにも追加しておく
必要があるかと思う。
Web Application ServerはWeblogicしか使ったことないから良く分からんが。
524NAME IS NULL:04/12/04 01:15:01 ID:???
質問させて頂きます。
環境はOracle9iです。

インスタンスA内のユーザA1より
インスタンスB内のユーザB1の所有するテーブルBTを
参照したいのですがどういった方法があるのでしょうか?
またその際に気をつけないといけないこと(権限の付与)等が
ありましたら御教え頂きたいです。

お忙しいところ申し訳ありません。
525NAME IS NULL:04/12/04 02:44:32 ID:???
>>524
DBリンクを使うのだ!それとともに、シノニムなのだ
526NAME IS NULL:04/12/04 11:45:44 ID:???
回答ありがとうございます。

上の例でしたら
1.インスタンスA内のユーザA1から
  インスタンスB内のユーザB1に対してDBリンクを張る
2.インスタンスA内のユーザA1内で
  インスタンスB内のユーザB1の所有するテーブルBTの
  シノニムBTを作成する
3.インスタンスA内のユーザA1内では2にて作成した
  シノニムBTに対して問い合わせをかける

以上のようなイメージで良いでしょうか?
回答に対して質問でお返しして申し訳ありません。
527NAME IS NULL:04/12/04 18:11:30 ID:???
>>526
 いいんではないか。ていうか、ためそうYO
528NAME IS NULL:04/12/04 18:17:01 ID:???
>>526

>>524にあった、「参照」というのが更新も含むなら、それで可。
含まないなら、DBリンク接続用のユーザを用意。
529NAME IS NULL:04/12/05 00:00:16 ID:???
>>524、527、528
みなさん、どうもありがとうございました。
週明けに環境がある場所にて試してみます。
530NAME IS NULL:04/12/05 03:37:25 ID:???
どうも、この人はユーザとスキーマを混同しているような
気がするが。。。
531NAME IS NULL:04/12/05 11:09:03 ID:???
そもそもOracleでのスキーマとユーザの使い方ってごちゃごちゃだから
532NAME IS NULL:04/12/06 15:04:20 ID:???
誰か知ってる人いたら教えてください。

サーバ機+WindowsServer2003+Oracle9.2.0を業者に納品してもらいましたが、
なぜかSQLServerも入ってました。
確認したら
・Oracleインストール時にSQLServerも自動でインストールされる
・SQLServerのライセンスはOracleのそれに包括されている
・SQLServer削除後の動作保証なし
と回答されたのですが、これって本当でしょうか?

仮にもかなり大手の業者なんですが、そんな話聞いたことないし・・・
単に私の無知ならすいません。
533NAME IS NULL:04/12/06 16:38:47 ID:???
>>532
他になにかソフトが入ってるんじゃない?
奉行とか
534NAME IS NULL:04/12/06 16:56:36 ID:???
>>532

んな、何が悲しくて対抗他社のDBのライセンスを包括しなきゃならんのよ?w
思い切り騙されているよ、それ。
ライセンス代、OracleとSQL Serverの二つ取られてるんじゃない?
535NAME IS NULL:04/12/06 17:35:08 ID:???
Oracle9.20をsolarisで使用しているものです。

/export/home/oracle/product/9.2.0/rbms/auditというディレクトリに

ora_xxxxx(数字).audというファイルが大量に存在しております。
これらの古いファイルは削除しても問題ないでしょうか?
識者の方がおられましたら、宜しくお願いします。
536NAME IS NULL:04/12/06 20:01:37 ID:???
>>535

そのままずばり監査用のファイルだから、既に目的を果たしているのなら
別に消してもいいんじゃないの?
537NAME IS NULL:04/12/06 20:09:36 ID:8+0mYamj
質問させて下さい。
基本的な事だと思うんだけど、表領域とスキーマの関係がよくわからんです。
普段posgresqlやmysql使う事が多いんだけど、
postgresqlを例にして表領域と、スキーマを解説してもらえないでしょうか。
よろしくお願いします。
538NAME IS NULL:04/12/06 21:12:14 ID:???
スキーマ=ユーザと考えたら駄目ですか?
539535:04/12/06 21:40:24 ID:???
>>536
レスありがとうございました。
早速、削除しようと思います。
540NAME IS NULL:04/12/07 00:22:34 ID:tqFlUZBM
「select * from Txxx」
でSQL書くなっていわれますけど、

create view Vxxx
(C1,C2)
as select C1,C2 from Txxx

みたいに ビューをつくって、「select * from Vxxx」
とするのもよくないのでしょうか?
541NAME IS NULL:04/12/07 00:23:36 ID:???
10gでtableをDROPするとBIN$から始まるテーブルができちゃうんだけど、これは何ですか?
542NAME IS NULL:04/12/07 00:37:56 ID:???
>>541

10gからは窓でいうゴミ箱機能が標準装備になりました。
もしゴミ箱に入れずに、即効で消したかったら「purge」オプションを
指定してください。

SQL> drop table hogetable purge;
543NAME IS NULL:04/12/07 00:39:49 ID:???
>>540

Viewを作った所で、後ろで流れているSQL及び実行計画は同じに
なると思わないのかい?
544NAME IS NULL:04/12/07 00:52:11 ID:???
BIN$にあるやつ消したい場合は?
545NAME IS NULL:04/12/07 01:07:58 ID:???
>>543
実行計画は、
select C1,C2 from Txxx
と同じになると思ったのですが・・・
(SQLトレースをとってみましたが同じになりました)
546NAME IS NULL:04/12/07 01:10:05 ID:???
>>544

幾つか方法がある。

1. Oracleに任せる。
 表領域の空き容量がServer AlertのWarning Levelを超えると、その表領域内の
 ゴミ箱に入っている表が削除されて、エクステントが解放される。

2. purge table (もしくはindex) ゴミ箱内での名称; で極め打ちでゴミ箱内のセグメント
を消す

3. purge dba_recyclebin; でゴミ箱内の全てのセグメントを消す。
547NAME IS NULL:04/12/07 01:31:10 ID:???
>>546
thx
548NAME IS NULL:04/12/07 02:19:20 ID:???
>>545
* がよくない理由は全部の列を取ってきてしまう、
というのと列を全部挙げるためにディクショナリを一巡する、てのがある。

と思ったけど違った?
549532:04/12/07 10:48:36 ID:???
Oracleサポートと直接連絡がつきました。
やはり、全く関係ないとのこと。

>>533
確かにいくつかソフトは入ってますが、それはなかったです。
しかも業者は「Oracleにより〜」と主張してますし。

>>534
常識的に考えて、そうですよね。
ライセンス料は大丈夫でした。


ただ、今度はその業者が納得してないご様子。もうヤダ
550NAME IS NULL:04/12/07 15:55:24 ID:HsRqEGKK
Oracle 9i のWindows版を使っています。
JDBCから利用されたSQLのログを参照したいのですが、
ログを出力するにはどのように設定したらよいのでしょうか?
551NAME IS NULL:04/12/07 18:03:10 ID:eFE8GA5K
あるユーザ所有のパッケージ(パッケージボディ)のみを
EXP&IMPする方法(というか、バックアップで保存して
それを簡単に違うユーザーに再作成する方法)知ってる方、
教えてください。

パッケージ60個あり,手作業の再作成は、かなり面倒なもんで。
552NAME IS NULL:04/12/07 18:08:25 ID:???
>>549
なにに使ってるのかはっきり聞いたほうがいい

実はOracleじゃなくて
SQLServerってことはないよね?w

確実にライセンス違反だし
脅かすわけじゃないけど知らなかったではすまないよ
553NAME IS NULL:04/12/07 20:37:34 ID:???
>551
OBJECT BRAWSER使うとか。
ttp://www.sint.co.jp/siob/default.asp

一時的なら試用期間で充分でしょう。

あとは、user_sourceからソースを構築するとかさ。
554NAME IS NULL:04/12/07 20:38:30 ID:???
>549

MSDEが入ってるだけでは?
555NAME IS NULL:04/12/08 00:22:15 ID:???
CREATE TABLE しようとすると、
「オブジェクト名は使用されています。」
と出ます。
ところが、 DBA_OBJECTS をみても
その名前のオブジェクトはありません。

いったいどこにあるのでしょうか?
556NAME IS NULL:04/12/08 10:41:31 ID:???
>>549
SQLServerのサービスを停止して、エンドユーザーから文句が出るかどうか試してみればいい。
何かに使われているかどうかわかる。

出なければ削除しる。
557NAME IS NULL:04/12/08 10:48:45 ID:???
>>549
データベースがあるか
テーブルがあるか
確認したほうがいい

ネットのアクセス履歴とか
社内のネットワークのモニタとか
メールの内容があったら面白いんだけど
まーなにもないんだろうな
558NAME IS NULL:04/12/08 12:24:01 ID:???
>>549
取り合えず、その間抜けな業者を晒してみては如何か。

…「SQLServer Plugin」でした、なんてオチは無いよね…
559NAME IS NULL:04/12/08 21:20:08 ID:YBJKIdWZ
9.2.0のSQLローダーなんですが、TRANCATEで大量のCSVを流し込むとORACLEが固まってしまうんです。
(15000行くらいで)
退避する方法ありませんか? ローダーのオプションは特に付けてません。

560NAME IS NULL:04/12/08 23:07:44 ID:???
>>559
ノーロギング、ダイレクトロードだな。
こんくらいの違い。35,000,000Record 一晩中→2時間

つーか、固まってないんじゃない?
我慢ならんほど遅いだけで。
561NAME IS NULL:04/12/10 15:40:12 ID:/i8yJAZD
質問させて下さい。
エクスポートしたファイルに内包されているユーザやスキーマ、テーブル名などの詳細を知りたいのですが可能でしょうか?
その方法を含めどなたか教えて頂けませんでしょうか。
562NAME IS NULL:04/12/10 16:08:27 ID:???
>>561
インポートしてみるってのはだめなの?
563NAME IS NULL:04/12/10 16:55:42 ID:4C4xG1U8
>>561
Textエディタで開いて見る。
圧縮してあっても、定義は見れたような。
ダンプファイルの中見ると勉強になると思うよ。
564NAME IS NULL:04/12/10 18:23:00 ID:???
>>561
imp show=yes
565現調から帰らせて(TT:04/12/10 21:04:49 ID:???
教えて君ですいません!
Win2K+ActivePerl-5.6.1.638にppmで、DBDとDBI-Oracleを入れています。
Oracle 9i(9.2.0.1.0)でデータベースを作り、PerlよりCREATE TABLEや
SELECTでSQL発行できることは確認できましたが・・・

use DBI;
$starttime = time();
$dbh = DBI->connect("DBI:Oracle:dbtest", "username","password", {AutoCommit=>0});
$dbh->disconnect();
print time() - $starttime;

たとえば、上のでも、DBI->connect("DBI:Oracle:","username/password",....みたいな
やり方など色々と試してみたのですが、接続までに2秒から16秒と
毎回ひどくばらつきがあり、非常に時間がかかります。
ぐぐってみたり、データベースを再構築してみたり、設定を変えてみたり・・
もうヘトヘトです。。どなたか解決策ご存知の方教えてくださいませんか?
さすがに簡単なSELECT分で1画面でるのに10秒前後待ってくださいと
先方にいえないので・・。どうぞ宜しくお願いいたします。
566NAME IS NULL:04/12/10 23:05:00 ID:???
>565

とりあえず、何処が遅いのか問題を切り分けろよ。
既に問題の切り分けが終わってるのなら書けよ。

調べ終わっている事を、いちいち指摘するのも馬鹿らしい。
567565:04/12/10 23:33:41 ID:???
>>566
そうやね。すまんかったね。もう少しなんとかやってみるよ。
どこが遅いか。どう書いていいか分からなかったからね。
さっきのソースを test.cgi などに保存し、コマンドプロンプトから
perl test.cgi として出た結果が 2〜16秒と毎回違う原因をご存知の
方は教えてくださいと、そう言いたかった。気にせず無かったことにして下さい。
568NAME IS NULL:04/12/11 00:04:13 ID:KyN14tsu
>>549
 Windows Advance で、クラスタ組んでるとか?ありそう!
569NAME IS NULL:04/12/11 02:03:39 ID:???
正直なところ、ユーザとスキーマの違いとは何なのでしょうか?
570NAME IS NULL:04/12/11 02:47:12 ID:???
>>569
ユーザの所有するオブジェクト空間、と理解しています。
571NAME IS NULL:04/12/11 12:05:31 ID:K/aQVo0i
9iで、DBCAで作成したスクリプトファイルを元に、
DB手動作成させようとして詰まってます。
(Windows2000pro,Oracle 9.0.1.0.1 )


set ORACLE_SID=yyyy
C:\oracle\ora90\bin\oradim -new -sid yyyy -startmode m -pfile C:\oracle\ora90\database\inityyyy.ora
C:\oracle\ora90\bin\oradim -edit -sid yyyy -startmode a
C:\oracle\ora90\bin\orapwd file=C:\oracle\ora90\dbs\orapwyyyy password=change_on_install

の後に、

C:\oracle\ora90\bin\sqlplus /nolog
SQL>connect sys/change_on_install as SYSDBA
で、
ERROR:
ORA-01031: insufficient privileges
となって前に進めません。(Create Databaseコマンドを実行できない) 

やばそうなところ,誰かアドバイスお願いします。
572>571:04/12/11 12:50:23 ID:K/aQVo0i
>>571
解決してしまったので自己レスです。
orapwdでの fileオプションの引数が間違ってました。
(unix版の指定を書いてたので下記のように、windows版のファイル
指定をしたらうまくいきました。お騒がせしました。 )

C:\oracle\ora90\bin\orapwd file=C:\oracle\ora90\database\pwdyyyy.ora password=change_on_install
573NAME IS NULL:04/12/12 03:13:11 ID:???
>567
Perl の事は良く知らんが、Perl の初回コンパイル時に時間が
掛かってるダケじゃないのか?

せめて、SQL/Plus を使用した時、コンパイル済みを使用した時、
OCIでの接続したときの差ぐらいは調べたのか?
574NAME IS NULL:04/12/12 20:56:30 ID:GI/mDpmf
明日、梅田のヨドバシでディスク買いかえる前にちょと確認。

10Gの30日版と、MIRACLEの30日版をDLして、自宅のPCに入れてみて
遊んでたんやが、
直ぐに不良セクタが表領域(10GBの大きさ)に発生する。
DBVしても、「メディアがやばい」という不良ブロックは出なかったが、
10個くらい不良個所があったので、表領域を作り直した。
で、DBVして不良セクタが無い事を確認して表作ってデータ作って
色々してたらまた不良セクタが出来る。
まあ、ハードやとは思うが、LINUX版なら、又は、試用版なら良く出るなどの
噂ってあるん?
ディスクは、40GBのIDEの奴やが、内臓40GBがほぼ最新の頃に買ったものやから、
いつやろ?4年位前かな?更に1〜2年動かしてなかったものだけに、
寿命と思ってる。
しかし不良セクタのエラーは本番(業務)で出会った事が無いな。
575NAME IS NULL:04/12/12 21:37:53 ID:???
>>574
断定はできないけど、十中八九ハードだと思うよ。
576NAME IS NULL:04/12/13 03:11:54 ID:???
>>574

んだな。
間違いなくハードが逝っちまっただな。
577NAME IS NULL:04/12/13 12:11:14 ID:xa1xUQDs
質問ですが、(Oracle8i 8.1.6)

異なるスキーマのテーブルにアクセスするとき、

スキーマ SSS 内にある TTT テーブルに
ユーザ UUU が接続しようとするとき、

通常は
SELECT * FROM SSS.TTT
という風にSQL文を書くかとは思いますが、スキーマ名を無しで
SELECT * FROM TTT

という風にUUUユーザからSQLでスキーマ名を無しで
TTTテーブルを利用する手段はあるのでしょうか?
また、それはどのようにすればよろしいのでしょうか?
578NAME IS NULL:04/12/13 14:26:27 ID:???
>>577
シノニム
579NAME IS NULL:04/12/13 15:00:21 ID:???
>>578
それを検索ワードに組み入れたら方法が見つかりました。
ありがとうございました。
580NAME IS NULL:04/12/13 16:19:19 ID:IHBUuxWM
なんだか、OTNの反応遅くね?もしかして漏れだけなのか?
581NAME IS NULL:04/12/13 17:12:47 ID:YDnOKzeK
C#でのOracle接続について質問します。
Oracleへの接続はうまくいくのですが、
ExecuteNonQueryというメソッドを実行するとエラーになってしまいます。
何か方法はないでしょうか?よろしくお願いします。

strConn= "Provider=MSDAORA.1";
strConn += ";Data Source=Server";
strConn += ";User ID=sa";
strConn += ";Password=sa";
strConn += ";Persist Security Info=True";
//コネクション作成
OleDbConnection myConn = new OleDbConnection(strConn);
//コネクション確立
myConn.Open();
string myInsertQuery = "insert into TESTDB(NO,NAME,MEMO) values(7,'セブン','セブン');";
OleDbCommand myCommand = new OleDbCommand(myInsertQuery,myConn);
myCommand.ExecuteNonQuery();  //ここでエラー
582sage:04/12/13 17:26:19 ID:YDnOKzeK
>581
根本的に間違ってませんか?見直してください。
583NAME IS NULL:04/12/13 17:37:11 ID:???
>>582

もしかしたら'TESTDB'という名前の表にInsertしようとしているのかも
知れないよ?
1%ぐらいの確率だろうけど。
584NAME IS NULL:04/12/13 18:13:13 ID:???
>>580
常に遅いんだけど
前は早かったの?

漏れだけ?
585580:04/12/13 18:35:32 ID:???
正しく言えば遅いというか、表示されない。応答が無い。放置しておくと
いつのまにか表示されてたって感じ。いつもはもうちょっと早いのになぁ。
586NAME IS NULL:04/12/13 22:44:43 ID:2klJxOcP
http://www.itmedia.co.jp/enterprise/articles/0412/13/news071.html
http://www.sankei.co.jp/news/041213/kei096.htm
米Oracleは12月13日、米PeopleSoftを買収することで同社と合意に至ったと発表した。
買収額は、1株あたり26.50ドル換算で、合計でおよそ103億ドルとなり、1月初旬までに取引が完了する予定。
一時は、断念せざるを得ない状況になったこともあったが、ラリー・エリソンCEOの1年半におよぶ執念が実った結果となった。
587NAME IS NULL:04/12/13 23:20:40 ID:???
明示的な行ロック(SELECT 〜 FOR UPDATE)って、0件でもロックされるのでしょうか?
すいません、今試せる環境がなくて。教えて下さい。
588NAME IS NULL:04/12/14 09:07:06 ID:???
>>587
なにをロックしたいの?
589NAME IS NULL:04/12/14 11:00:27 ID:???
>>587
「今から0人誘拐する」が犯行声明と受け取られる可能性があるかどうか、ですね。
590574:04/12/14 11:51:58 ID:e04t4kJp
>>575
>>576
ディスク買って、やってみたが、駄目やった・・・・。
新ディスクにDB作っても、不良ブロックが出るわ出るわで。
畜生。8000円無駄やった。

試用版とはいえ、販売品と全く同じと思っていたが、どうもそうではないのかも。
ある程度大きな表領域を作ると、わざとブロックが潰れていくのかかな?
販売品では有り得へん。

表領域2GBでやってみるかな。
591NAME IS NULL:04/12/14 12:11:02 ID:???
>>590
>わざとブロックが潰れていくのかかな?
よっぽど有り得へんわ。
592NAME IS NULL:04/12/14 13:28:25 ID:seI5J+qm
まあ、ORACLEのせいじゃないよな。
ついでに、1ファイルで10Gの領域って、バックアップとか移行性とか安全性考えたらNGだよな。
テーブルスペースの総和としての10Gならいいけど、ファイル1つで10Gは・・・。
593NAME IS NULL:04/12/14 19:05:29 ID:???
>>590

Miracle Linuxは分からんが、DBに関しては試用版と販売品との差は無い。
ディスクを変えても不良ブロックが増えるという事は、ディスク本体じゃなくて
I/Oコントローラーかもしくはバスがいっちまてんじゃないの?
594NAME IS NULL:04/12/14 23:34:00 ID:???
>>588
PKの項目でINSERTする前に、行ロックしたいと思ったんです。
INSERTが同時に走ると、どちらかが一意制約エラーとなるので、行ロックでWAIT
とさせたいなと。

>>589
やはり出来ないってことですか。
595NAME IS NULL:04/12/15 00:28:28 ID:???
>>594

アプリケーションのデザイン自体があまりよくないんじゃない?
それこそPKに値を入れる時にはシークエンスを使うとかすれば
ora-00001は避けられるはずけど?
596NAME IS NULL:04/12/15 04:11:05 ID:???
>>595
デザイン自体がよくないのは、その通りです。でも、その部分は変えられないので・・・
PKの項目は、ユニークなIDが使われており、INSERTが同時にきた場合は、遅いほうの
データを有効にしたいのです。
597NAME IS NULL:04/12/15 07:31:39 ID:???
>>596

その場合にはもうInsert時に発生するTrigerを作成して制御するしかないんじゃない?
その変わりパフォーマンスはかなり遅くなると思われ。
というか、ora-00001が発生するようなアプリの作り自体、パフォーマンスなんか無視
しているのかも知れないけどね。
598NAME IS NULL:04/12/15 09:23:34 ID:???
>>594
ロックに失敗したら
別のキーを取得するの?

それならINSERTに失敗したときも
同じ処理をすればよい
599NAME IS NULL:04/12/15 12:51:07 ID:???
すいません、質問です。
Javaに関するんですがいいでしょうか?

コネクションプーリングを利用しない場合
OracleDataSourceを使うのは無駄でしょうか?

DataSourceを渡せば、接続からなにからいろいろできるので、
楽だと思ったのですが。
600NAME IS NULL:04/12/15 21:45:38 ID:???
>>592
1ファイル30Gのテーブルスペースを作った。
Oracle10g
こんな馬鹿デカイの初めてだが、1テーブルで
25G超のモノがあるんでしょーがない。
1データファイルで33G位以上は無理っぽい。
でも不良ブロックなんかできないよ。
601NAME IS NULL:04/12/15 23:54:14 ID:???
>>600
パーティション切れ。
602NAME IS NULL:04/12/16 00:29:24 ID:???
>>600
ナンデショーガナイノカサッパリワカラン
603NAME IS NULL:04/12/16 00:36:50 ID:???
>>601

んだな、パーティション切って各パーティション毎に表領域を
準備すればパフォーマンス的にもいいのにな。
604NAME IS NULL:04/12/16 09:18:29 ID:???
どうせ履歴テーブルかなんかでデータ放り込むだけで誰も参照なんかしないんじゃないの? >25Gテーブル
あるいはLOBを知らない
605NAME IS NULL:04/12/16 15:42:38 ID:Wu+We4zV
Solaris8 SPARCにOracle9.2インストールする場合、
Forteコンパイラって必要でしょうか?
606NAME IS NULL:04/12/16 21:57:27 ID:???
>>605
いらん
607NAME IS NULL:04/12/17 02:08:54 ID:???
>>605
プリコンパイラを使うならSun Oneのコンパイラが要る。
608NAME IS NULL:04/12/17 10:22:45 ID:???
Windows用のクライアントのツールについて質問ですが
「Enterprise Manager Console」 (Oracle 9.2 などの)から起動できる
「SQLスクラッチパッド」はショートカットを作成するなどして
単独で起動することは出来ますか?
609NAME IS NULL:04/12/17 14:45:12 ID:???
Oracle8(8iではない)でnext extentsを広げたいんだがどうやったらいいんだろう?
alter table文?alter tablespace文?
610NAME IS NULL:04/12/17 17:23:48 ID:???
すみません。質問させて下さい。
大量にあるレコードをインサートしたいのですが、現在レコードの数だけ
インサート文を発行している為、大変処理に時間が掛かってしまいます。
このような場合、処理を早くするような方法はありませんでしょうか?
ちなみにオラクルのバージョンは8を使用しています。宜しくお願いします。
611NAME IS NULL:04/12/17 17:49:17 ID:???
>>609

alter table 表名 storage (next_extent サイズ);
でいいんじゃないのか?
612NAME IS NULL:04/12/17 17:51:01 ID:???
>>610

>>559, >>560 あたりに思い切りヒントがあるぞ。
キーワードはSQL*Loaderだ。
613NAME IS NULL:04/12/17 17:54:00 ID:???
>>608

U.S.のデベからの回答によると「無理ぽ」だそうだ。
614610:04/12/17 18:24:06 ID:tbcB0Ncy
>>612
ありがとうございました
615608:04/12/18 11:05:47 ID:???
>613

ありがとうございましたm(__)m
616574:04/12/18 14:12:08 ID:CSi3s+NM
>>593
そうなんかな。ディスクもそうやけど、マシン自体、少なくとも1年は電気入れて
無かったからな。このマチンは。
IOコントローラーとかになると、PC的に言えば、マザボレベルで逝ってるって
事やんね。
そろそろ新作するかな。金飛ぶなぁ。
次はデュアルCPUのものを作ろうと思ってるねんけど、高いからなぁ。

誰か、自宅でマルチCPUにオラクルのせて遊んでる人居る?

でもDBはやっぱオリジナルと同じという意識あわせが出来てよかった。ありがとう。
まあ、MIRACLEもオリジナル版やろうね。
最悪、年会費8万で、またOTNの開発ライセンスのCDアルバムを購入しようかと思ってたから。
617NAME IS NULL:04/12/18 19:14:21 ID:???
>>616

もしくはメモリーとかね。
Oracleは思い切りメモリーで処理するから、メモリーが逝っちまっていて
書き込むアドレスとかが全然違っていたりなんかすると、きっとデフラグ
とかおきまくりだろうね。
メモリーチェッカーとかかけてみた?

自宅ではないけど、会社にある自分の管理下にあるLinuxはマルチCPUで、
ボラクル10gをのせている。
今はRAC+Physical Stanby作って遊んでいるよ。
618NAME IS NULL:04/12/20 13:39:52 ID:???
>>617
\∩ ∩ そんな餌クマー
 (\ェ)・ )三
       ズザー
619NAME IS NULL:04/12/20 23:32:31 ID:???
Oracleでハッシュ値求められますか?
620NAME IS NULL:04/12/21 00:36:23 ID:vFpEVu8t
元の値に戻しても、このエラーが出ちゃうんだけど。。。

ORA-32004: obsolete and/or deprecated parameter(s) specified
621NAME IS NULL:04/12/21 01:15:40 ID:???
>>620

そのままずばり、そのバージョンで廃止された値をinit.oraの中で
指定しているからだろ。
622NAME IS NULL:04/12/21 01:18:51 ID:???
>>619

質問の意味をもう少し明確にしてくれますか?
求めたいのはユーザーが発行してるSQLのハッシュ値とかなのでしょうか?
それともOracleが空き領域を探すときに使用してる内部的なハッシュ値とか
なのでしょうか?
あるいはアプリ等でハッシュ値を使用したいという事なのでしょうか?

それと出来れば質問の時には自分が使用している環境が最低限は書いて
あるとさらに答えやすくなります。
623NAME IS NULL:04/12/21 01:27:08 ID:???
>>620
アラートログに詳しい情報が。
624NAME IS NULL:04/12/22 01:14:10 ID:A+Hb06NP
>>608

サポートのあめんぼアメミーがいらつく回答をしてくれるでしょう。
625NAME IS NULL:04/12/22 11:59:13 ID:vLgLs/tX
exp実行時にエラーになってしまいます。
対処法の勘どころある方、HELPお願いします。


(環境)
oracle ver 9.0.1
os solaris 8

(コマンド)
exp system/manager full=y file=a.dmp log=a.log

(ログ概略)
1.スキーマ非所有の各オブジェクト(表領域,プロファイル,ユーザーetc)EXP完了
2.systemスキーマの表EXP完了
3.outlnスキーマの表EXP完了
4.dbsnmpスキーマ表EXP完了
5.wksysスキーマの表EXP開始
6.EXP-00008: Oracleエラー1406が発生しました。
  ORA-01406: フェッチされた列の値は切り捨てられました
  EXP-00000: エラーが発生したためエクスポートを終了します。
626NAME IS NULL:04/12/22 12:14:02 ID:???
とりあえず、ログ見てどの表なりでエラーになってるか判るとおもうんで。
こんどはその表だけをEXPしてみては如何でしょうか?

あとは、とりあえずエラーリファレンスを嫁。ダウンロードできるんだから。
627NAME IS NULL:04/12/22 14:30:38 ID:???
質問なんですが、SQL*LOADERを
PL/SQLプログラムから起動(実行)するには
どのような記述をすればよいのでしょうか?

テスト時には、BATファイルに、
sqlldr80.exe USERID=ユーザー名/パスワード@接続文字列,
CONTROL=D:\sqlloader\test.ctl,
LOG=D:\sqlloader\test.log,
DATA=D:\sqlloader\test.csv,
BAD=D:\sqlloader\test.bad,
SKIP=4
の記述を行い、BATファイルを実行して
データのINSERT確認を行ったのですが、
PL/SQLプログラムからの実行方法(呼び方)が分かりません。

バージョンはOracle8 Enterprise Edition Release 8.0.5.0.0です。
宜しくお願いします。

 
628NAME IS NULL:04/12/22 15:08:36 ID:???
>>625
表に LONG/BLOB/CLOB の列がないか?

>>627
1. SQL*Loader を呼び出すだけの DLL を作成し、サーバに置く。
2. PL/SQL から外部プロシジャとして DLL を呼び出す。
629>625:04/12/22 17:39:35 ID:vLgLs/tX
>>626
マニュアル読みました。

wksysのユーザーモードでEXP:同様のエラー
wksys以外(scott)ユーザーモードでEXP:正常終了
でしたので、やはりwksysの表が怪しいと思いました。

以下マニュアル個所の「プログラム・バッファ領域」に着目し、RECORDLENGTH=64000
としてみましたがダメ(同じエラー)でした。

(マニュアル)
ORA-01406 フェッチされた列の値は切り捨てられました
原因: ホスト言語プログラム中のフェッチ操作によって、ある文字列が強制的に切り捨
てられました。この列のプログラム・バッファ領域が、文字列全体を格納するために十
分な大きさではありませんでした。フェッチからのカーソル・リターン・コードは+3
でした。
処置: 最大列値を保持できるよう列のバッファ領域を増やすか、または他の適切な処理
を実行してください。


>>628
wksysスキーマの所有している表定義を一通り見ましたが、
ありませんでした。

で、念のために wksysの所有してるテーブル名を全て明記して
exp tables=\(wksys.table1, ・・・・,wksys.tableN\) としてみたら、全く同じ
エラーがでました。 

原因のテーブルと特定しようとしましたが、エラーになる表の方が、
多い状況です。(表は全部で22個)
630NAME IS NULL:04/12/22 22:49:50 ID:???
>629

別のDBMSだけど、文字化けしたときも同じようなエラーが起こった気がする。
NLS_LANGとかあってる?
もしくは、データ化けてない?
問題のあるテーブルの列を無効にしてからやってみたらどう。
631NAME IS NULL:04/12/23 01:31:00 ID:???
>>625
PSR9.0.1.4を適用し下記を実行。

SQL> connect /as sysdba
SQL> @?/rdbms/admin/catexp.sql
632NAME IS NULL:04/12/24 02:47:25 ID:???
>>625
exp の際のパラメータで、buffer だっけ?
 蚊なんかで隠して味噌。
633NAME IS NULL:04/12/25 13:51:06 ID:???
>>632
634NAME IS NULL:04/12/27 06:55:24 ID:0jGrKWMT
Win2003に10Gをインストールしましたら、定期的にFDDアクセスランプが点灯します。
10Gのインスタンスを停止したら、FDDのアクセスランプの点灯は止まりました。
この事からおそらく10GがFDDのアクセスを行っている様ですが
止める方法はないでしょうか?

ちなみにWin2003インストール直後に10GをサンプルDBをインストールしたのみの
状態で、特に設定を替えていません、又他のアプリは一切インストールしていません。
よろしくお願いいたします。
635NAME IS NULL:04/12/31 02:51:34 ID:???
>>634
アーカイブログをフロッピーでとっているのか?w
636NAME IS NULL:04/12/31 22:50:13 ID:t3dJI08j
>634
無い。10Gよりもっと前からある仕様。
637NAME IS NULL:05/01/01 23:39:41 ID:8oQXt+SW
どなたか、オラクルマスターについて教えて下さい。
Oracle Database 10g についてなんですが、
下位資格が無いと、上位資格は受けられないのでしょうか?
(Bronzを持っていないと、Silverを受けられないとか)

どこを探してもわからないので、よろしくお願いしまっす!
638NAME IS NULL:05/01/02 00:39:14 ID:???
OracleMasterは積み上げ式なので下位資格+別の科目で上の資格となります
10gだとブロンズの2科目+シルバーの1科目の合計3科目でシルバー
さらにゴールドの1科目+研修でゴールドね。
受ける順番はどの科目からうけても別に構わない。

http://www.oracle.com/education/lang/jp/certification/certpaths.html

ま、要は全科目合格しなきゃダメってこと。
639NAME IS NULL:05/01/02 01:08:13 ID:fO595vPt
640NAME IS NULL:05/01/02 16:05:34 ID:TymztilI
スタンバイDBの方に毎回以下のようなrepaire処理がされているのですが、
どうしてなのでしょうか。ほっといても大丈夫でしょうか?

Sun Jan 02 10:39:06 2005
ALTER DATABASE RECOVER CONTINUE DEFAULT
Media Recovery Log E:\DB_ARCH\JP15\13822.ARC
Recovery is repairing media corrupt block 45450 of file 14
Recovery is repairing media corrupt block 45451 of file 14
Recovery is repairing media corrupt block 45452 of file 14
Recovery is repairing media corrupt block 45453 of file 14
Recovery is repairing media corrupt block 45454 of file 14
Recovery is repairing media corrupt block 45455 of file 14
Recovery is repairing media corrupt block 45456 of file 14
......

Sun Jan 02 10:40:46 2005
ORA-279 signalled during: ALTER DATABASE RECOVER CONTINUE DEFAULT ...
Sun Jan 02 10:40:46 2005
ALTER DATABASE RECOVER CONTINUE DEFAULT
Media Recovery Log E:\DB_ARCH\JP15\13823.ARC
641NAME IS NULL:05/01/02 17:50:32 ID:???
>>640

エラー通りファイル#14のブロックがぶっ壊れているからだろう。
当然放っておいて良い訳がない。
メディア・ブロック・リカバリーが出来ればベストだけど、出来な
そうなら、スタンバイDBの再作成で対応だな。
642NAME IS NULL:05/01/02 17:55:16 ID:???
SQLPLUSの接続の際に使うパスワードとIDってどこで設定するんですか?
643NAME IS NULL:05/01/02 19:15:43 ID:???
>>642

DBのユーザー作成時です。

create user ユーザー名 identified by パスワード
default tablespace デフォルト表領域名
temporary tablespace 一辞表領域名;

における「ユーザー名」がID、パスワードが「パスワード」に
対応しています。
644NAME IS NULL:05/01/02 20:10:08 ID:TymztilI
>>641
実は先週作り直したんです。でもこのメッセージは消えません。。。
これって元の本番側が壊れてるんでしょうか。特にalert.logとかには
変なメッセージは出てませんが。正常かどうか確認するにはどこを
見ればよいでしょうか?

645NAME IS NULL:05/01/02 22:11:46 ID:???
>>644

スタンバイ作る時に、プライマリ側でNologgingオプションを指定して何か
セグメントを作成していたりとかしていないか?
それこそ索引とか何か?
SELECT name, unrecoverable_change# , unrecoverable_time FROM v$datafile;
で一回調べてみそ?
646NAME IS NULL:05/01/02 23:29:58 ID:TymztilI
正月早々すんません。
幾つかのファイルが引っ掛りました。。。(primary,Standby側両方同じ)
リカバリの方法教えてください。
(これって現状特に問題なくシステムは動いてるんですが問題あるのでしょうか。)

NAME UNRECOVERABLE_CHANGE# UNRECOVERABLE_TIME
------------------------------------------------------------------------------------
....
D:\ORACLE\ORADATA\JP15\INDX_D.ORA 0
D:\ORACLE\ORADATA\JP15\USERS1.ORA 547679252 05-01-01
D:\ORACLE\ORADATA\JP15\USERS2.ORA 547679138 05-01-01
...
647NAME IS NULL:05/01/03 02:21:29 ID:???
>>646

肝心な事聞くの忘れていたよ。
OracleのVerは何?
9i以上だったら、プライマリDBはforce logging modeになっている?
「select force_logging from v$database;」で、ちゃんと
「force_logging = YES」って返ってきてる?

あとは、取り合えずエラーが発生しているデータファイル上にある
表領域をforce loggingモードにしてみそ。
「alter tablespace 表領域名 force logging; 」で出来るから。
ただし、大量にredolog吐くから、スペースに注意してね。
648640:05/01/03 03:15:29 ID:Dc3bpwLf
すいません。v8.1.7でした。
649NAME IS NULL:05/01/03 07:00:11 ID:???
>>648

むむむ、もしかしてスタンバイを再作成した時って、ホットバックアップを
使ったとか、そんなことしていない?
それだとBug#2170152にヒットしているかも知れない。
この場合にはDBを9iにアップグレードしないと解決しない。

そうじゃないなら、Nologgingモードを指定して作成したセグメントをLogging
モードで再作成してから、再度スタンバイを再作成すれば大丈夫なはず。
650NAME IS NULL:05/01/03 12:14:03 ID:Dc3bpwLf
>>Bug#2170152
これ知りたいのですが、どこで参照できるのでしょうか?
651NAME IS NULL:05/01/03 18:25:45 ID:???
>>649
ここで具体的なBUG#まで出すのはやりすぎだろ。
652NAME IS NULL:05/01/03 21:35:45 ID:BFODVwRd
接続記述子と接続識別子の違いって何?
653634:05/01/05 06:04:31 ID:+bwrZ/U7
>>639
Win2003の問題だったんですね。
ありがとうございました。
654NAME IS NULL:05/01/10 23:18:15 ID:mzhncqOA
あけおめ、ことよろ保存Age
655NAME IS NULL:05/01/11 12:59:32 ID:???
Soralis8にOracle8.1.7をインストールして動かしているのですが、誰かがログインしているとシャットダウンができません。
SQL*plusなどでinternalでログイン後、以下のように入力しています。

shutdown immediate

プロンプトが戻ってこなくなるのでctrl+zで停止後、全てログアウトしてからもう一度同じように入力すると停止します。
インスタンスはインストール時に作成したものではなく、手動で作成しました。
インスタンスの作成方法と何か関係があるでしょうか?
それとも不具合があって、パッチをあてる必要があるのでしょうか?
宜しくお願いします。
656NAME IS NULL:05/01/11 18:09:22 ID:7TuWjBi/
>>655

「shutdown immediate」って何を意味しているか分かっているかい?
アクティブなトランザクションをロールバックして、全てのユーザセッションを
切断していっているので、ユーザー数やトランザクション量によっては当然
時間がかかって当たり前。
場合によっては5分くらいかかる事もある。

どうしても即効でメモリ上から落としたかったら「shutdown abort」という手がある。
ただし、これはコミットされていないトランザクションがロールバックされない、
データベース・バッファ・キャッシュとRedoログ・バッファがディスクに書き込ま
れない、次回インスタンス時にリカバリ処理が必要(当然時間がそれなりにかかる
こともある)などのリスクがある。
657NAME IS NULL:05/01/11 21:53:35 ID:???
過去ログ探す元気なくて、お手数ですが教えてください。

PHPでCLOBのフィールドに4000byte以上の文言を
インサートしたいんですけど、どうすればいいのでしょうか?
たぶん
ORA-01704: string literal too long
なんかのエラーが出ているかと思うんですけど。
別にclobである必要もないのですが、かなりボリュームが
ある文言なので。

よろしくお願いします。
658NAME IS NULL:05/01/12 00:03:29 ID:qXGM+Ait
shutdown transactionalっていうのもあるが?
immediateだと完全にロールバックしないんじゃ。。。
659NAME IS NULL:05/01/12 00:10:11 ID:qXGM+Ait
というのはshutdown immediate後OS落としたら、テーブルが
壊れたことがあったので。。。
660NAME IS NULL:05/01/12 01:21:26 ID:???
>>656
え、ロールバックされるんじゃないの?
661NAME IS NULL:05/01/12 01:31:36 ID:8ykHWMOy
>>658

ロールバックするぞ。
662NAME IS NULL:05/01/12 11:34:36 ID:???
>>656
Oracle立ち上げて何の更新もしないでsqlplusなどでログインしてすぐに落とそうとしても落ちませんでした。
ログインしていなければ数十秒で落ちるのですが。
今日改めてやってみたのですが、正確には以下のようでした。

・sqlplusで立ち上げて落とす場合にはログインしていても大丈夫。
・dbstartで立ち上げた場合やdbshutで落とす場合はだめ。
  dbstartで立ち上げてsqlplusで落とす、sqlplusで立ち上げてdbshutで落とす、など。

db〜スクリプトを使うと駄目なようです。
一応dbshutの方のスクリプトのオプションにはimmediateを追加しているのですが...
多分スクリプトはもう少しいじらないと駄目なような気がします。
dbshutを使わない方法で検討してみます。
アドバイスくれた皆さんありがとうございました。
663NAME IS NULL:05/01/12 22:20:03 ID:BtlCvR/H
OSはlinux。
オラクル10g・・・。
インストールしぱい・・。(DB作成途中でオラクル強制終了

OS入れなおさなきゃダメ?
ダメですか?(涙
664NAME IS NULL:05/01/12 23:34:02 ID:???
>>663
OS再インストールまでいく必要はない。
665NAME IS NULL:05/01/12 23:42:25 ID:IQRfqZPz
ID違うと思うけど。

>>664
サンクス、勇気湧いたw
明日ガンバロ。
666NAME IS NULL:05/01/13 17:20:59 ID:OYfvs6Yc
知ってる方いたら教えてください。

例えば
int a;
int b;
というカラムを持つテーブルがあって、aとbを複合キーとしている場合
aかbがnullの行であっても一意であればインサートは可能でしょうか?
やってみるのが早いのですが手元に触れる環境がないので困ってます。
どうかお助けを。
667NAME IS NULL:05/01/13 17:40:26 ID:???
key はNOT NULLだわな
668NAME IS NULL:05/01/13 19:39:11 ID:???
>>666
>int a;
>int b;
C かよ!
…てのはともかく、a と b で UNIQUE キーになってれば可。
669NAME IS NULL:05/01/13 23:02:56 ID:???
>>668
UNIQUE制約だけならそうだが
キーはだめだろうキーは。
670NAME IS NULL:05/01/14 00:42:03 ID:oIn6XzS3
んだんだ。

重複しない値を保証するべきキーが、不定っていうのは変だ。
値を持つべき。

だからkey はNOT NULL
671666:05/01/14 10:37:34 ID:A93Q3WAf
なるほど。
やっぱnullはダメぽいですね…。
なにかダミーの値でも入れておくしかないかなぁ。
ありがとございました。
672NAME IS NULL:05/01/14 11:12:28 ID:???
NULLが入る可能性があるカラムをキーにするのが間違ってるので、
キーを他のカラムに設けて、a、bにUNIQUE制約のみをつけるのが筋と思う。
まずは要件を満たす事を考えなきゃいかんですよ。

そんなにレコード数が多くないちっこいテーブルなら
キー無しでもいいし。
673NAME IS NULL:05/01/14 11:13:32 ID:???
キーを他のカラムに設けて、っておかしいな。
新しくキーのカラムを追加して、ね。なんちゃらIDとか。
674NAME IS NULL:05/01/14 12:27:47 ID:???
そもそもの仕様を日本語で表したときに、そのデータは何によって一意性を判断されるか?
それ以外に無いと思うが。

あと、キーと一意制約の違いはきちんとしないと。
675NAME IS NULL:05/01/14 13:44:08 ID:???
666をよく読み返したら、
どうやら既にあるテーブルに突っ込みたいみたいですね。
テーブル定義は変えられないんじゃないかな。

じゃあ苦し紛れにダミー値しかないかなあ。
676NAME IS NULL:05/01/14 14:19:50 ID:???
9.2.0のデータベースから7.3.4のデータベースに対してDBlinkを張り、
select文を発行したのですが、「ORA-001002フェッチ順序が無効です。」
のエラーが発生します。
この組み合わせは無理でしょうか?
677NAME IS NULL:05/01/14 14:46:34 ID:???
バージョンに関する話題はマニュアルみたほうがいいような。
まずNetが対応してるか、それからDBLinkの仕様を確認。
ついでにSELECT文が7に適合した文法かとか。
678NAME IS NULL:05/01/14 15:17:40 ID:???
>>676
無理。
tp://www.oracle.co.jp/products/system/matrix_db.html
679676:05/01/14 15:32:54 ID:???
>>677
既にいくつかのドキュメントをOTNからダウンロードしましたが、
目ぼしい情報が無くて・・・。
DBlink自体はサーバーのtnsnames.oraに記述している接続文字列を
参照し、Ora7側ユーザー側を指定するpublicのものです。
select文も select * from 表名;のベタなものです。
680NAME IS NULL:05/01/14 16:16:55 ID:???
>>678
ありがとうございます。
681NAME IS NULL:05/01/15 00:05:34 ID:???
オラクル、ピープルソフト社員に解雇通知を発送
ttp://japan.cnet.com/news/biz/story/0,2000050156,20080078,00.htm
682NAME IS NULL:05/01/17 16:50:07 ID:???
oracle8なんですが、データーベースが1日に一回ほぼ毎日落ちてしまいます。
朝出勤すると落ちてるのでsvrmgrlしてconnectしてstartupしてます。多分夜中に落ちてる気がします。

管理者に問い合わせる前に自分である程度原因が分かればと、mseegesなんかをみましたが、分かりませんでした。
ググっても定期的にデータベースが落ちる類のものはなかったです。
って、こんなんじゃ答えようないですよね・・・。
683NAME IS NULL:05/01/17 17:02:47 ID:???
アラートログは見た?
684NAME IS NULL:05/01/18 00:00:49 ID:???
バッチに間違ってshutdownが入ってたりとか。
685NAME IS NULL:05/01/18 01:38:30 ID:???
>>682
犯人はボクです。
686NAME IS NULL:05/01/18 01:42:16 ID:???
>>682

夜中にコールドバックアップ取っていて、管理者がバックアップ終了後に
DBを上げるスクリプトをスケジューリングしていないとかいうオチでは?
687NAME IS NULL:05/01/19 17:02:11 ID:???
Oracle9iってセッションがきれたタイミングで
トリガー(?)みたいなものはよべないでしょうか?

C#のプログラムからOLEで接続しているのですが
リソースをロックしたまま画面が落ちたときに
ロックをつかんだままになってしまうのです。
(テーブルロックとかではなく自分でロックの仕組みを
作っている)

画面とのセッションがきれたタイミングでトリガーみたいな
のがよばれてDB側でロックを開放してくれると
理想的なのですが・・・
688NAME IS NULL:05/01/19 17:18:03 ID:???
>>687
TCP/IPとかなりの特質上、セッションが勝手に切れたかどうかを即時で判断することはできません。
なので、あなたが望んでいるそのままのものは無いと思います。

NETの設定(サーバ側)でセッションタイムアウト値(監視間隔みたいな奴)があったはずです。(8iの知識ですまん)

これを設定すると、サーバー側からセッションの生存確認を一定間隔で行い、
死んでる場合はセッションをクローズしてくれる(=掴んでいたリソースの開放)はずです。

ただ、マニュアルにあると思いますが、この値を極端に上げると負荷がかかってシステム動作に影響あるはずです。

8iまでの知識でしかも手元何もなしなので、間違ってたらすみません。
689NAME IS NULL:05/01/19 17:20:07 ID:???
っと書き込みをしてから括弧の中をきちんと読んだ。
その場合はダメだね。
多分ロック管理テーブルみたいのを作ってるんだろうけど、それって普通にデータじゃないですか。

その仕組みにしてる時点で、不慮の事故の際にロックかかりっぱなしになるのは宿命でしょ。
690NAME IS NULL:05/01/20 22:39:01 ID:???
楽天証券で一時システム障害 今年2度目 - asahi.com : 経済
http://www.asahi.com/business/update/0120/129.html

楽天証券 システム関連のお知らせ No.2001
https://www.rakuten-sec.co.jp/ITS/V_TOP_SysNotice_2001.html

■障害の原因

今回のシステム障害の原因は、基幹データベースサーバで利用しているOracleに
不具合が発生したものと判明しております。
具体的には、Oracle上の共有プール(メモリ)の所定の設定値以上にWEBやマーケ
ットスピードのアプリケーションサーバから大量の処理要求接続が行なわれたため、
それ以上の処理接続を受け入れることができずハングアップしたものです。結果として、
基幹データベースへのアクセスが不可能となり、システムへの新規ログインならびに
登録・更新/参照処理が不可能となってしまいました。

■障害への対処策

本日の復旧処理といたしましては、共有プール(メモリ)のリソースを拡大することで
対処いたしました。そのため、本日9時30分頃からデータベースサーバの緊急停止を
実施し、Oracleの共有プール設定値(SHARED_POOL_SIZE)を障害発生前の2倍に変
更することで発生要因解消を行いました。
691NAME IS NULL:05/01/21 00:38:25 ID:???
>>690

一般人はこの謝罪文を見て理解できるのか?
692NAME IS NULL:05/01/21 00:42:19 ID:???
>>690
 なんか一度障害でとまって、
 メモリや、CPUを増設したみたい。
 で、おそらくチューニングをやっていなくてあぼーん。

 下手したら、カーネルのパラメタいじってな〜いんじゃない?

 おそらくここのシステムのSYSTEM,TEMP表領域はた〜いへ〜んな
 ことになってる余寒がする。
 ほかに何かやばそうなのあるかな?
693NAME IS NULL:05/01/21 14:57:15 ID:wpfCRKHH
誰か助けてください。

今Oracleバージョン8.0.3.8(8i?)
で運用している者なのですが、

・HTMLからあるプロシージャを呼び出すとします。
そこの中で戻り値ありの共通関数を呼び出し、その中でエラーが発生したら
通常は戻り値に「エラー」みたいな文字列を返して、呼び出し元のプロシージャで
処理をするのですが、戻り値を戻さずエラー処理をしたいのですが、戻り値を戻さないと
「Can't display Function Menu.ORA-06503: PL/SQL: Function returned without value」
とオラクルにシステムエラー?をはかれてしまいます。
これをうまく回避する方法はないでしょうか?

・ここまでで処理をストップさせる関数みたいなものはあるのでしょうか?
・またこの処理を入れることによりハード的に何も問題みたいなものは発生しませんでしょうか?

宜しくお願いします。
694NAME IS NULL:05/01/21 16:26:33 ID:???
>>693
>今Oracleバージョン8.0.3.8(8i?) 
>・HTMLからあるプロシージャを呼び出すとします。
>戻り値を戻さずエラー処理をしたいのですが、
なんか色々凄いね…
よく判らんが、プロシジャから関数呼んでるんでしょ?
関数で例外送ってプロシジャで受ければいいんじゃない?
695693:05/01/21 17:22:54 ID:wpfCRKHH
> 693
> 関数で例外送ってプロシジャで受ければいいんじゃない?
そのような処理が通常行う処理の流れなのですが。
プロシジャ(呼び出し元)を修正するとなるとこの共通関数を呼んでいる
全ての箇所に修正を加えなくてはいけなくなってしまうので、それは避けたいので、
戻り値有り(Function)関数でこの場合だけ、例外的に処理を強制的に止められるような
処理はないのかなと思ったのですが。。
696NAME IS NULL:05/01/21 17:35:07 ID:???
まあ、693の書き出しからしてあれだけど。

HTMLからはよべんわな?
Javaスクリプト?サーブレット?PHP?

何れにしてもその中で処理すればいいだけじゃないの?
697696:05/01/21 17:51:49 ID:wpfCRKHH
> 何れにしてもその中で処理すればいいだけじゃないの?
いや、違くて。。

何度も言っているのですが、共通関数なので、呼び出し側を改修するような
作業が発生してしまうと全てのプロシジャを改修する作業が発生してしまうので・・・
呼び出しているのはCプログラムです。
ですが、開発しているのはPL/SQLで行っています。
698696:05/01/21 17:58:46 ID:wpfCRKHH

functionで値チェックをしてエラーならエラー処理、エラーなしなら呼び出し元に戻り通常処理だとします。
Cプログラム → PL/SQL(procejure) → PL/SQL(function) → 呼び出し元に戻るPL/SQL(procejure)
                         ↑
                       引数を渡す
ここで、例外的に引数を返さずシステムエラーもはかずに処理を止められるような
ことはシステム関数みたいなものでないかなと思っただけなのですが。。

このプログラムの流れが悪いとか指摘は抜きにしてもう悪いのはわかっているので。
699NAME IS NULL:05/01/21 23:04:20 ID:6TFcRpwY
Oracle 10gのDatabase Configtarion Assistantでカスタムスクリプトを吐き出させて、
それを実行してインスタンス作ってみたのですが、OracleDBConsoleXXXXというのが
できません。これってどうやったら作れるものなのですか?
700NAME IS NULL:05/01/22 17:08:15 ID:???
RAC構成で普段使っていないノードがあるんだけど
archive_lag_targetを設定するのってどうよ。
701NAME IS NULL:05/01/22 21:05:44 ID:???
>>700

一定時間でArchivelogを吐かせたいということ?
fast_start_mttr_targetを設定して、チェクポイントを自動に
取る様にすればいいんじゃない?

702NAME IS NULL:05/01/22 21:51:55 ID:???
>>700
複数インスタンスには同じ値を使用する必要がある。なんか意味あんの?
703700:05/01/23 01:45:08 ID:???
コメントサンクス
いやね、遊んでるノードはアーカイブがたまにしか吐かれないんだわ。
カレントREDOが逝っちゃうと痛くないかなと思って。
704NAME IS NULL:05/01/23 02:50:02 ID:???
>>699

emca
705NAME IS NULL:05/01/23 07:03:40 ID:???
>>703

RMANでArvhivelogのバックアップ取ればいいんでないの?
バックアップ時に暗黙的に「archivelog all」が行われるし?
706NAME IS NULL:05/01/23 15:38:02 ID:???
>>703
redo memberを増やして安堵感を買う。
707NAME IS NULL:05/01/23 23:09:20 ID:???
普通のノード:redo切り替え 2時間に1回
遊んでるノード:redo切り替え 6時間に1回
→アクセスなくても勝手に吐かれるみたいね。KROWNにのってた。

これだと遊んでるノードのカレントredoの消失って痛いかなと思って。
ただし、archiveの消失も痛しで両刃の剣。
というわけで、これを決めかねている。

ちなみにmemberは2つあるよ。RAID(0+1)でね。
708NAME IS NULL:05/01/24 08:39:16 ID:???
>>707
memberがいるなら別にいいじゃん。
709NAME IS NULL:05/01/24 20:13:28 ID:???
質問させてくれ〜
OracleのAPPのOCIは10gになって何か変更されたのかな?
Web上に情報があれば、アドレス教えてくれると助かる
710NAME IS NULL:05/01/24 22:59:26 ID:qR9yuQGl
3451.arc
3453.arc
3454.arc
...
とarchive.logの番号が1つ飛んでしまったのだが、何が原因じゃ?
711699:05/01/25 00:35:43 ID:???
>>704
emcaの具体的なコマンドオプションを教えてもらえると助かります。お願いします。

712NAME IS NULL:05/01/25 00:57:34 ID:???
>>710
RACなら別のノードに吐かれてるぞ。
(インスタンスダウンしてたらだけど)
713NAME IS NULL:05/01/25 01:22:23 ID:???
>>710
まずはalert.log見てみそ。


>>712
スレッドが違うから、飛ぶのはおかしいってば。
714NAME IS NULL:05/01/25 01:52:23 ID:???
>>713
他ノードのアーカイバ・プロセスがアーカイブを場合もあるのよ。
715NAME IS NULL:05/01/25 02:27:35 ID:???
>>714
吐く場合もあるのよ。
716NAME IS NULL:05/01/26 18:26:16 ID:???
すいません。初心者とはいえ馬鹿な奴だと思われるような質問なんですが・・・

オラクルエンタープライズマネージャーから
セキュリティ→プロファイル→プロファイル名を設定。
そして、試しにアイドル時間を1と設定しました。
ですが、1分放置しても何もなりませんでした。
他に設定する箇所があるのでしょうか?
どなたか教えてください。お願いします。
717NAME IS NULL:05/01/26 19:54:06 ID:???
>>716

確認すべき点は次の点だな。

1. 初期化パラメーターの「resource_limit」が「true」になってるか。
2. ALTER USER ユーザー名 PROFILE プロファイル名;でちゃんと
 ユーザーに対してプロファイルを適用しているか。
718NAME IS NULL:05/01/28 08:40:47 ID:???
Solaris8の環境でOracle8iのインストールを行っています。
しかし、インストールのCD2枚目に入れ替えてしばらくした所(88%位)で次のようなエラーメッセージが出てきます。

Error in writing to file
$ORACLE_HOME/ctx/data/enlx/droldUS.dat

というエラーです。
ボタンが3つ(Help、Retry、Cansel)あり、Helpには大したことが書いてありません。

書き込み出来ないエラーだと思い、chmodの関数を使用して書き込みの権限も与えました。
しかし、エラーは続きます。

もしもわかる方がいらっしゃいましたらよろしくお願いします。
719NAME IS NULL:05/01/28 10:12:36 ID:???
>>718
ディスク容量、32bit or 64bit の間違いなどは如何。
720718:05/01/28 12:04:14 ID:???
719様。ありがとうございます。
調べてみた所64bitでCD-ROMも64bitを使用して再度インストールを実行してみました。

気づいた点があります。
UNIX Group Nameを入力した後に小さいウインドウが
ポップアップで出現するはずなのですが出てきません。

本当は別の端末ウインドウでorainstRoot.shファイルを
実行しないといけないのですが、そのファイル自体も存在しません。

そのせいで後にエラーが出てくるということはあるのでしょうか?

説明がわかりにくいと思いますが、わかる方がいらっしゃいましたらよろしくお願いします。
721718:05/01/28 16:32:56 ID:???
64bitのCDで試した所、
別のファイルでエラーが起こります。

Error in writing to file
$ORACLE_HOME/bin/agtctl

というエラーです。
このoracleファイルは存在します。
サイズは49,152です。

知っている方はもちろん、同じようなエラーが出た方で解決した方が
いらっしゃいましたらよろしくおねがいします。
722718:05/01/28 19:02:17 ID:???
すみません。
出来ました。
oraInst.locファイルを削除しなかった為におきたエラーでした。
お騒がせしました。
723NAME IS NULL:05/01/29 00:56:29 ID:???
他人のスキーマ上のテーブルを TRUNCATE するためには
どのような権限が必要でしょうか?

A さんの TEST というテーブルを、
B さんが「TRUNCATE TABLE A.TEST」と素直に切り捨てる
ために必要な GRANT 文はなんですか・・・ということです。

どなたか助けて下さい・・・
724NAME IS NULL:05/01/29 01:37:25 ID:wcRKwJ1W
そんな時はとりあえずgrant dbaかgrant drop any table
725NAME IS NULL:05/01/29 01:40:17 ID:???
>>724
はうあー!そんな権限設定を客が許してくれる訳ねー!
「必要最低限の権限」を教えて下さい・・・すんません。
726NAME IS NULL:05/01/29 01:48:58 ID:???
前提条件が自分のものか、drop any table権限
(SQLリファレンスより)
727NAME IS NULL:05/01/29 01:58:17 ID:???
>>726
any ではなくて、特定のテーブルに対する TRUNCATE のみを許可ってのは
できないんやったっけ・・・?

さっきの例で言うと A さんの TEST テーブルは TRUNCATE できるが、
TEST2 テーブルは TRUNCATE できない・・・みたいな。
728NAME IS NULL:05/01/29 02:16:14 ID:???
>>725

他人のテーブルをtruncateするのはdrop any table 「システム権限」が必要。
他人の特定のテーブルをtruncateする「オブジェクト権限」はない。はず。たぶん...
729NAME IS NULL:05/01/29 02:16:50 ID:???
>>727

できまへん。
DBA以外のUserがTruncate権限持つ事自体が怖いので、
そういった設計になっているみたいっす。
730NAME IS NULL:05/01/29 02:22:21 ID:???
>>728
>>729

はうあー!でもまさにそれが知りたかった答えです。
非常に助かりましたわ。ありがちょ!にちゃんさいこー
731NAME IS NULL:05/01/29 16:20:56 ID:???
/ 冫─'  ~  ̄´^-
/  /ヽ丿彡彡彡彡彡ヽヽ
|  丿 Mr.Gates   ミ
| 彡 ____  ____  ミ/
ゝ_//|-=・=-|⌒|-=・=-|ヽゞ
|tゝ  \__/_  \__/ | |    __________
ヽノ    /\_/\   |ノ  /
 ゝ   /ヽ───‐ヽ /  /  っつーか、みんな
  /|ヽ   ヽ──'   / <   おらくるじゃだめだって。
 / |  \    ̄  /   \
/ ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
732NAME IS NULL:05/01/30 00:42:38 ID:0zgKOuSg
win2000に
9i(9.0.1)のパーソナルエディションがインストール出来ません。
インストール途中の
Oracle Database Configuration Assistantのインストール中
と言うところで止まったままになります(2時間ほど止まったままでした)

何卒、インストール方法をお教えください
733NAME IS NULL:05/01/30 00:56:42 ID:???
>>732
ファイルパスにダブルバイト文字が含まれていないか確認汁。
734732:05/01/30 01:31:19 ID:???
>>733
レスありがとう御座います。
確認いたしました。
全てシングルバイト文字でした。
ログインしているユーザ名も同様です、、、。
735NAME IS NULL:05/01/30 02:01:33 ID:???
メモリーが足りないorディスクが足りない
インストール時にはDB作らないで、インストール後に
もろもろをやったほうがいいと思う。
736732:05/01/30 02:25:38 ID:???
>>735
メモリは512m
ディスクはcが2.5G、Dが4.5Gです。
DBを作らないインストール試してみます。
ありがとう御座いました。
737732:05/01/30 04:39:22 ID:???
DBを作らないインストールでも駄目でした、、。
9.2iのトライアルをダウンロードしてインストールしたら、
うまくいきました!
教えくくれたみなさんありがとう御座いました
738NAME IS NULL:05/01/30 04:54:55 ID:???
>>737
なんだ。何でも良かったのか。

遅いけど一応。

その頃のインストーラは Pentium4 と相性が悪かった。
ローカルにコピーしてなんかのファイルを修正して、とかやる必要があった。
あと、元々インストールしてある Java とぶつかったりもした気がする。
739NAME IS NULL:05/01/30 14:59:42 ID:???
>>723
そんな感じのプロシージャを作って
オーナ権限で動かしてtruncateすればいいんじゃない?
740NAME IS NULL:05/01/30 22:24:56 ID:???
>>732
Path環境変数に他のJava VMが先に登録されていると、そっちを優先的に読み込んでしまうので
そこで落ちることがあるよ。つかインストールログにJava例外メッセージがちゃんと出てるはず
なんだけど、それ読んだ?
741NAME IS NULL:05/01/31 12:05:59 ID:???
テスト機と本番機に既にだいたい同じOracle8iの環境がありまして、

現状テスト機のOracleのデータが古いので
本番機からデータを引っ張ってきて最新の状態にしたいのですが、どの方法をとればよいか
悩んでいます。

1:exp80 system/manager full=y file=G:\exp_full.dmp log=G:\exp_full.log
システム権限で全ユーザーが所持するテーブルを取得してやる。
この場合、システム表領域のテーブルも取得してくるのですかね?
その場合、安易にインポートしてはいけないような気がするのですが・・

2:REDOログファイル・ユーザーデータファイル・一時表領域データファイル・
システム表領域データファイル・コントロールファイル・アーカイブログファイル
をコピーしてやる・・・

教えてください。
よろしくお願いします。
742NAME IS NULL:05/01/31 12:37:41 ID:???
何を移行するかによると思う部分もあるが。

ロジックのチェック=データの移行であれば、1の方法で使用するユーザー=スキーマのデータだけ移行すればOK。

性能面など測るのであればEXPORTでは、入れたときに断片化が解消されるので2の方法でしょうか?
743741:05/01/31 13:10:05 ID:???
>>742

ありがとうございます。移行したいのはデータですが、
各テーブル間において外部キーなど関係性を所持しているかもしれないです。
↓のコマンドで全テーブルを引っ張ってきて、インポートしても
もそういう依存関係は保持されるのでしょうか?

exp system/manager full=y file=G:\exp_full.dmp log=G:\exp_full.log

このコマンドからやると全てのユーザーのテーブルがdmpファイルにコピーされる
らしいのですが、いったい「全て」とはどこまで全てなのでしょうか?
たとえばシステム表領域内のテーブルもでしょうか?

あとインポートする際にはどいうコマンドを打てば・・

聞きまくってすみません。
744NAME IS NULL:05/01/31 13:42:38 ID:???
トリガーステートメント中に、トリガー発動の契機となったSQLを発行した
プログラムの名前と、そのSQL文を取得したいのですが、
どのように記述すればよいのでしょうか?
宜しくお願いします。
745NAME IS NULL:05/01/31 15:31:35 ID:???
>>743
全てといったら全てです。w
システム管理のものなども含まれます。
詳細はORACLEのマニュアルダウンロードして確認したほうがいいですよ。
コマンドとかツールに関しては最終的にはそれで確認するようにしないと。

>>744
無い・・・と思う。
トレースで行うことで外部から推察は出来るけど。

746NAME IS NULL:05/01/31 15:34:21 ID:???
>>743
あと、DMPファイルは強いTextEditorで見れば中みれます。
(メモ帳とかじゃなくTeraPadなど)

CreateTable/Index、AlterTable、Insert、などの塊なので見れば判ります。
外部キーなどもきちんとスキーマー指定して適切な人が所有してれば問題ないとは思うのですが・・・。
747NAME IS NULL:05/01/31 16:08:34 ID:E+PV6JQ7
こんばんは。
Oracle初心者です。
現在Solaris8にOracle8iをインストールをしています。
Oracleをインストールする際に途中でorainstRoot.shを実行しますが、
これを実行することで何が行われるのかわかりません。
わかる方いらっしゃいましたら教えていただけませんでしょうか?
検索してもうまくひっかかりません。
よろしくお願いします。
748NAME IS NULL:05/01/31 17:26:54 ID:???
>>743

8iからはsysのオブジェクトはexp/impはされないんよ。
それを除いた全てがexp/impで行う事が出来る。

DBの方法で大体考え付く方法は以下のものかな。

1. exp/imp
2.RMANによるDuplication
3.DB Link
4.マニュアルコピー

RMANによるDuplicationは断片化こそ解決はしてくれないけど、
ほぼ自動でやってくれるから便利と言えば便利。
749NAME IS NULL:05/01/31 17:29:53 ID:???
>>741
2 なら面倒ないぞ。
本番機のoracle 止めて、データファイルコピーして、
テスト機のoracle 止めて、データファイルコピーして init.ora書き換え、起動
まっさら移る。
750NAME IS NULL:05/01/31 19:37:56 ID:???
>>747
そのシェルスクリプトを読めば済むことなのでは?
751NAME IS NULL:05/01/31 23:28:17 ID:???
ここオラクル総合スレだよな?

初めてきたんだけど、オラクル10Gは評価されてるのか?
俺的にはもダメダメだ
この会社は9ias辺りからおかしくなりすぎ。

特に信者どもオラオタども!!
オマエラもちょっとはオカシイと疑問もてよ!!
誇大広告じゃねーか!マッチポンプじゃねーか!!


オラクルしっかりしろよ!!!
752NAME IS NULL:05/01/31 23:45:59 ID:???
10gは最初から眼中なし。GRIDもASMも俺には必要なし。
だから9iR2で十分。てか、これでもオーバースペックかもな。
753NAME IS NULL:05/02/01 00:02:42 ID:???
>>751
なぜそんなに熱いんだ。
754751:05/02/01 00:22:37 ID:???
俺、オラクルプラチナ取るのに必死こいて頑張った。
それで転職も出来た。オラクルには恩があると言ってもいい。

でも、デベロッパーミーティングに行っていような光景を目にした。
打ち上げパーティがあるというので参加したら、出てきたのは、誰?!っていうオラクル社員がほとんど
しかも進入女性社員も壇上に引っ張りあげてる。

女子アナ気取りかっつーの!

さらに、プレゼントしまーす!とかつって、オラクルグッズを壇上から客席に向かって投げ始めやがった。
オラオタ信者は我も我もとアイドルに群がるように押し寄せていき、その光景をみたオラ社員は言いやがった。
「ウチのグッズって人気あるんだぁw」

ふざけるのもたいがいにしろだ!
755751:05/02/01 00:29:38 ID:???
さらに10G
何処がグリッドコンピューティングなんだよ!?
自己分析自己管理!?cronにstatsパックを自動実行させるのに毛を生えたていどじゃないか。
OEM!バグ多すぎ!!よくこんなものを売りつける気になったな。悪徳もいいとこだ。

プラチナを強引にゴールドに引き下げるなんてこともしやがったな。
プラチナ取れ取れって煽ってたのはオラクルじゃないか!!

今度の10Gは簡単便利になりました。
ってオイ!!研修費は9iより6万円も高いだろ!!!!

なんかね、俺はオラクル技術によるDBA職人を目指してたわけ。
なのにその元締めが、マッチポンプだったって分かって。
俺の潔癖症が我慢できない。
俺の求めていたものはコレだったのか・・・と落胆したよ。

すまん。
スレの流れブッちぎったね。
ごめんね。
756NAME IS NULL:05/02/01 00:30:16 ID:???
>>754
いや、それは極端な世界だって。
データベース界の秋葉原みたいなもんだよ。
757751:05/02/01 00:36:21 ID:advQXVlc
>>756
こんなこともあったぞ

オラの技術サポートで質問したんだよ。
内容は忘れたけれど、「インストール後の環境構築スクリプトがうまく動かない」こんなかんじ
でね、ネットの過去事例でスクリプトの当て方みたいなのがオラサイトにあって、そのとおりにしてたのに。

結局それは回答が来た、「○○って隠しパラメーターを××してください。この過去事例に乗っているでしょ」
って感じのが。

ブチギレタね。
おい!タイトルからして俺が読んでた方が、まさにスクリプト実行マニュアルじゃねえか!
隠しパラメーターってなんだよ!!

オラサポは言う
「今までそんな苦情はこなかったから、皆さんできてるようですよ」

俺の怒りは頂点に立つ
758NAME IS NULL:05/02/01 00:36:29 ID:???
>>755
> 俺の潔癖症が我慢できない。

その潔癖症と製品知識を生かして、未来に発生するであろう製品不具合を
避けて安定稼動するデータベース環境を構築すればいいんでしょう?

製品技術に携わる技術者に求められる事って、こういう側面が大きいと思うけど。
759NAME IS NULL:05/02/01 00:39:15 ID:???
>>757
いや、それは激怒してよい。
760751:05/02/01 00:41:41 ID:???
>>759
だろ?客ナメるのもたいがいにしろってんだ。

>>758
俺はもうオラクルを盲信しなくなった。
こんなカンジで一歩引いてたほうがいい商品を見ることができるかもってんでヨシとしようとも思う。

でもウチの上司がオラ信者なんだよねぇ・・・。
761753, 756, 758, 759:05/02/01 00:45:18 ID:???
>>760
いや、妄信していた今までがおかしいのであって、
今が正常な状態と言えるのではないでしょうか。

なにもORACLEだけに拘らず、精進すればよいのでは。NOKK社員じゃないんだし。
762NAME IS NULL:05/02/01 00:58:38 ID:???
( ゜Д゜) ポカーン
763NAME IS NULL:05/02/01 07:30:03 ID:???
なんだかねえ
764NAME IS NULL:05/02/01 07:51:06 ID:???
>>751
>ここオラクル総合スレだよな?
そうです。しかし、愚痴スレではありません。

うぜぇよ莫迦。
765NAME IS NULL:05/02/01 21:49:55 ID:???
いまだにOracle 8ですが何か?
別に不満はありません。
766NAME IS NULL:05/02/02 09:55:51 ID:???
>>767
君の気持ちはとてもよくわかるけど
プロプライエタリな技術の資格試験だと言う時点で
そこは割り切っとかないとダメダメだよ。
でもプラチナ取ったのは無駄じゃないとおもうよ。
767767:05/02/02 10:11:38 ID:???
え、オレ!?
768NAME IS NULL:05/02/03 00:32:23 ID:???
>>751
> オラクルしっかりしろよ!!!

愛ゆえの叱責なのね。
でも、

>>751,754,755,757,760
よく読んだら、自分の気に入らないことわめいてるだけじゃねーか。

>>754
>ふざけるのもたいがいにしろだ!

よそと違うことをするのがこの会社の伝統だな。
かりかりすんなって。

>>755
>何処がグリッドコンピューティングなんだよ!?
>自己分析自己管理!?cronにstatsパックを自動実行させるのに毛を生えたていどじゃないか。

ん?
自己管理はそのもう少し先にあるぞ。
もう少し深堀が必要。
GRIDはリソースを大量に用意しないとうまみがないかも。

>今度の10Gは簡単便利になりました。
>ってオイ!!研修費は9iより6万円も高いだろ!!!!

自己管理と初期導入は少し簡単になった。
でも、新しいコンセプトの機能がてんこもりだから、勉強することも増えたw
研修が高くなったのは知らんかった。


>>757,759
探し方がたりなかっただけだろ。


でも、RDBMSではOracleが先端行ってるから、これを追っかけておけばいいんでない?
DB2もSQL鯖もオープンソース系も、機能追加はOracleの後追いだし。
769NAME IS NULL:05/02/03 02:14:38 ID:???
>>768
> 探し方がたりなかっただけだろ。

それが駄目なんだろ。
770NAME IS NULL:05/02/03 02:39:34 ID:???
レプリケーションをしているテーブルの定義を変更したい(列のサイズを増やす)のですが、
DBMS_REPCAT.EXECUTE_DDL や DBMS_REPCAT.ALTER_MASTER_REPOBJECT で
変更されるのはマスター側のみで、マテリアライズドビューの定義が変更されません。
マテリアライズドビューの定義を変更するプロシジャもないようです。
どうやって変更したらよいでしょうか?Oracle9i(9.0.1)です。
771NAME IS NULL:05/02/03 02:42:07 ID:???
>>770
DROP/CREATEしたらどうでしょうか。その後、完全リフレッシュすればよいのだし。
772NAME IS NULL:05/02/04 15:59:36 ID:???

間違って drop table した人を特定しようかと、ふと思いました。
いい手があったら、教えて下しい。

(状況)
アーカイブログモード;falseで運用してます。
昨日 drop tableしたらしいので、redoログには,そのログ
残っていると思われる。 が、しかし、セッション情報までは
LogMinerで、追いかける事は不可っぽい。 ここでとまってます。
773NAME IS NULL:05/02/05 10:50:47 ID:???
特定する必要性がわからん。
権限を与えたやつが悪い。
774NAME IS NULL:05/02/05 11:45:30 ID:???
dropできる権限を持ってるユーザでログインできる人全てを尋問する。
775NAME IS NULL:05/02/05 12:19:59 ID:???
説教が好きなタイプなんですよ
776NAME IS NULL:05/02/05 13:14:24 ID:???
             ィ^ヽ-、_,,..,,,_ _,,....,,_ /` 、_
           <´''  ,ゝ' ヽ、ヽ'    `ヽ    /
           /\/'⌒ ,  ,  ゙ヽ⌒゙ ヽ/\
          /`,/  ; ' ,' ;'::ハ ゙iヾ ゙ ;`ヾ ヽ  >
         <  / :;':::,',',' ,' ,'!' !i ゙i,゙i.゙i:゙i ; iヾヽ/ヽ
        / \{ :::i i'!从,'_i! !  i.i;i_从i.゙i.:};; i;;i:};;;:: i
         〈 :: ::! :: ;:!; ',ィiiTii、    ;'iTiiヾ!:!;;:!;;'ヽ;;:: i
          i :: :ハ::;;:;ハ! ! r':;i!     ir':;i!ノ iiノ i,'{;;::: ;;: |
        ! :: i:::::∨iiハ `ー'     `ー' /i i i i;;;;: i;; i
        ! :: :::::::ム ! 人 ""  _'_  "" / l ii i l;;;;:: ;; i
         | :: i::::::: !`ii N.>,、_   _,..,イ レ'| |、| i;;;;: i;; i  問い詰めは
          | :::!::::::i | | |_./|  `´  |\._.| | | i;;;;:: ;; i.    得意なんです
         ! ::i::::::」:iイ! !. 〈 \___/ 〉.;`! !ヽ.! i;;;;;:: ;;i      ブレンディー
        i  ;',:ィ´   | |  ゝ,-ヾ_/‐- く  | |  `ヽ;;;;::: ;i
         ! /゙i.゙i.   | |/ (`く`/)   _ヽ_ | |   ,',' ゙i、;;: i
        .! ;'  ゙i.゙i  | |\ (` y' />',.-_-' | | ,','  ゙i;;;:: i
       ,! ,!   ゙i.゙i. | |  (`(`/ '´   二.-',! | //   ゙i;;:: i.
       / /:|   ゙i、゙.| |   /ヽi     ,二フ/     ゙i.;;: i、
     / /:::!     \!.!ヽ/  /  _,.- イ´'/!       ゙i.;;: i.
777NAME IS NULL:05/02/07 20:20:42 ID:???
犯人はsystem/managerですた。
778NAME IS NULL:05/02/08 13:40:43 ID:ZBJEDYV7
VB.NET+ODP.NETでアプリケーションを作成する場合
Oracle Fail Safeに対応するために何か特別な
コーディングが必要でしょうか?


779NAME IS NULL:05/02/08 20:18:09 ID:???
>>778

Oracle Fail Safeと言うのは、TAFの設定とかそういった意味なんかいな?
780NAME IS NULL:05/02/08 20:39:41 ID:???
>>779
自分もよくわからないのですがサーバーが
OracleFailSafeというので冗長化されるとのことで
初めて聞くことでよくわからないのです。
当方はVB.NETでアプリを作るのですが、その際
今までと同様のコードでいいのかと思いまして。
781NAME IS NULL:05/02/08 21:29:36 ID:???
>>780

障害時に・・・

1. select文はカーソルが引き継がれるので、特に意識する必要はないはず
2. DML文に関しては、ロールバックされるので、処理の再投入をハンドリング
  するというコーディングが必要になってくる。

こんなとこかいな?
782NAME IS NULL:05/02/08 21:42:05 ID:???
>>781
ありがとうございます。
そうするとUPDATEやINSERTでエラーになったら
リトライすればよいのですかねぇ
実環境が( ゚д゚)ホスィ…
783NAME IS NULL:05/02/09 00:50:20 ID:???
>>782
ofsはクライアントから見れば(スタンドアロンの)DBがshutdown→startupしてるようなもの。
その間はセッションが切れるから、そのあたりの対応を考慮しとけばいいんじゃない?
784NAME IS NULL:05/02/09 10:09:37 ID:???
>>783
まじっすか?
それってあまり役に立たないような
24時間365日稼動可能なミッションクリティカルな
業務に使えると聞いたのですが
785NAME IS NULL:05/02/09 10:14:24 ID:???
Real Application Clustersと間違えてるかも・・・
うーん。よーわからん
786NAME IS NULL:05/02/09 10:49:46 ID:???
osfまたはracの上にTAFが乗っかって
ODP.NETはそれと通信するという形でしょうか?
TAFさえ乗れば>>781さんのことについて
気をつければいいということかなー
787NAME IS NULL:05/02/10 00:46:15 ID:???
>>784
まじっすよ。

OFSは、アクティブ&スタンバイのよくあるHA構成だから、
ノードが切り替わる時のダウンタイムは仕方ないよ。

比べて2ノードRACは、アクティブ&アクティブのシェアード・クラスタだから、
片ノードがノード障害でダウンしても、もう片ノードでノード切り離しがうまくいけば、
ダウンタイムは限りなく無くなることになるよ。

つっても、RACにしても残存インスタンスが一時的にHANGしてしまう
こともあるので過信は禁物なんです、これが。

シングルインスタンスと比較したら、より 24*365 向きであることは間違いない、かもよ。
788NAME IS NULL:05/02/10 08:34:50 ID:???
>>787
了解です!
では接続中にOracleをシャットダウンしてみて
どんな例外エラーが発生するか試して
そのエラーが発生したら再接続を促すダイアログを
出そうと思います。
789NAME IS NULL:05/02/10 20:14:34 ID:???
RACのHA機能に関して出たので暇だから書いてみるか。
RACのインスタンス同士が通信に使っているLAN(OrcleではInterconnectsと呼ぶ)に
障害が発生した場合、Oracleとしてはクラスターウェアがスプリットブレインを解決して
くれる事が前提とした作りになっている。
もし何らかの理由により、クラスターウェア側がスプリットブレインを解決してくれない
自体が発生した場合、Oracle側にもデータの整合性を保障するために、スプリット
ブレインを解決する機能、IMR(Instance Membership Recovery)機能が9iR2から
導入されている。

IMRによってスプリットブレインを解決するまでのデフォルトの流れは下記の通り。

1. Interconnectsに障害発生。
2. 5分間ハングする。
3. Oracle側が障害発生を検知する。
4. クラスターウェアがスプリットブレインを解決してくれると願い10分間待つ。
5. クラスターウェアが解決してくれないので、どのインスタンスを残すかを
 コントロールファイルを使って投票する。
6. 生き残りノードが決定され、それ以外のノードは自殺する。この間が約2分。
なお基本的に生き残るノードは、生き残りのノードが同数ずつの場合は
インスタンス番号の若い方を含んだ側が、そうでない場合には 生き残り
 ノード数が多い側となっている。

まあ、OracleのIMRでスプリットブレインを解決しようとすると、9iR2では17分
かかるから、普通はクラスターウェア側で解決しなさいってこった。
790NAME IS NULL:05/02/11 03:14:46 ID:???
>>789
んなこと書くと、Iの工作員が寄ってくるぞ。

ほとんどの場合、クラスタウェアとOracleインスタンスのインターコネクトは同一線にするから、IMRのお世話になることはあんましないけどね。
まぁ、安全装置がついてるってことで。

791NAME IS NULL:05/02/11 03:22:21 ID:???
>>789-790
ここでそんな説明いらんて。
792NAME IS NULL:05/02/11 03:30:33 ID:???
どこのセミナーできいたんでつか?
793NAME IS NULL:05/02/11 03:34:51 ID:???
>>789-790

うざ。
794NAME IS NULL:05/02/11 17:59:46 ID:???
浸り気に>>789が長文書き込んでいる光景が目に浮かぶ。
795NAME IS NULL:05/02/12 11:29:24 ID:???
>>789
ナイス情報サンクス。知らんかった。

> なお基本的に生き残るノードは、生き残りのノードが同数ずつの場合は
> インスタンス番号の若い方を含んだ側が、そうでない場合には 生き残り
>  ノード数が多い側となっている。

そうでない場合というのが良く分からんのだが。教えてくれんかね。
ちょうどその辺の設計しているのですわ。

前のプロジェクトじゃそんなこと触れなかったよ。
ま、790の言うことももっともだから今更いいけどさ。
796789:05/02/12 12:05:44 ID:???
797NAME IS NULL:05/02/12 12:50:16 ID:???
自演乙
798NAME IS NULL:05/02/12 15:28:23 ID:???
ナツ○ってなんでコテハン変えたの?
うざがられてるって自覚あったのかな?
それとも会社名が割れちゃったから?
799NAME IS NULL:05/02/12 15:47:40 ID:???
大きい表領域を作成する時のデータファイルは、
1ファイルで行くのと複数ファイルに分割するのとでは、
どちらがおすすめ(または正解)でしょうか?

私自身は、Partitioning Optionを使ってないし、
分けても意味無いかなと思いつつも、
1データファイル=4GBで収まるようにしています。
環境は、9iR2SE/Win2k/NTFSです。
800NAME IS NULL:05/02/12 16:11:45 ID:???
どっちでもいいよ。
SEってことはたいしたシステムじゃないんでしょ
801NAME IS NULL:05/02/12 16:18:28 ID:qGMXHU5p
>>795

例えば4ノードのRACを組んでいて、インターコネクトに障害が発生して、
1対3に分かれる様な場合、この時にはインスタンス番号に関係なく多い
方のノード数が生き残る。つまりは3の方。
2対2に分かれる様な場合には、インスタンス番号が若い方を含む方が
生き残る仕様となっている。
802NAME IS NULL:05/02/12 22:16:21 ID:???
>>800
レスありがとうございます。
おっしゃるとおり、たいしたシステムでは無いのですが、
他所様ではどうしてるんだろう?と思ったしだいです。
可も不可も無いのであれば、今のやり方でやっていきます。
803NAME IS NULL:05/02/12 22:30:14 ID:???
>>799
負荷分散を考えれば複数ファイルだろ。
そんで違うRAIDグループに配置だ。
804NAME IS NULL:05/02/12 22:35:33 ID:???
>>801

サンクス

オレッチはあんたの様な人、大好きだ。
また暇な時にいろんなこと書いてくり。
805NAME IS NULL:05/02/13 00:52:18 ID:???
>>804

ブーイングの嵐で正直ヘコんでいた。
お役に立てたみたいで何より。

806NAME IS NULL:05/02/13 02:23:53 ID:7bgGCWJG
このまえ、ORA-4031出ました。
皆さんは、共有プールの見積もりってどうやってます?
共有プールサイズの妥当性って・・・

ちなみに、

 おら817EE
 HP11i

です
807NAME IS NULL:05/02/13 02:30:25 ID:7bgGCWJG
今度、HP11i/ora817をpfsマウントじゃなく、ディスクにコピーしてからインストールしようと
思うんですけど、これって一般的なやり方ですか?

本番運用されてるサーバに入れるんで、
 pfsマウント失敗→サーバリブート
なんてことは避けたいと思ってます。

皆さんは、やっぱりpfsマウントですか?
808NAME IS NULL:05/02/13 07:08:00 ID:???
>>807

一般的かどうかは分からんが、別にStage Areaをコピーしてからインストール
しても特に問題は無い。
むしろ昔あった悲惨な話は、CDをpfsマウントしたディレクトリまで降りていって、
インストーラーを起動してしまって、ディスク入れ替えの時にアンマウント出来
ないという事故が・・・。
809NAME IS NULL:05/02/13 07:10:14 ID:???
>>806

こればっかりはアプリケーションの特性やユーザー数に思い切り影響受けるから
一概にねぇ。
STATSPACK取って細かくチューニングして行くしか最善という方法はない気が
するよ。
9iからのSPFILEもある意味それが目的で導入された様なもんだしね。
810NAME IS NULL:05/02/17 19:00:36 ID:udieWMl7
あまりに初心者な質問ですみません。上のFAQやサイトを見てもよくわからなかったもので
質問させてください。
SQL*plusでSYSTEMユーザーでログインした後にconnect /as sysdbaを入力すると

|SQL> connect /as sysdba
|ERROR:
|ORA-12560: TNS: プロトコル・アダプタ・エラーが発生しました
|
|
|警告: Oracleにはもう接続されていません。
と出るのですが、何がいけないのでしょうか。tnsnames.oraをみても正しくなっているはずで
sqlplus "sys/password@SID as sysdba"はうまくいくんです。
よろしくお願いいたします。
811NAME IS NULL:05/02/17 21:14:05 ID:???
>>810

O/S認証が有効になってないからじゃない?
ちなみにプラットフォームは窓かい?
812810:05/02/17 23:25:52 ID:udieWMl7
>>811
はい。Windows2000 proで、OS認証されていないかと思い、ORA_DBAグループに自分のアカウントを追加しています。
813NAME IS NULL:05/02/17 23:48:00 ID:???
>>812

以下の点の確認かな。

1. 窓ユーザーのアカウントにAdmin権限が付与されている

2. %ORACLE_HOME%\network\admin\sqlnet.oraに
 「sqlnet.authentication_services = (NTS)」が設定
 されている。

3.レジストリ・キー「HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID」
  のパラメータ「OSAUTH_PREFIX_DOMAIN=TRUE」に設定されているか確認
(HOMEIDはログインしたいインスタンスのID)

って、所かな?





.

814810:05/02/18 00:39:29 ID:Cc45VL1a
>>813
インスタンスのIDとは、SIDのことでしょうか。
レジストリキーを
ORACLEに%SID%キーを作成し、文字列OSAUTH_PREFIX_DOMAIN 値TRUEを追加してみましたが
うまくいきませんでした。Oracleは9.0.1.0.1です。

|$>sqlplus /nolog
|SQL>connect / as sysdba
|ERROR:
|ORA-24314: サービスハンドルが初期化されていません。

815NAME IS NULL:05/02/18 00:40:15 ID:dxE98EJQ
NICの再起動・ファイアウォールの設定等

いつの時点から起きたとか、ある事をしたら
なったとか書くと良いかも。
816810:05/02/18 00:51:33 ID:Cc45VL1a
専用サーバで、同一マシンのDOS窓から
sqlplus /nologを発行して connect / as sysdbaをすると
上のようなエラーが出ます。うーん。
817NAME IS NULL:05/02/18 02:05:48 ID:???
>813がかいてくれてる

2. %ORACLE_HOME%\network\admin\sqlnet.oraに
 「sqlnet.authentication_services = (NTS)」が設定
 されている。

は見た?
818NAME IS NULL:05/02/18 07:34:44 ID:???
これFAQだよね・・・
819810:05/02/18 14:11:52 ID:Cc45VL1a
>>817
はい。みました。 

|$>sqlplus "sys/syspwd@SID as sysdba"

はうまくいくのですが。。

|SQL>connect / as sysdba

はうまくいかないんです。
OS認証がされていないということなんでしょうけど。FAQをもう一度みてみます。
ありがとうございました。
820NAME IS NULL:05/02/19 01:22:14 ID:???
>>810
ヒント。
orapwd
821NAME IS NULL:05/02/19 12:24:51 ID:???
ローカル接続にはかんけいないし・・・
822NAME IS NULL:05/02/19 12:58:34 ID:???
192.168.1.101にオラクルサーバ(トライアル)をインストールしました。
192.168.1.100から、接続しようと試みているのですが、オラクルが起動している
にもかかわらず、接続できません。
823scott:05/02/19 13:32:05 ID:???
ポートあけてみます。
824806=807:05/02/19 15:30:02 ID:d2fparN1
お返事遅くなりましたが、みなさまご回答ありがとうございました。

あと、もう一つ質問です。
Net8接続のプロトコルでIPCは主にどういったときに選択するのでしょうか?
マニュアル、KROWN見ても情報がなくて。。。

どなたかご教示ください。
825NAME IS NULL:05/02/19 16:25:52 ID:???
>>824
クライアントとサーバが同じマシンのとき。
826sysman:05/02/19 17:05:37 ID:???
おせーて。
827NAME IS NULL:05/02/19 17:15:07 ID:lwoPyC+a
教えて下さい。
今度本番DBのテーブルとフィールドを追加するのですが、
スタンドバイDBの作り直しは必要になりますか?


828NAME IS NULL:05/02/19 18:30:33 ID:IFJUdJW+
v$rollstatのwrapsについて質問です。
wrapsのカウントはどのように行われるのでしょうか?

1.wraps列はオラクルのマニュアルでは
 WRAPS:ロールバック・セグメント・エントリがエクステント間で折り返し
 た回数
2.またkrownによると
 extentを再割り当てされた回数という意味です。
 例えば、1,2,3というextentをもっているロールバックセグメントに再度1の
 extentが割り当てられるとwrapsが1加算されます。

3.またインターネットの情報で
 ロールバックセグメントエントリが他のエクステントにラップした回数

結局、どの記述が正しいのでしょうか?

1.であれば、折りかえすという表現がわかりにくく
 MINEXTENT分書き込みが終了し、一巡するという意味でしょうか?

たとえばwrapsが1という状態であれば
もう一巡しているということでしょうか?
それとも一つのエクステントに書き込みを行っていて、一杯で
書き込めず次のエクステントにまたがれば1にカウントされるのでしょうか?
829824:05/02/19 20:31:17 ID:d2fparN1
>>825
ありがとうございます。

ちなみに、IPCはリスナー経由のNet接続扱いになるんですか?

BEQとの使い分けが分かりません・・・
830NAME IS NULL:05/02/19 21:56:26 ID:???
>>829
ちょっと嘘ついた。
IPC はリスナ経由。従って
  「クライアントとリスナが同じマシンのとき」。
BEQ はよく解らん。リスナは経由しないらしいから
  「サーバと同じマシンのとき」
かなあ。
831829:05/02/19 23:21:26 ID:d2fparN1
ありがとうございます。

ということは、
・IPC→クライアントとリスナーが同じマシンにあるときに使用
・BEQ→クライアントとサーバが同じマシンにあるときでNet8接続ではない

ですかね?
832NAME IS NULL:05/02/20 02:35:24 ID:0IsOCmYH
BEQはシャドープロセスの子プロセスとして、専用サーバープロセスが生成される。
IPCはリスナーがTCP/IP通信を利用せずに、内部通信を利用して専用サーバを生成
もしくはディスパッチャに渡す。
 だから、TCP/IPがインストールされてなくても使える。
(NT4.0とかはデフォルトでインストールされていない)
833NAME IS NULL:05/02/20 02:47:12 ID:???
>>828

Krownの表現が一番分かりやすいかな。

Undoセグメント内に1と2の2つエクステントが割り当てられていて様々な
トランザクションに使用されているとしよう。
この時にあるトランザクションによって1のエクステント内のスペースが
全て使い切られてしまったとする。
通常であれば続けて2のエクステント内にそのまま書き込み続けられれば
いいんだろうけど、この時に2の頭の部分のブロックは、既に別のトランザク
ションによって使用されていて、まだ領域が解放されていなかった。
という訳で、Oracleは新たに1用のためにエクステントを割り当てて、Undo
情報を書き込める領域を拡張する事になる。
この新たにエクステントを割り当てて拡張する事をWrapと呼ぶ。
834NAME IS NULL:05/02/20 07:14:37 ID:???
オラクルの体験版をインストールしました。
インストール時に汎用目的でインストールしました、
質問なのですが、データベースは一つしか作れないのですか?
835NAME IS NULL:05/02/20 08:06:02 ID:???
>>834

物理メモリーとディスクがあれば同一マシン上に幾らでも作れるけど?
取り合えずdbcaでも起動してみるとか?
836NAME IS NULL:05/02/20 11:19:33 ID:CAahf3aA
>>833

回答ありがとうございます。

>という訳で、Oracleは新たに1用のためにエクステントを割り当てて、Undo
>情報を書き込める領域を拡張する事になる。

次エクステントが使用できなくて拡張が発生(extendにカウント)したときは
wrapというのはイメージつきやすいのですが、extendが発生しない場合のwrapsに
ついては如何でしょうか?
たとえば当方の環境では、MINEXTENT80のRBSが存在したとして
extendが0,wrapsが160だった場合に、どんな状況かということです。
ora-1555と絡んだ問題なのですが・・
837NAME IS NULL:05/02/20 18:07:58 ID:???
sqlplusの質問なんですが、oracleのバージョンによって、sqlplusの動きがちがうとか
ありますか。OTN掲示板などを調べても例がなくて、困っています。
【やりたいこと】
 引数の数が足りなくても、プロシージャを実行したい。
【考えたこと】
 バッチでパラメータを渡す際、シングルクォーテーション(')でくくる。
 >>t.bat s dで実行すると,内部で's' 'd'を変換し、p2.sqlに渡してくれるはず。
【環境】
家 9iスタンダードエディション評価版。WindowsXP。sqlplus 9.2.0.1.0
会社 9iスタンダードエディションのはず。Window2000。sqlplus 9.2.0.0.5のはず。
【結果】
 会社の9iスタンダードエディションだとシングルクォーテーションが外れる。
 家の9iスタンダードエディションだとシングルクォーテーションが外れない。
【ログ(家での実行ログ。会社だとシングルクォーテーションが外れるので実行できない。)】
旧 3: hoge(&1,&2);
新 3: hoge('s','d');
【ソース】
○p2.sql
begin
hoge(&1,&2);
end;
/
○t.bat
set t1='%1'
set t2='%2'
sqlplus scott/tiger@db "@c:\temp\p2.sql" %t1% %t2% > "C:\TEMP\log.log"
exit
838NAME IS NULL:05/02/20 21:04:59 ID:???
>>837
それはOSが違うせいだと思うけど。
2000とXPのコマンドプロンプトは仕様が変わってるよ。
839837:05/02/20 23:46:54 ID:???
>>838
プロンプト画面で実行を確認すると、
sqlplus scott/tiger@db "@c:\temp\p2.sql" 's' 'd' > "C:\TEMP\log.log"
とシングルクォーテーションがついているのに、リダイレクトしたログを見ると、
シングルクォーテーションが無くなっているので、sqlplusが怪しいと考えたのですが、
プロンプトも疑ってみます。
840NAME IS NULL:05/02/21 22:26:08 ID:???
>>836

動的Viewであるv$rollstatのExtend列の値はMax ExtentにHitした時点で
次のDBリスタート時に備えて0へとリセットされるらしい。
Ora-1555が発生するぐらいだから、これが原因ではないかと思う。
841NAME IS NULL:05/02/21 23:34:23 ID:???
DBリンク先のテーブルを DBリンク経由でTRUNCATE しようとしたら
「DBリンクでは、DDL操作の権限ないです」みたいな事言われて、ダメでした。
(そのリンク先DBに、DBリンクユーザでログインすると、当然TRUNCATEできます。)

DBリンク先のテーブルを、 DBリンク経由でTRUNCATE するには、どうしたら よか
とでしょうか?
(多分、権限付与でしょうが、その権限が見当がつきません)
842NAME IS NULL:05/02/21 23:35:52 ID:gzZzzntZ
>>840
0へリセットされるのですか?
エラー時に、extendが0になってても
実は増えた後で0にリセットされている・・

それは初耳でした。一度大きなトランザクション実行中に
v$rollstatをモニタしてみます。
ちなみにこのときにはmaxextent到達エラーは発生していなかった
のですが・・
843NAME IS NULL:05/02/21 23:50:51 ID:???
>>842

Max Extentsという表現は悪かったね。
ようはそれ以上Extentの発生が出来ない状態、つまりはORA-1555が
発生している様な状態では0へとリセットされてしまっているらしい。
844NAME IS NULL:05/02/21 23:53:09 ID:???
>>842

それとOptimalはどうなっている?
これも0へとリセットされる要因みたいだぞ。
845NAME IS NULL:05/02/22 07:58:33 ID:???
>>841
DBリンクをどうやって作った?
846NAME IS NULL:05/02/22 08:32:20 ID:/as/4WNx
>>842
ora-1555発生に合わせて、extendsがリセットされると
いうことですね。確認してみます。

>>844
optimalは、初期ロールバックサイズ(MINEXTENT*NEXT)に
してます。いっそのことこれをなくして解放されないように
するだけでも減りますが、その場合は増え続けることに・・
847NAME IS NULL:05/02/22 10:45:13 ID:???
>>845

SYSTEMユーザにて、

CREATE DATABASE LINK SCOTT2.XXDB
CONNECT TO SCOTT IDENTIFIED BY TIGER
USING 'XXDB'
/

でDBリンクを作成しました。これを使って SCOTT2ユーザで
truncate table abc@xxdb
したら、
「ORA-02021 リモートデータベースに対するDDL操作が無効です。」
と出ました。 

で、マニュアルを見ると、
原因:リモートデータベースに対してDDL操作を行おうとしました。
処置:リモートデータベース構造を変更するには、適切な権限でリモート・データベースに
接続してください。

とかいてあります。 「適切な権限」とは、SCOTT2にどの権限をあたえればいいのでしょうか?
848NAME IS NULL:05/02/22 13:52:30 ID:???
Truncateはエラーがいってるとおり、データ操作言語(Delete)ではなく、テーブル定義言語(Createなど)です。
手元にマニュアルないのであれなんだが、Alterか何かか?
エラーのマニュアルじゃなくSQLリファレンスでTruncateを調べたり、管理者マニュアル調べる。
849NAME IS NULL:05/02/22 19:10:43 ID:???
>>847
そのやりかたではできないよ。
データベース管理者ガイド(J06242-01)の29-34ページ。

その説明は、こう書かれるべきなのだ。
>処置:リモートデータベース構造を変更するには、適切な権限でリモート・データベースに接続してください。
 ↓
処置:リモートデータベース構造を変更するには、適切な権限でリモート・データベースにデータベースリンクを介さず、直接接続してください。
850NAME IS NULL:05/02/22 21:17:41 ID:???
8.1.7をインストールすることになったのですが、
いろいろググると64bit版と32bit版という言葉が出てきました。

この2つは同じCDなのでしょうか?
それとも別のソフトウェアとして別Cdになってるんでしょうか

OSはSPARCの64biで、インストールしたいOracleは64bitのほうです
よろしくおねがいします(;´Д`)
851NAME IS NULL:05/02/22 22:06:16 ID:???
>>850

SUNは知らんなぁ。
少なくもHP-UXは別ディスクだったよ。
852NAME IS NULL:05/02/22 22:15:52 ID:???
>>850
ttp://www.oracle.co.jp/products/system/dbos.html
これ見た限り、別CDじゃないのかな。

そーいや8.1.7のダウンロードできなくなったなあ。
853NAME IS NULL:05/02/22 22:28:07 ID:???
Oracleと.NET Frameworkでクライアントサーバアプリ作ってる
んですが、クライアントマシンには必ずOracleのクライアントツールをインストール
しなきゃならないんですか?
SQL Serverと同じで特別なインストールなしで動くと思ってたんですが・・・
クラスはSystem.Data.OracleClient名前空間の各種クラスを使ってます。
854NAME IS NULL:05/02/22 22:45:47 ID:???
>>853
8.1.7以降のOracle Clientが必要。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;321715

どうせクライアント入れるならODP.NETにすれば?
855NAME IS NULL:05/02/22 23:50:06 ID:???
>>853

ttp://otn.oracle.co.jp/tech/dotnet/index.html

このへんをさがしてみ。
856NAME IS NULL:05/02/24 00:24:28 ID:???
>>851-852
ありがd
Oracleマスター目指してがんばるます
857NAME IS NULL:05/02/24 01:26:54 ID:???
9.2.0.7って出るみたいだな。
858NAME IS NULL:05/02/24 17:18:51 ID:???
>>857

9.2.0.6でもう終わりだろうと思っていたのになw
でも9.2.0.5からかなり10gの要素がバックポートされているぞ。
9.2.0.6とか充てると、プログラムによってはたまに「10.0.1.3」とかって
出てちょっとビビる事があるw
859NAME IS NULL:05/02/24 19:37:14 ID:Okme10H4
すみません、Oracle9.2での質問なんですが、グローバルデータベースネーム
を間違って設定してしまったのですが、変更する方法ってありますか?
860859:05/02/24 19:38:24 ID:Okme10H4
ちなみにlinux版です。。。
861NAME IS NULL:05/02/24 21:15:58 ID:???
>>859
alter database rename global_name to ...
862NAME IS NULL:05/02/24 22:17:07 ID:???
誰もOracle 10g World行ったヤシおらんのか。
ナカナカ盛況であったぞ。
863NAME IS NULL:05/02/24 23:56:10 ID:???
>>858

インストーラーも10gってなってるな。
にしてもPSR適用は気力体力つかうよな。

普通サーバに適用したらクライアント端末も全部適用するものかね。
9204の時はそうしたけど。
本当は当てたくないけど、とある事情で9206を当てることになってしまった。
864NAME IS NULL:05/02/24 23:59:19 ID:???
procedure(table型, table型, …)のように、引数としてテーブル型を持っているprocedureを
手っ取り早くテストできるようなツールってありませんか?
865NAME IS NULL:05/02/25 10:46:25 ID:???
>>864
どう手っ取り早くなのかわからんが。
オブジェクトブラウザでもダメだった?

まあ、作ったときに一緒にテストプログラムも作るよな、そういうときは。
866NAME IS NULL:05/02/25 11:17:58 ID:WBKxqMfv
クライアントのNet8のバージョン(805)で接続先のOracleのバージョンは
いくつまで(バージョンの上限)のが接続できるのでしょうか?
また、接続できたとしても動作(返ってくる結果)がおかしくなったりするのでしょうか?
867NAME IS NULL:05/02/25 12:14:40 ID:???
>>866
www.oracle.co.jp/products/system/matrix_db.html
8.0.5 は載ってないが参考まで。
>また、接続できたとしても動作(返ってくる結果)がおかしくなったりするのでしょうか?
それは普通、「接続できた」とは言わないんじゃ…?
868NAME IS NULL:05/02/25 13:35:20 ID:???
ありがとごぜます。
たすかりやした。
869NAME IS NULL:05/02/25 18:16:19 ID:GbhlVjXk
OS:SUN : Solaris8
ORACLE : 8.1.*
SGAの最大メモリ割当数を教えてください。。
お願いします。。。
870869:05/02/25 18:17:40 ID:GbhlVjXk
32bitです。。
871NAME IS NULL:05/02/25 19:42:23 ID:???
>>870

32bitって2GB制限があったんじゃなかったけか?
872NAME IS NULL:05/02/25 21:34:59 ID:wzXqXg7m
ロールバックセグメントについて、以下は正しいでしょうか?

ロールバックセグメントは、例えば1レコード更新されたら
1レコードがロールバックセグメントに退避される

selectで、ロールバックを読みにいくかどうかは
データブロック単位で判断される。
873NAME IS NULL:05/02/25 22:34:52 ID:???
>>872

DMLでレコードが変更される場合として以下の状況が考えられる。

[Insert]
ROWIDのみがRBSに保存される。

[Update]
変更される列の値がRBSに保存される。なお索引が張られている
場合には、変更前の値、変更前の索引値、変更後の索引値が保存
される。

[Delete]
行全体の値が保存される。


確かめた訳ではないが、上から判断すると読みいくのもブロック単位
ということだろうな。

874NAME IS NULL:05/02/26 15:12:28 ID:o/6Wjeaz
【オフ会】皇族は全て裁判にかけ八つ裂き刑に【決定】
ttp://ex7.2ch.net/test/read.cgi/news4vip/1109377623/l50

精神異常朝鮮人工作員の反乱
タイ*・゜゚・*:.。.:*・゜||Φ(|´|・|ω|・|`|)Φ||゚・*:.。..*・゜゚・*ホ!!!!!
875NAME IS NULL:05/02/26 19:04:29 ID:???
        , -―<_ ヾ ', ヽ__/_,-――-、
       |  トー- 、_/ ⌒ヽ ̄   ̄`<こ)-―-、
       |  ヾ, '´ /, '´ /⌒ヽ       ̄ニ==ュ、
       ヽ,   V  /  :/    :|  :l l :l     .\ `ヽ
        <  l、 ,'   / /  ! :| l | ! :! l l 、 ト ヽ
        レ'  {、`i:   ,' ! _./|__! l ! |__l | | | |ヽ }
       .く   { `:l   l: ,l'´/リ|/| /! /! ,| !`!ヽ! l! :| リ
       |: \/!、 ! rh||/|/レ|/ レ' |/ レ'.| /レ| /| i! :!
       | / |ヾ! i!l h r≠=x  '  r≠=k、 |/ |/
       |/  | / :i!| !l " " "   , " " !'}`l  ’
       レヽ _.|/   !i l ヽ、     'ー'   ,レ' :}!
       / ./ !   l    ヽ、  "  , '´  / |、 しばらくお待ち下さい。
      ./ ./  :{ ' ,  \    }'、__, ィ '  ,/ ,' ! i
      / /:l   ',    !フ   l,ーv-、 l   :{ ,'  | :|
    / /,' l    ヽ ', :/.   l |'"ri"'! .l   :l  l ト、
  . / / i /     ヽ ./   l :l =!l= ! l   l  !  ヽ
   / /!/   __    V    l :|  || | ,l    V    :〉
   { l {   '´  >、/    ∧' i   i.∨:l    ヽ_  /
   .!:l ヽ   r '´  /    ./ :| :i  i /  ,!    ヾ } :/
   .| !  `ー| //     / ! |  ! !/  ,' l     l∨
   リ...   |(! '     / /!::|  i !{  ,' ∧     ! |
876NAME IS NULL:05/02/27 13:08:28 ID:YoBksMXH
1サーバー運用の小さめのシステムで10gを使おうとしているのですが、
サーバーが貧弱なのでOEMサービスを別のPCに置こうと思っていますが、
これって技術的に可能なのでしょうか?
できたとしてサーバーとは別に10gのライセンスが必要になるのでしょうか?
877NAME IS NULL:05/02/27 17:11:15 ID:???
>>876

Enterprise Manager 10g Grid Controlを使えば可能。
ライセンスは分からん。
10g Grid Controlといいながらも、レポジトリDBのバージョンは9i使ってたりするし?
878NAME IS NULL:05/02/28 18:50:52 ID:???
876です。 Grid Controlでいけそうです。ありがとうございました。
OEMとiSQLPlusのサービスをとめて、エージェントを動かすようにしたら
ぜんぜん軽くなりました。
この手のツールをJava AP Serverで作るのはやめてほしいですよね;
もしかして hoge.warとか置いたら動くんだろうかコレ。
879NAME IS NULL:05/02/28 19:05:39 ID:???
>>878

もしセキュリティが気になるんだったら、「emctl secure oms」でGrid Controlと
Agentを間をSecure化してhttpsを使ってxmlをアップロードする様にすれば
いいしね。
ただバグがあるから、自分で色々と「emd.properties」をいじくらないとならないん
だけどw

でも貧弱鯖でDB CosoleとiSQL Plusを動かしてたら確かに重たいわなー。
まあ、人気ソフトとクソゲーを組み合わせて売るのは昔からある常套手段だし、
仕方ないのかも・・・w

880NAME IS NULL:05/03/01 08:09:27 ID:???
タイピングの速さに自信がある諸君
ここの247点という怪記録を越えることができるかな
ttp://freegame.sytes.net/~take/cgi-bin/typecreate/index.html
881NAME IS NULL:05/03/01 23:15:11 ID:???
>>880
余裕で抜いてる人がいるみたいですが…
882NAME IS NULL:05/03/01 23:45:36 ID:???
>>880-881
他所で犯れ。
883NAME IS NULL:05/03/02 12:15:02 ID:???
WKSYS,WMSYSを誤って削除してしまったのですが再度作成する方法はないものでしょうか?
884NAME IS NULL:05/03/02 18:03:52 ID:???
>>883

何で消すの?

$ORACLE_HOME/ultrasearch/admin/wk0install.sql
$ORACLE_HOME/rdbms/admin/owminst.plb
885NAME IS NULL:05/03/02 19:52:01 ID:???
oo4oでエクスポート、インポートを実装したいんですが
どなたかご存知の方は居られますか?
ってスレ違うならスマソです。
886NAME IS NULL:05/03/02 23:27:43 ID:???
初歩的な質問ですみませんが、エクスポートについて教えてください。

全く同じに構築したOracle9.2が2セットあります。
片方はお客納品した物で、もう片方は社内に試験環境として構築した物です。

チューニング検討の為、実際のお客の環境からデータをEXPして抜いてきて、
社内の試験環境にインポートしたいのですが(先方は承諾済み)、
最大の問題はIMP/EXPを使った事が無い事で・・・・・。

マニュアル呼んだのですが、いまいち自信が持てません。
双方に同じ環境のOracle、同じ構成のテーブルがあります。
テーブル一ずつを1ファイルににエクスポートして、必要に応じて社内環境の
テーブルにインポートしたいのですが、IMP/EXPの引数を教えてもらえませんでしょうか?
環境はWin2Kです。
887NAME IS NULL:05/03/03 00:03:47 ID:???
>>886

面倒くさいことするのね。
exp userid=ユーザー名/パスワード tables=(対象表1, 対象表2, 対象表3...) indexes=y rows=y file=ファイル名
imp userid=ユーザー名/パスワード tables=(対象表1, 対象表2, 対象表3...) rows=y file=ファイル名
でいいじゃない?

もし自信がないんだったら対話式でやればいいと思うけどね。


888886:05/03/03 00:09:19 ID:???
>>887
ありがとう!。
面倒な方法って事は、もっと簡単な方法もあるんですね・・・・。勉強不足です。
まずは教示いただいた内容でトライしてきます。ありがとうございます。
889NAME IS NULL:05/03/03 00:18:54 ID:???
>>888

いや〜、なんか表一個ずつとかって言っているから面倒だなと思って。
データベースのサイズにもよるけど、テスト環境作るならフルエクスポートして
フルインポートでもいいのかなと思って。
exp userid=system/パスワード full=y file=ファイル名
imp userid=system/パスワード full=y ignore=y file=ファイル名
とかって感じで?
890NAME IS NULL:05/03/03 00:28:25 ID:???
>>889

フルである必要はないのでないかい。
ユーザー単位じゃだめかいな。
891886:05/03/03 00:48:48 ID:???
ふむふむ、ユーザ単位って方法もあるんですね。勉強になります。
かなりデータが多くなったらしく、想定したテストデータと違いが大きく
一部、レスポンスが問題化しそうな部分がでてきました。
全部を抜くのは大変なので、問題になっているテーブル関連の
データだけ抜く事を考えていました。

処理時間を見てみて、行けそうなら教示頂いたコマンドでフルで抜いてきます。
892NAME IS NULL:05/03/03 00:56:35 ID:???
フルで抜いてインポートをuser単位がお手軽ですね。
手元にマニュアルがないけどこんな感じかな。
imp system/--- formuser=客先user touser=開発user file=xxx.dmp commit=y
基本的に開発userのデフォルトテーブルスペースにimpされるはずです。
893NAME IS NULL:05/03/03 11:38:14 ID:???
10g+Win 2000 Server SP4環境下で、Oracleとjava.exeメモリが馬鹿食いな上に、
DBアクセスするUAPが処理を終了しても即座に解放されない為、どんどんメモリ食っていく・・・。

同じUAPを8i、9iで動かしていた時はこんな感じじゃなかったんですが、
10gの仕様なんですかねぇ。
894NAME IS NULL:05/03/03 15:00:32 ID:9PaJPmbJ
何でこれダメなの?
参照を設定したいんだよ。

ALTER TABLE tblys MODIFY rfmid REFERENCES tblms(mid) ;
895NAME IS NULL:05/03/03 17:37:08 ID:???
>>894

参照って、参照整合性制約のことか?
だったら「foreign key」だけどな。
ALTER TABLE tblys ADD CONSTRAINT rfmid FOREIGN KEY (mid)
REFERENCES tblms1(mid);
896NAME IS NULL:05/03/04 00:02:32 ID:???
>>893

メモリってPGAか?

本当なら気になるな。unix+9iしか知らんから。

そういえばWindows版はプロセスでなくてスレッド分けてるんだっけか。
unixと同じでコネクション切るとPGAの領域って解放されるのか?
(要するにOracle.exeの確保しているメモリ量が減る。)

誰か知ってたら教えて。
897NAME IS NULL:05/03/04 01:27:37 ID:RkLFAhc8
お世話になります。
オンラインバックアップを取りたいのですが、問題があって
データファイルのサイズが1個40Gバイトくらいのがあるのです。

OSはWindows2000なのですが、これくらい大きいサイズのファイルを
copyコマンドでコピーすると5時間くらいかかって最後リソース不足
でこけてしまうのです。なんとか完全にコピー取る方法はないでしょうか。
898NAME IS NULL:05/03/04 01:38:49 ID:???
>>897

RMANで取るとか、ocopyを使うとか方法はあると思うけど?
899NAME IS NULL:05/03/04 01:53:55 ID:???
>>897

というよりも、OSのCOPYコマンドでのバックアップは推奨されてないよ?
900NAME IS NULL:05/03/04 02:06:49 ID:???
>>899
推奨されないというよりも、オンラインバックアップ中はOCOPY以外のコピーは、
サポートされていないよ。

OCOPY以外でコピーするとオンラインバックアップ中のwriteで、
破損する可能性があるから。
901NAME IS NULL:05/03/04 07:15:05 ID:RkLFAhc8
begin backup + ocopyだとうまく逝くのでしょうか。
やってみます。
902NAME IS NULL:05/03/04 12:47:58 ID:???
>>896
サーバのメモリリソース。
サーバ起動直後が300MB(1GB搭載)くらいなのが、
UAPを10個くらい同時に動かすと(WebサーバのcgiからUAPを起動してDBアクセス)、
Oracle.exeとjava.exeがそれぞれ200MBを超える状態で、
UAPもcgiリクエストがすでに終了しているのになかなか解放されず、
どんどんDBサーバ上に貯まっていく。

結局5〜10分くらいでメモリ利用が800MBくらいになって、
スワップが入りまくって遅くなり、最後はWebサーバからタイムアウト。
903NAME IS NULL:05/03/04 13:09:30 ID:???
UAP はユーザーアプリって意味ですか?
cgiから別プロセスで起動をかけてるってことですか?
UAPの詳細がわからないとなんともいえないですよ。
904オラクル初心者:05/03/04 15:02:40 ID:zzYcTrg0
この板には場違いかもしれませんが教えて下さい
OS:WIN2003サーバーにオラクル9Iを入れて環境を作りたいのですが
全然うまくできません
初心者でも解るサイトは無いでしょうか?
905NAME IS NULL:05/03/04 16:52:54 ID:???
>>903
cgiから別プロセスで起動しているユーザアプリです。
cgiはWebサーバにあり、UAPはDBサーバにあります(2台構成)
906NAME IS NULL:05/03/04 16:58:06 ID:???
>>904
tp://otn.oracle.co.jp/tech/install/index.html

因みに
tp://www.oracle.co.jp/products/system/dbos.html
に拠ると、
  9.0.1 … 非対応
  9.2.0 … 要パッチ
だそうだ。
あと、Pen4 マシンならインストーラがそもそも動かなかったり。
907NAME IS NULL:05/03/04 17:24:15 ID:???
>>905
すると何かの理由でユーザーアプリが終了しないでいくつもたまって
ゆくのが問題なわけですね。
以前のバージョンでは動いてたとするとoo4o, oledb, odp.net, jdbc
などのクライアントドライバの問題も考えられます。10g付属の
ドライバを使ってコンパイルしなおすとかどうでしょう。
あと >>878 あたりに出てますが、メモリがタイトならOEMとiSQLPlusの
サービスをとめれば軽くなります。
908NAME IS NULL:05/03/04 19:06:10 ID:???
>>901

RMANというオプションは無いのか?
RMANは未フォーマットのブロックは取らないから、データファイルのサイズが
40GBあったとしても、バックアップピースのサイズは小さくなるはずなんだが・・・。
909RACLOCK:05/03/04 20:44:29 ID:i1IoMsAU
検索/更新が多いシステムを10gSEのRACで検討しています。
RAC構成にするとブロック単位でロックされてしまうと聞きました。
これは本当なんでしょうか?回避策はあるのでしょうか?
採番ファイルなどあるので、行ロックでないと怖くて使えません。
どなたかご教授ください。
910NAME IS NULL:05/03/04 21:34:26 ID:bJUG9yFn
>>909
 ブロックの所有権はノードごとにありますが
Cache Fusionによって更新途中も
他のノードにinterconnect経由で転送されますので
ご心配なく。
911NAME IS NULL:05/03/04 21:56:40 ID:???
>>909

というよりもSEってRAC組めたっけか?
10gからだとOkなのか?

それと>>910が言っている様に別にBlockでロック取って
いても、他のノードはPI(Past Image)持つから全然意識
しなくていいはずだぞ?
912NAME IS NULL:05/03/04 23:15:54 ID:???
>>911
10gはSE-RACをウリにしてるぞ。
ASM使用といういらないおまけまで付いてくるけどな。
913NAME IS NULL:05/03/04 23:18:12 ID:???
>>905

ひょっとしてコネクションプールとかしてないだろうね。
914901:05/03/04 23:36:47 ID:RkLFAhc8
>>begin backup + ocopyだとうまく逝くのでしょうか。

駄目でした。。。オフラインだと3時間位でコピーできますが、オンラインだと
10時間くらい掛かってしかもこけます。何故だろう。

RMANって知らないのですが、これは簡単に操作できるものでしょうか。
(V8.1.7EE)
今のDBと同じDBをもう一個作っておきたいのですが。
915NAME IS NULL:05/03/05 00:40:45 ID:???
>>914

こけた時に一体なんちゅうエラーが出とるんかいな?
それとDBは8iのターミナルリリース(8.1.7.4)まであげてるのかい?

RMANは漏れも最初は知らなかったけど、なんとかなるもんだよ。
最初の頃は「誰がこんな狂ったツール使うんだよ?」って思って
たんだけど、慣れたら結構便利だよ。
916NAME IS NULL:05/03/05 00:42:22 ID:???
>>912

ASMを使わないとならんのか・・・。
かなり嫌だな。
この間10G RACのHAテストで、インターコネクトのケーブルぶっこ抜いたら、
ASMディスクが飛んで二度と復旧出来なんだ( ´Д⊂
917901:05/03/05 02:17:07 ID:9NHFZwfZ
リソース不足とかいうエラーが出ます。

RMANのコマンド打ってみたがよくわかりません。
わかりやすく説明した資料・サイトないでしょうか。。。
918NAME IS NULL:05/03/05 02:20:38 ID:???
>>917
Oracle止める事を進めます。ほんと糞。高い割りにたいしたパフォーマンスでないし。
サポートもあまり期待できない割りに、やたらとうるさい。
919NAME IS NULL:05/03/05 03:00:00 ID:???
>>917

HP-UX+RAC用だけど、ここに設定手順書がある。
基本的な部分はSIにも転用可能だから。
ttp://hp.oracle.co.jp/mc3/tech.html
920901:05/03/05 10:24:05 ID:9NHFZwfZ
ありがとうございます。
リカバリ・カタログ作成とかややこしいですね。
止めてやるのが一番簡単なんですが、10時間も止められません。

高い割りに〜、〜やたらうるさいとはどういう意味でしょうか。
921NAME IS NULL:05/03/05 12:10:00 ID:???
>>920
ディスクやディスクドライバの問題じゃないですか?ドライバの質が悪いと
大容量のコピーや高付加状態のコピーに時間がかかったり、よくわからない
エラーが起きたり、ブルースクリーンでOSが落ちたりします。
922NAME IS NULL:05/03/05 19:59:49 ID:???
>>920

リカバリカタログは別に使わなくてもいいよ。
コントロールファイルで代用出来るし。
923xxx:05/03/07 01:05:31 ID:???
すいません、ご指導ください。

Oracleに適用されてるPSR, パッチの検索方法について
教えてください。

マニュアルやOracleのサポートサイト(support.oracle.co.jp(?))
からは確認方法がみつけられない状態です。

実行環境はUNIX系で、Oracleは9.2.0系です。
(こんな情報しか書けなくてすみません。)

マニュアルに載っているのであればもう一度検索します。
よろしくお願いします。
924NAME IS NULL:05/03/07 01:59:31 ID:???
>>923
select * from v$version;
925NAME IS NULL:05/03/07 02:00:01 ID:???
>>923
opatch lsinventory
926NAME IS NULL:05/03/07 17:39:56 ID:VOwUpu/x
KROWNてなんて読むんですか

クラウン?クローン?
927NAME IS NULL:05/03/07 18:52:52 ID:???
>>926

社内では「クラウン」だったよ。
928NAME IS NULL:05/03/07 19:06:10 ID:jgD1H//W
>>926
クラウン

>>927
社内ってのは、オラクル社の内部ってことか?
伝わらんよ。
929923:05/03/08 00:48:51 ID:???
>>924 殿
>>925 殿

ありがとうございます。
早速明日調べてみます。

>>925 殿
opatch lsinventory はコマンドの事でしょうか?
とりあえず、明日コマンドとして調べてみます。

ありがとうございました。
930www.geocities.jp/shouhishahogo/:05/03/08 00:54:38 ID:???
データベースで使われるメタデータ(metadata) とは、データの属性、意味、
 内容、格納場所など、データを管理するための情報のことをいいます。
931NAME IS NULL:05/03/08 02:24:02 ID:???
>>928

そう、オラクル社内。
少なくとも漏れの部署では「クラウン」で伝わっていたよ。
932NAME IS NULL:05/03/08 19:20:47 ID:???
サポートに電話したりすると、よく「クラウンの何番を見て」とか言われる。
933301-302:05/03/10 01:25:16 ID:???
うちの会社のSEに
オラクルで、データ型がCLOBのフィールドに対して
LIKEで検索出来ないって言われたんですけどマジですか?

うちの会社のSEがヘボなのかオラクルがヘボなのか
どなたか教えてくださいm(__)m

…おまえがヘボじゃ、って言うのはナシでヨロシクです。
934NAME IS NULL:05/03/10 03:44:18 ID:???
>>933

9i以降では'Like'をサポートしているらしいが、実際動いていない
というのが現状のようだ。
よって、Oracleがヘボという事でFAね。
935NAME IS NULL:05/03/10 03:58:52 ID:???
>>933
CLOBってことは、それなりに大きなテキスト文書を登録しているんでしょう?
じゃあ、LIKE検索を行うことは、あまり現実的ではないですよ。

Oracle Text を使って、キーワード検索を実装するといいですよ。
Namazu 見たいなもんです。
936301-302:05/03/10 08:06:29 ID:???
なるほど〜〜〜ありがとうです!(ちょっとがっかりですが、、)
「Oracle Text」調べてみます
937NAME IS NULL:05/03/10 12:00:03 ID:???
>>933
お前がヘボ、ゲロ、糞、ニート
938NAME IS NULL:05/03/10 12:57:29 ID:gFUSuOoD
Windows2003 + Oracle 10G で SQLNETで接続する際に
connectにとてつもなく時間がかかるのですが、早くなる方法どなたかご存知ないでしょうか?

いままでWinNT + SQL7.0をつかっていて Oracleに変更しているのですが
接続にこれほど時間がかかるのでは、ちょっと使用に耐えうるので
よい方法をご存知の方よろしくお願いいたします。
939NAME IS NULL:05/03/10 13:01:27 ID:???
>>938
OTNで10gの部屋で遅いで検索汁。
まぁOTNはなんか最近厨臭いのが多いから、特別に回答。

sqlnet.ora内の、
SQLNET.AUTHENTICATION_SERVICES= (NTS)

SQLNET.AUTHENTICATION_SERVICES= (NONE)
にしろ。
940NAME IS NULL:05/03/10 13:02:15 ID:???
sqlnet.oraのファイルの場所はファイル検索で調べてくれ。
941NAME IS NULL:05/03/10 22:00:55 ID:???
>939,940
特別回答感謝感激。
早速やってみます。
ありがとうございました。
942NAME IS NULL:05/03/10 22:03:09 ID:???
>まぁOTNはなんか最近厨臭い
これに激しく同意。投稿自体も少なし、
ここの方がまともに見えてくる。
マニュアル読ま(ry

$ORACLE_HOME/network/admin/sqlnet.ora
943NAME IS NULL:05/03/10 22:10:47 ID:???
>>939 >>942
同意。OTNって妙に偉そうなの多くて萎える。

>>941
俺も同様の修正で速度改善したから、多分>>939ので正解だと思う。
944むぅ:05/03/11 01:55:24 ID:JoRv15G1
今Oracle DataBase9i(9.2.0.2.1)をインストールしようとしていますが
インストール中にエラーが表示されて先に進めなくて困っています。
どなたかアドバイスをお願いします。

使用OS:Windows XP Pro
メモリー:512MB
ハード空き:80GB

<エラー状況>
インストール中の画面(Oracle Universal Installer:ファイルの場所)でイ
ンストール先等はデフォルト指定のまま「次へ」を押すと「インストーラー
のスワップ領域 C:/DOCUME~1/.../TEMP/OraInstall2005-03-11_12-51-37AM
上のディスクの空き領域が足りません。最低空き領域を104KB確保して、再
試行して下さい」というエラーが表示されて先に進めません。
常駐アプリは必要最低限のみだけで殆ど外しても駄目でした。


どうしたら良いでしょうか?
解る方がいましたら教えてください。
945NAME IS NULL:05/03/11 03:01:23 ID:???
>>944

書き込み権限が無いか、もしくはディレクトリ作成に失敗してんじゃないの?
環境変数の「TMP」と「TEMP」を他のDirに指定してからやってみるとか?
946NAME IS NULL:05/03/11 09:57:30 ID:???
>>944
TEMPフォルダの権限にOracleユーザを追加してる?
Oracleインストールする際には、環境変数でtemp、tmp定義されているフォルダの、
右クリックプロパティ→セキュリティタブでOracleユーザを追加する必要があるよ。

あとあわせて管理ツール→ローカルセキュリティポリシーで、
ローカルポリシー→ユーザ権限の割り当て→バッチジョブとしてログオンにも、
同じくOracleユーザを追加する必要がある。

947NAME IS NULL:05/03/12 02:38:37 ID:???
SQL Plusのプロンプットを、接続文字列(TNS?)に変更する方法って無いでしょうか?
複数にパラに接続すると混乱しそうです。
時刻やSIDに変更する方法は見つけたんですけど・・・・・。
誰か教示願えませんでしょうか?
948NAME IS NULL:05/03/12 03:00:26 ID:???
>>947
sqlplus のプロンプトは、set sqlprompt コマンドでどうにでも変更できます。
global_name の値でも set しておいたらどうですか。
949NAME IS NULL:05/03/12 12:25:48 ID:???
oracle text ってググッっても実績例がなかなか見つからないんですが、
もしかして何かいまいち使われていない理由があるのでしょうか?
今、ORACLE 8 + namazuで全文検索させているんですが、
10gにヴァージョンアップしてoracle textを使おうかと迷っています。
インデックスの作成時間ってほかの全文検索エンジンに比べて遅すぎとか?
日本語の検索がヘボとか?
どなたか使ってる人アドバイスお願いします。
950NAME IS NULL:05/03/12 13:23:44 ID:???
>>949
Namazu で実装している実績があるんなら、
わざわざ Oracle Text を使わなくてもいいんじゃないでしょうか。

Oracle Textの導入事例をいくつか知ってますが、
Oracle Textという機能がへぼくて使えないということは無いですよ。
ただ、Oracle Text用のインデックスはRDBMSのオブジェクトとして作成されるので、
そのオブジェクトの格納方法や管理の仕組みをしっかり理解しないと、
I/Oやメモリ周りでパフォーマンスの問題に苦しめられるかもしれません。

逆に、理解すると、パーティションオプションと組み合わせて、
I/O分散に対して柔軟に対応できるようになります。
951949:05/03/12 13:51:49 ID:???
>>950
レスありがとうございます。
使いこなせば使えるということですね。

>Namazu で実装している実績があるんなら、
>わざわざ Oracle Text を使わなくてもいいんじゃないでしょうか。

10gへのヴァージョンアップをするのは決まっていて、そのタイミングで、
ORACLE 10g + namazuにするか
ORACLE 10g + Oracle Textにするか
を迷っていました。
せっかくだからDBに一本化したいと思ってました。
今は鯰インデックス作成のためDBからいったんtext出力していたり、
検索結果に対して更新したりする機能があったりと複雑なんです。




952NAME IS NULL:05/03/12 14:38:08 ID:???
>>951
> 今は鯰インデックス作成のためDBからいったんtext出力していたり、

そういう実装だと面倒ですね。直に作成していないんですね。

それであれば、Oracle Textに変更することでぐっと便利になりますよ。
インデックスとインデックス対象文書の同期もalter文やパッケージで実行できます。
あと、Oracle Textにすると、HTML文書や、XML文書のタグ解析で便利になるかも
しれません。
953949:05/03/12 16:25:08 ID:???
ありがとうございます。
やる価値はありそうです。
プロトタイプを作ってみます。おかげでやる気が出ました。
やっぱり試してみないとわかりませんしね。
954947:05/03/12 16:40:12 ID:???
>>948

レスありがとうございます。
global_nameだと、例えばORCL.domainってOracleが2台あると
どちらも同じに表示されてしまいませんか?
いや、ちゃんと名前を付けて欲しいってのが切なる願いですが・・・。
955NAME IS NULL:05/03/12 17:21:41 ID:???
>>954
じゃ、db_nameでも何でもいいのではないですか?
とにかく、どうにでも変更できるわけですから、ご自由にってところなんですが。
956947:05/03/12 22:45:29 ID:???
>>955
すみません、質問のしかたが悪かった様です。
set sqlprompt でプロンプットを指定できる事は承知しています。
先日本で、例えばselect username from user_users で今の自分の
セッションのユーザ名を取得し、その結果をset sqlpromptに渡す方法を知りました。
SQL Plus起動時のスクリプトにこれを入れておけば、起動の度に自動的に
プロンプットをユーザ名にする事が可能です。

これを接続時に使った接続文字列にしたいのですが、
これを取得する方法って無いでしょうか?
957NAME IS NULL:05/03/12 23:55:19 ID:???
まずはプロンプットをプロンプトに一括置換して再度投稿しなおせ。話はそれからだ!
958NAME IS NULL:05/03/13 00:51:13 ID:???
プッ。
959947:05/03/13 00:56:10 ID:???
( ̄□ ̄;)アゥ!!

_| ̄|○ ゴメンナサイ。

960NAME IS NULL:05/03/13 01:35:48 ID:???
>>956
そこまでやれるのに、何でシェルとかバッチを書こうとは思わんのだ。
961NAME IS NULL:05/03/13 06:22:43 ID:???
>>959

SET SQLPROMPT "&_CONNECT_IDENTIFIER>"
ただし使えるのは9iR2以降ね。

9iR2以前だったら・・・
set termout off
col x new_value y
select rtrim(instance,chr(0)) x from v$thread;
set sqlprompt '&y >'
set termout on
962NAME IS NULL:05/03/13 08:40:59 ID:???
SQLPlusの起動時に自動的にShellを読み込ませることってできるのですか??
963NAME IS NULL:05/03/13 12:01:45 ID:P82CQ3HT
>>956
960の言わんとしているところは
Shellに「SQLPlusの起動も含めて」書けでは?
964NAME IS NULL:05/03/13 12:35:09 ID:???
つか、テラタームマクロでさ
AサーバのSIDがAAAに接続、ウィンドウの色は緑
AサーバのSIDがBBBに接続、ウィンドウの色は黄色
とかつくればいいじゃん
965NAME IS NULL:05/03/13 13:21:26 ID:???
>>956
つまり、アイデアしだいでどうにでもなるってことだろ。
966947:05/03/13 18:08:36 ID:???
>>961
ありがとうございます!!
できました。!!!

>960
バッチ等だと、客先等で自分のノートPC接続する時、
いちいちバッチ手直ししたりするのが面倒かと思いまして。
この方法なら、一度Sql Plusに設定しておけば常に有効ですから。

>>961氏に感謝です。
967NAME IS NULL:05/03/13 23:15:50 ID:???
>>961
アンタエライ。
968NAME IS NULL:05/03/13 23:56:23 ID:???
>>962
ORACLE_HOME下のsqlplus\adminディレクトリにglogin.sqlとlogin.sqlがある。

glogin.sqlは全ユーザ共通、login.sqlはユーザ毎に個別の、
sqlplus起動時の個別スクリプトを書ける。
接続毎に毎回必要なコマンドは、ここに定義すれば良い。
>>947の質問は、ここにコマンド足して、常に接続時に使った
接続文字列をプロンプトに変更する方法だろう。
969NAME IS NULL:05/03/15 17:51:05 ID:t3n4ph8I
Oracle10gStandardEditionOneをWinServer2003にインストールした後、デー
タベースを作成しようとしたらエラーが発生してしまいました。
表示されたエラーの内容は「(エラー番号1388)メンバのアカウントの種類が間違っているた
め、新しいメンバをローカル・グループに追加できませんでした。」です。
何が原因なんでしょうか?
自分で調べてみて、有償のパッチを当てれば解決するような事を見つけたのですが、何か有
償のパッチ以外に解決策はないのでしょうか?
970NAME IS NULL:05/03/15 19:33:19 ID:???
>>969

あるぞ。
取り合えずエラーが発生したら、そこで止めるな。
作成しようとしているDBインスタンス(サービス)を起動するのじゃ。

例: コンパネ => サービス > Start OracleServiceORCL
971NAME IS NULL:05/03/15 22:35:53 ID:S9wTMMFv
質問です。
日付型に日付じゃない、例えば"00000000"とか"99999999"とか"********"とか入れられる?
972NAME IS NULL:05/03/16 03:21:07 ID:???
>>971
入れられない。
973NAME IS NULL:05/03/16 10:58:30 ID:???
>>971
(´-`).。oO( つーか、そんなもん突っ込んでどうするんだろう… )
974NAME IS NULL:05/03/16 17:37:10 ID:???
>>971

(´-`).。oO( 何のために表作成時にデータタイプを指定していると思ってるんだろう・・・? )
975NAME IS NULL:05/03/16 18:26:37 ID:???
わかってないな。
00000000=起源の日、99999999=恐怖の大王記念日、********=秘密の日
だよ。
976NAME IS NULL:05/03/16 19:10:01 ID:???
>>975

そっか、気がつかなかったよ。
漏れもまだまだ勉強不足だな。
977NAME IS NULL:05/03/17 09:25:42 ID:???
>>975
つーか、どーゆーコード体系なん   ( ゚∀゚)σ)´Д`)
978NAME IS NULL:05/03/17 12:06:31 ID:Xk6qhk/q
>>970
すばらしい。

ちゃんとインストールできました。

便乗で質問です。
サーバはこれでできたので、クライアントをインストールしてます。
問題のサーバーと同じDC下のクライアントPC(2K,XP)に、アドミニ権限で
Oracle client10Gをインストールして、アドミニ権限でアプリを実行
すると問題なくOracleデータベースに接続できます。
ところが、本来のPCユーザの権限(ドメインユーザ)で実行しようと
すると権限がないとおこられてしまいます。 
試しにインストールしたOracleのClientフォルダー以下にUsers権限を
与えてやると正常に動作する様になります。

この様な手段しかないのでしょうか。
いかが思われます。

979NAME IS NULL:05/03/17 12:32:26 ID:???
>>978
( ゚∀゚)σアドミニ権限で
( ゚∀゚)σOracle client10Gをインストールして、
980NAME IS NULL:05/03/17 16:25:13 ID:???
>>974
とは言うけどよ、日付型のカラムに
アリエナイ日付を入れたくなることってない?
永久に来ない未来とか、2月30日とか
981NAME IS NULL:05/03/17 16:27:52 ID:???
>>980
だったら文字列で扱えっての
強い型チェックしてくれるしっかり者の日時型を骨抜きにしようとすな
982NAME IS NULL:05/03/17 16:48:07 ID:???
>>980
つーか爾来
日付型つーのは大別されれば数値型の一変種に過ぎず
これすなわち「永遠に来ない未来」なぞ
永遠に実現しないデカイ数/ちいさい数つーもの待望論の
エピソードに過ぎぬ由。

そもそも「2月30日」なんつーのは意味論の問題であり
記号法の領域。なんらの日付をも含意せず指示しない故
他の日付データとの間で比較もなにもできる訳が無い
983NAME IS NULL:05/03/17 16:51:15 ID:???
>>982
> 永遠に実現しないデカイ数/ちいさい数つーもの待望論の
> エピソードに過ぎぬ由。

LOW-VALUEとHIGH-VALUEですか。
COBOLにはあるよねw
984NAME IS NULL:05/03/17 18:00:06 ID:???
>>983
(´-`).。oO( COBOLいいなぁだろう… )
985NAME IS NULL:05/03/17 18:43:17 ID:???
>>978

窓のユーザー権限の仕様なんてそんなもんなんじゃないの?
つ〜か、この刷れにいて意外と窓+ボラクル使っている人が多い
のを知って驚いているよ。
986NAME IS NULL:05/03/17 23:26:23 ID:???
でも戸籍ではうるう年じゃない年の2月29日うまれとかいるから
DATE使えなくてこまるよね
987NAME IS NULL:05/03/17 23:35:18 ID:???
なんでそんな実在しない日に生まれた事になってるの?
そしてなんでそれを役所が認めているんだ
988NAME IS NULL:05/03/18 02:01:31 ID:???
>>986
実在する2月29日なら、きちんと書き込める訳だが・・・。
実在しない日に生まれた奴なんているのか?
989NAME IS NULL:05/03/18 07:20:22 ID:???
経緯はわかんないけど結構昔の人(いま90代とかそれくらい)のデータでそういうのがあって
問い合わせたら、戸籍上実際にあるといわれた
990NAME IS NULL:05/03/18 08:28:08 ID:???
戸籍関係はきついですよね。誤字登録された名前の扱いには困った。
991NAME IS NULL:05/03/18 09:44:44 ID:???
990にもなって次スレを考えなくてもいいのはさすがDB板
992NAME IS NULL:05/03/18 13:17:27 ID:???
次スレを自動拡張してくれたらいいのに
993NAME IS NULL:05/03/18 23:50:43 ID:fHm7qijM
ホットスタンバイDBを構築するのに

1.スタンドバイDBを運用
startup nomount;
alter database mount standby database;
recover standby database;

2.DBの複製を運用
startup mount;
recover database;

どちらもLive側のarchive.logを適用する点で同じだと思いますが、
1.で運用する何かメリットはあるのでしょうか。
994NAME IS NULL:05/03/19 00:54:14 ID:???
>>993

喪前の所では、手動でガシガシと複製側のDBのコントロールファイルを
アップデートしたり、出来たアーカイブログを転送していたりしているのか?
995NAME IS NULL:05/03/19 02:15:17 ID:X23qXVuv
はい。自動で出来るのですか?
996NAME IS NULL:05/03/19 03:46:58 ID:???
10g x86-64のインストールが全然出来ません。
ファイルのコピーは出来るのですが、リンク処理のところで、
ins_sysman.mkがエラーになってしまいます。
リリースからそれほど経ってないから情報もないし、US のOTNを見てみて
も、同様のエラーを起こしている人はいますが、解決に繋がる情報は見当
たらないです。
ちなみに、OSは redhat ES3のリリース2です。
インストールマニュアル通りに、環境変数、gcc等のソフトのバージョンも揃えたんですが・・・。
997NAME IS NULL:05/03/19 03:52:24 ID:???
>>995

出来る。
それが自分でクローニングする所の違いだ。
998NAME IS NULL:05/03/19 04:54:42 ID:???
>>996

glibc-2*.i686.rpm
glibc-devel-2*.i386.rpm
x86_64.rpm
は入っているか?
999996:05/03/19 05:40:57 ID:???
>>998
入っています。
ログを見てみると、 ld コマンドを実行している時に、crti.o が見つかりませんと出力されています。
/usr/lib にはなく、/usr/lib64には存在するので、コピーしてきてみたら、
今度は、ファイルが途中で途切れていますと・・・。

相当判断能力が落ちてきているので、もう一度1からやり直してみます。
ありがとうございます。
1000NAME IS NULL:05/03/19 06:03:21 ID:1HXuX5Jj
1000!!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。