1 名前:ますっち mailto:m_mitsuo@naver.co.jp [03/07/24 01:08] 初心者から管理者までオラクルでわからないことは ここの皆で解決していきましょう!!! 前スレ・関連サイト:>>2
116 名前:デフォルトの名無しさん [03/09/10 01:26] レベル轢杉
117 名前:デフォルトの名無しさん [03/09/10 01:42] >116 レベルの高い管理方法を書き込んでやれよ。
118 名前:デフォルトの名無しさん [03/09/10 12:51] 場違いかもしれませんが、 今度の.NET2003のノータッチデプロイメントでOracleデータベースに接続 するアプリを作成したら、 それを利用するユーザの環境にOracleCliantインストールは必要ですか? それより、そもそも作成できないですか? クライアントインストールやめたいです。
119 名前:デフォルトの名無しさん mailto:sage [03/09/10 14:42] 作れるけど、ORACLEクライアントは必要。 っつーかノータッチデプといえども普通のクライアントアプリと一緒。
120 名前:sage [03/09/12 13:41] やっぱり必要ですか・・・ まぁ必要だとは思うんですが、そこを何とかして欲しかった・・・ というか、簡単にOracleクライアント入るようにしてほしいなぁ。
121 名前:デフォルトの名無しさん mailto:sage [03/09/12 13:51] >>120 ミドルウェア自作すれば。 DB - アプリ1 - (ネットワーク) - アプリ2 でアプリ1−2間の通信をソケットで自作。 まあ、Webと変わらんな。 それならHTTPプロトコルでやったほうがいいか。
122 名前:デフォルトの名無しさん mailto:sage [03/09/12 17:43] それも考えたんですけど・・・ そっちでバグ出すほうが怖いんでやめときます。
123 名前:デフォルトの名無しさん [03/09/18 01:29] XeonMP2.8GHz×4,メモリ3GのWindows2000Server上にのった Oracle9iって、どのくらいのトランザクション処理能力があるの?
124 名前:デフォルトの名無しさん mailto:sage [03/09/18 10:35] ↑これだけで答えられるわけがない。
125 名前:デフォルトの名無しさん mailto:sage [03/09/18 12:21] またオラヲタか
126 名前:デフォルトの名無しさん [03/09/20 11:55] ORACLEって普通のパソコンで使えますか?
127 名前:デフォルトの名無しさん [03/09/20 12:04] jibun.atmarkit.co.jp/ljibun01/rensai/consult/consult021.html >プログラムのパフォーマンスが出なかったときに、 >どこで聞いてきたのかいきなり >「アナライズという処理をすれば速くなるそうではないですか。 >すぐに全テーブルをアナライズしましょう」 >と叫ばれたのにはうんざりしました。 ちょっとOracleを知らない私にこのうんざりを解説してください。
128 名前:デフォルトの名無しさん mailto:sage [03/09/20 12:12] 「Cコンパイラには最適化オプションというのがあって、 これを使うと速くなるそうです。すぐに全ファイルをコンパイルしなおしましょう。」
129 名前:デフォルトの名無しさん [03/09/21 00:33] >>127 このおっさんのプロジェクトがどんなのかわからないからよくわからない。 アナライズをかけたら格段に速くなった例も沢山あるので 一概には言えないけど アナライズをかければ速くなるとは限らないし 全テーブルをかける意味は無い。 殆ど更新しないテーブルにかけるのは時間の無駄でもあるし 他の処理中にアナライズかけるとデータ死んじゃうこともあるんで アナライズ用に時間を割けるシステムである必要があるかも。 このおっさんが、アナライズをとっくに試しているのかもしれないし プログラムが悪いのかもしれないしこの文章からだけでは何とも判断できないけど 他の遅い理由がはっきりしてたりするんじゃないの?
130 名前:デフォルトの名無しさん mailto:sage [03/09/22 02:08] >>127 パフォーマンスチューニングの何たるかを理解してない素人丸出しの発言だったからでそ。
131 名前:三宅信光 [03/09/22 09:56] >>127 気づいてないんだろうけど、 プログラム的に直せるところを山ほど抱えてるのに、 アナライズってどういうこと?? 実際アナライズって何か知ってる? 尚且つ全テーブルって…(汗
132 名前:デフォルトの名無しさん [03/09/22 10:16] >131 >さらに、今度は私の会社がメインで開発を行っているプロジェクトでのお話です。 ここで話がリセットされてるので、プログラム的に直せるところがどの程度あるかは 分からないですね。
133 名前:デフォルトの名無しさん [03/09/22 11:21] WIN2000serverで8.1.7なんですが、 DBのバックアップはどこからできるんでしょうか? 初心者ですいません
134 名前:三宅信光 [03/09/22 15:33] >132 >プログラムのパフォーマンスが出なかったときに 返せばOracle内ではパフォーマンスが出ていたのです。 が、データベースのせいにしてるってことだったんですよ。 日本語が下手で申し訳ない。
135 名前:デフォルトの名無しさん [03/09/23 02:03] ORACLEって普通のパソコンで使えますか?
136 名前:デフォルトの名無しさん [03/09/23 08:33] >>133 バックアップ要件がわからないからなんとも答えようがないな。 とりあえず、
137 名前:136の続き [03/09/23 08:37] DB止めてもいいんならデータファイルと制御ファイルをコピーしときな。 止められないんなら、初心者には難しいよ。
138 名前:デフォルトの名無しさん mailto:sage [03/09/23 08:46] >>135 「普通」だけではなんとも言えんが。 条件を満たしていれば、インストール&起動は可能。
139 名前:デフォルトの名無しさん mailto:sage [03/09/23 08:47] >>133 他にも、コマンドプロンプトから、EXPコマンドとかな。 まずは、管理者向けマニュアル読め。
140 名前:デフォルトの名無しさん [03/09/24 18:26] select * from tab で全テーブルでる。 ed でエディタ起動。
141 名前:デフォルトの名無しさん [03/09/24 18:26] conn aaaa/rrrr@iiii でdb繋ぎ直し
142 名前:デフォルトの名無しさん mailto:sage [03/09/24 18:54] >>140-141 まとめて1ポストでおながいします
143 名前:デフォルトの名無しさん [03/09/26 10:30] わかりますた。 select * from tab で全テーブルでる。 ed でエディタ起動。 conn aaaa/rrrr@iiii でdb繋ぎ直し
144 名前:ますっち [03/09/26 11:07] 端末1と端末2の2つのマシンがOracleに接続している。 端末1からPL/SQLを実行する。 端末2からも同じPL/SQLを実行した場合 待ち状態にして端末1の処理が終了後、端末2の処理を実行したい。 ようするに、このPL/SQLが実行中に同じPL/SQLを実行した場合 後者を待ち状態にして前者が終了後に実行するというのを 実現したいのですがどうやったら良いでしょうか? PL/SQLだけで可能でしょうか?
145 名前:デフォルトの名無しさん mailto:sage [03/09/26 16:31] >>144 処理状況を書き込む表作っちゃうのが簡単。 それがイヤならDBMS_PIPE(だった?)とか。
146 名前:デフォルトの名無しさん [03/09/27 00:51] >>144 それってpl/sqlの中身はDBへの変更が主だったりする? ソウじゃなくてファイル出力処理とかDBとは関係ない事? 前者ならロックかけておけば後者は処理途中で必然的に待ち状態になるとおもうんだけどな。 前者がコミット切った時点で後者の処理が走ると思うけど。
147 名前:ますっち [03/10/02 10:42] >>145-146 ありがとうございます!!! DBへの更新系の処理ではないので Oracle側でやるのではなく アプリ側で対応するようにしました。。。
148 名前:ますっち [03/10/02 10:44] SQLServerでOracleのパーティション表と 同じ機能のものってありますか??
149 名前:デフォルトの名無しさん mailto:sage [03/10/02 13:59] …それをなぜここで聞く? ↓で聞くべし。 MS SQL Server 総合スレ pc2.2ch.net/test/read.cgi/db/1057061513/l50
150 名前:ORACLE初心者です [03/10/07 01:37] 30日以前のデータを抽出することすらできない俺に どなたか力を。。 TBL -------------------- YMD VARCHAR2(8) ・・・ select * from TBL where to_date(YMD,'RRRR-MM-DD') < to_date(sysdate-30,'RRRR-MM-DD') 特定レコードで「ORA-01861 リテラルが書式文字列と一致しません」 が発生してしまいます。 特定行を削除しても同じなのでデータが悪さしていると思えないし・・
151 名前:デフォルトの名無しさん [03/10/07 01:54] >>150 to_date(sysdate-30,'RRRR-MM-DD') 少なくとも、sysdate-30って既にdate型だから to_dateする必要無いのでは?
152 名前:デフォルトの名無しさん [03/10/07 01:58] >>150 それと、 YMD VARCHAR2(8) to_date(YMD,'RRRR-MM-DD') RRRR-MM-DDで10文字の様な気がするけど VARCHAR2(8)で足りるのか?
153 名前:デフォルトの名無しさん [03/10/07 01:59] >>150 'RRRR-MM-DD' ↑ この部分の RRRR ってなんでしょうか?? RRRRは初めて見るのですが、、、 ちなみに下記のやり方でOKなのでは?? select * from TBL where to_date(YMD,'YYYY/MM/DD') < sysdate - 30 ;
154 名前:デフォルトの名無しさん [03/10/07 02:01] >>150 さらに、RRRRと書こうと思ったら 先を超されてしもた。 ので、俺のメモ書きをコピーしとく 日付書式 yyyy,yyy,yy,y 西暦で下4桁年、下3桁年… rr 西暦で下二桁年で、50〜49で上二桁が解釈される。現在では99は1999のことで、01は2001のこと mm 月(01〜12) month 月(1月〜12月) mon 月(JAN〜DEC) dd 日(1〜31) day 日(日曜日〜土曜日) dy 省略形(日〜土) d 週における曜日(日=1,…,土=7) hh,hh12 時間(12時間表記) hh24 時間(24時間表記) mi 分 ss 秒
155 名前:ORACLE初心者です [03/10/07 03:24] 151〜154さん ありがとうございます。RRRR→YYYYですね。 ora-01861は下文でも発生します。 select * from TBL where YMD < sysdate-30 補足として @39075行目までは表示される。 (39076行目を削除するも変わらず) Acount(*)に変えると上文YMDの箇所でエラーとなる。
156 名前:ORACLE初心者です [03/10/07 03:32] >152 to_date(YMD,'RR-MM-DD')もだめです。。。 >153 ご指摘どおりYYYYで試してみましたがだめでした。 構文が問題では無い気がしてきました。
157 名前:デフォルトの名無しさん mailto:sage [03/10/07 09:04] >>150 まず、>>153 をそのままコピペして試したか? それから、「特定レコードで」ora-01861なら、そのレコードのデータを確認せい。 日付にならん数値とか入ってないか?
158 名前:ORACLE初心者です [03/10/07 11:06] >157 はいコピってやってみました。 途中までは処理が走るってことはやはりデータに問題があると 言ったほうがよいですよね? ...でも見た目問題なさそうだしなー。
159 名前:デフォルトの名無しさん [03/10/07 12:21] >>158 実行環境はSQL*PLUS? データに問題があるのであれば 最初に出てくる方を何件か削除したら 39075行目って数字がずれたりするかな? select YMD from TBL; は何も問題は無いの?
160 名前:157 mailto:sage [03/10/07 12:28] >>158 そうだと思う。 っていうか、問題を切り分けろ。 1つづつ可能性をつぶせ。 select ROWNUM,to_date(YMD,'YYYY/MM/DD') from TBL; とかやって、問題の行を特定しろ。 であやしい行が判ったら、 select * from TBL where ROWNUM=xxx; とかだ。 一歩づつ、具体的に進め。
161 名前:ORACLE初心者です [03/10/08 01:47] >159,160 お世話になります。 >159 8iでSQL*Plusで行っています。 select YMD from TBL;では問題ありませんでした。
162 名前:ORACLE初心者です [03/10/08 01:49] >160 アドバイスありがとうございます select ROWNUM,to_date(YMD,'YYYY/MM/DD') from Q_SKF; ('RR/MM/DD'でも結果は同じ) ROWNUM TO_DATE( ---------- -------- 1 03-08-20 2 03-08-20 ・・・ 39066 03-08-21 39067 03-08-21 39068 03-08-21 39069 03-08-21 39070 03-08-21 39071 03-08-21 39072 03-08-21 ROWNUM TO_DATE( ---------- -------- 39073 03-08-21 39074 03-08-21 39075 03-08-21 ERROR: ORA-01861: リテラルが書式文字列と一致しません。 39075行が選択されました。
163 名前:ORACLE初心者です [03/10/08 01:52] 尚、特定行(それ以外も?)は抽出できませんでした。 SQL> select * from Q_SKF where ROWNUM=39076; レコードが選択されませんでした。 SQL> ed ファイル afiedt.bufが書き込まれました。 1* select * from Q_SKF where ROWNUM=39075 SQL> / レコードが選択されませんでした。 SQL> ed ファイル afiedt.bufが書き込まれました。 1* select * from Q_SKF where ROWNUM=39074 SQL> / レコードが選択されませんでした。
164 名前:ORACLE初心者です mailto:sage [03/10/08 07:56] すんません データの見直しを行うことにします。
165 名前:デフォルトの名無しさん [03/10/10 19:47] ちなみにotnを探せば、日付形式としての不正を抽出するFUNCTIONが紹介されていたぞ それあたりを試してみると良いね。
166 名前:デフォルトの名無しさん [03/10/12 11:03] ROWNUM TO_DATE( ---------- -------- 39073 03-08-21 39074 03-08-21 39075 03-08-21 で 1* select * from Q_SKF where ROWNUM=39075 SQL> / レコードが選択されませんでした。 これって・・・
167 名前:デフォルトの名無しさん [03/10/12 14:21] 昔ある環境でエクスポートしたファイルがあります。 このエクスポートしたファイルの中身を確認する方法ってありますか?
168 名前:デフォルトの名無しさん [03/10/13 15:07] >>163 rownum はそんな使い方はできないの。 rowid もselectしてがんばってくれ。
169 名前:デフォルトの名無しさん mailto:sage [03/10/16 02:41] >>165 おぉ、それ俺が書いたの。 おそレスだけど自分の勉強になりそうだからってやつっしょ。 どこの掲示板だったんだか忘れたけど。。。
170 名前:デフォルトの名無しさん [03/10/16 22:53] >>169 思い出して >>164 も、結果報告お願い。
171 名前:デフォルトの名無しさん [03/10/17 11:18] 質問です。 [CODE] [NAME] 001 ヤマダ 002 タナカ 003 サトウ 004 タナカ 005 ヤマダ の様なテーブルより [CODE]でソートされた重複しない[NAME]レコードを取得したいのですが、 方法がわかりません。 [NAME] ヤマダ タナカ サトウ と、ほしいのです。 distinct と order by を使ってやってみたのですが、上手くいきませんでした。 どなたか宜しくお願いします。
172 名前:デフォルトの名無しさん mailto:sage [03/10/17 11:21] Oracle 関係ないじゃん。 SQL の入門書でも読め
173 名前:デフォルトの名無しさん [03/10/17 15:49] >>171 テーブル名 temp_list select name from (select min(code), name from temp_list group by name order by 1);
174 名前:デフォルトの名無しさん [03/10/17 16:14] 昔ある環境でエクスポートしたファイルがあります。 このエクスポートしたファイルの中身を確認する方法ってありますか?
175 名前:デフォルトの名無しさん mailto:sage [03/10/17 17:45] とりあえずエディタで開いてみればぁ
176 名前:デフォルトの名無しさん [03/10/17 19:14] oracle 9i Lite(トライアル版)というのをダウンロードして windows2000のPCにインストールしてみた。 Oracle Universal Installerで Mobileサーバーというのと MobileDevelopmentKit というのをインストールした。 それで、このPCだけで(スタンドアローン) データベースというものを 使ってみたいだけなんだけど、この後何をすればいいのかさっぱりわからん。 何を読んだらいいのか教えてけろ・・・ちなみに試用期間は30日なので 切れないうちに教えてください・・
177 名前:デフォルトの名無しさん mailto:sage [03/10/18 01:31] Liteじゃだめ
178 名前:171 mailto:sage [03/10/18 10:37] >>173 助かりました。 ありがとうございました。
179 名前:デフォルトの名無しさん mailto:sage [03/10/19 02:57] >>174 実データはインポートしないでimpのログだけ吐かせるオプションってなかったか? 何のスキーマをどこに突っ込もうとしようとするダンプなのか知るのに使ってた気が するんだが・・・
180 名前:169 mailto:sage [03/10/20 03:12] >>170 またもや、おそくなったけど 9iの部屋の「to_dateの結果が正しいか判定するSQL? 」という 一連のスレッドがそれじゃないかと思われます。
181 名前:デフォルトの名無しさん [03/10/22 20:23] >>180 どうもありがとう。 to_date以外でも使えそうな良いアイデアだな。 thx
182 名前:デフォルトの名無しさん mailto:sage [03/10/23 00:07] 勉強用に安価に入手できるバージョンはありますか?
183 名前:デフォルトの名無しさん mailto:sage [03/10/23 00:25] hxxp://otn.oracle.comから無料でどぞ。>>182 PSRとかは手に入らないけど必要ないでしょ。
184 名前:デフォルトの名無しさん [03/10/23 11:32] 30日間トライアル版しか無いの?<無料
185 名前:デフォルトの名無しさん [03/10/23 12:11] >>184 無料といったら期間限定のトライアル版しかないと思いますが・・・
186 名前:デフォルトの名無しさん [03/10/23 12:15] >>183 hxxp?
187 名前:183 mailto:sage [03/10/24 01:25] いいからOTN行ってLicense Agreement読んでみ。英語がわからんとかいうヘタレは諦めれ。 直リンすんなゴルァ、を回避するためですが何か?>>186
188 名前:デフォルトの名無しさん mailto:sage [03/10/24 05:17] >>187 ttp://じゃないのはなぜ?
189 名前:デフォルトの名無しさん [03/10/25 00:04] >>188 そんな形式にこだわるのは何故?
190 名前:デフォルトの名無しさん mailto:sage [03/10/25 00:57] hxxp,fxpってのは英語で情報交換してる掲示板でよく見かける直リン回避の仕方だね。 リバースエンジニアリングやってる奴ら(特にブラックハット)が好んで使ってる。 スレの趣旨からずれまくってるのでsage。
191 名前:デフォルトの名無しさん mailto:sage [03/10/27 00:04] >>189 2ちゃんブラウザのたぐいはttp://も クリッカブルになるからでしょう。
192 名前:デフォルトの名無しさん mailto:sage [03/10/27 08:39] んな自分勝手な・・・。
193 名前:デフォルトの名無しさん mailto:sage [03/10/27 22:53] >192 ↑こうレスするのを嫌がる人もいる。
194 名前:デフォルトの名無しさん mailto:sage [03/10/28 20:07] それまた自分勝手な・・・。
195 名前:デフォルトの名無しさん [03/10/31 16:41] Web帳票もどきのシステムを作ることになったんですが、書き込み欄に 文字数で全角50000文字まで入るようにとか言われてます。(しかも複数) varchar2では4000byteまでしか扱えないし、テーブルのカラムのほとんどを ラージオブジェクトにするのも違う気がします。皆さん、こういうのはどうして ますか? つか、普通にテキストファイルに保存したほうがいいのではとも思ったんですが 上司がデータベースに拘っているので…。
196 名前:デフォルトの名無しさん mailto:sage [03/10/31 17:02] テキストファイルに落としてポインタをDBに入れときゃいいじゃん…
197 名前:デフォルトの名無しさん [03/10/31 17:18] >>195 俺は使わないけど、 LONG使ってみて。 どうなったかも報告して。
198 名前:デフォルトの名無しさん mailto:sage [03/10/31 18:47] >>195 ORACLEのバックアップで一緒に済ませたいんだろ?>上司 ファイル名をDBに保存、テキスト保存。 バックアップは別途用意し説得するのが一番だろうなあ
199 名前:デフォルトの名無しさん [03/10/31 19:13] 1列が100KBでそれが複数列でとなると やはり外に置くか、LOBにするかだろうな。 LONGでもPL/SQLだと32760byteだし 何で入れるかに依ってごちゃっとするよね。 その文字を入れるとして、どれくらいの種類の 文章を入れるかというのもあると思うし その列をどう使うのかなぁ?
200 名前:デフォルトの名無しさん [03/10/31 20:00] 上司ってエンジニア?一本毛の生えた素人?
201 名前:デフォルトの名無しさん mailto:sage [03/10/31 20:29] 一本も毛の生えてない素人じゃないか?
202 名前:200 [03/10/31 22:00] やっぱり、毛という毛は1本も生えてない素人か
203 名前:デフォルトの名無しさん [03/10/31 22:48] SEだからといって、一般人より何か知ってるかというと・・・なことも多いこの業界。
204 名前:デフォルトの名無しさん mailto:sage [03/10/31 22:59] でも「素人か」って鼻で笑っちゃあSE失格だよな。 データベースに拘ってるっていうところをそのまんま 鵜呑みにしたり、理由を勝手に憶測したりしないで、 もう少し掘り下げてインタビューして顧客の真の要件を 明らかにしよう。
205 名前:195 mailto:sage [03/10/31 23:01] >>196 ,198 自分も少し考えたんですが、データベースと別に保存というのは設計として どうなのよと思ったので自己却下しました。 そんなにおかしなことではなかったんですね。ありがとうございます。 >>197 ありがとうございます。 LONG型は1項目までしか定義できないようなので諦めましたです。 >>199 多少扱いは面倒ですが、慣れてもいるのでLOBしかないかなーと思っています。 ちなみに内容は会議の議事録と、偉い人たちのコメント等々です。 いまのところ、キーに対応した文章が閲覧できればいいようですが、全文検索 なんて言われたら…(;´Д`) >>200 この道30年のベテランエンジニアを自称していますが、業務経験は20年前にN88-BASIC のみという凄腕です。頭髪はだいぶ薄いですが、かろうじて残っています。
206 名前:デフォルトの名無しさん mailto:sage [03/10/31 23:47] >>205 ひょっとしてNUL?
207 名前:200 [03/11/01 08:04] >>204 SEか素人かが問題ではない。 毛があるかどうかが問題だ。 大体オマイは、2ちゃんで匿名相手にインタビューして、 真の要件解析をするのか? そんなことより、>>205 より毛が生えてるエンジニアということが解析された。 俺にとっては十分な答えだ。
208 名前:デフォルトの名無しさん mailto:sage [03/11/01 10:35] 2chで言葉を選んでどうする 簡潔に、「ハゲは馬鹿ばっか」 でいいだろ
209 名前:200 [03/11/01 11:07] >>208 ありがとう。その通り。
210 名前:204 mailto:sage [03/11/01 13:11] >>207 当然、要件分析すんのは>>195 だ。 つか、なんで>>200 が反応するんだ?
211 名前:200 [03/11/01 13:22] >>204 暇だったから。ゴメンチャイ
212 名前:デフォルトの名無しさん mailto:sage [03/11/01 13:48] スレスト依頼でもしてくるか。
213 名前:デフォルトの名無しさん [03/11/02 13:17] すいません、SQL質問スレが見つからなかったのでここで質問させてください。 主キーにSequenceを使って連番振るときに、どれくらいのサイズにしておくものなんでしょうか? もちろん要件によるのでしょうが。 例えば、登録件数は少ない(数100件程度)が、頻繁に追加・削除が行われるようなテーブルの場合 はどうしておくものなのでしょうか? 主キーに6桁ほど取っておいて、MAXVALUE=999999にしてCYCLEにしておく? でもinsert時にキーがぶつかったら? エラー処理で、insetが成功するまでnexvalで値をとり続ける? そんなコーディングって一般的なの? ・・・普通はどんなカンジにしておくものなんでしょう???
214 名前:デフォルトの名無しさん mailto:sage [03/11/02 15:32] ハァ?
215 名前:213 mailto:sage [03/11/02 16:55] >>214 やっぱ考え方自体がおかしい?
216 名前:デフォルトの名無しさん [03/11/02 19:57] >>213 その程度の件数であまりSequenceなんて使ったことないけど。 世の中には、4件しか無いテーブルにインデックスはる人もいるからなぁ。