ORACLE質問 P ..
[2ch|▼Menu]
39:デフォルトの名無しさん
03/07/31 01:13
>>31 なんかエラーが出てるだろ。

40:デフォルトの名無しさん
03/07/31 10:04
redhat8にoracle8.1.5入れてみたんだが、
インスコは無事終わったんだが、
データベース作成のときに、
CDから作成だと、CDドライブがみつからないといいやがるし、
新規だとデータベースつなぎに行くときにTNS:Lost Contactとなりやがる。

やっぱ、対象外だから?それとも回避策を知ってる?

41:デフォルトの名無しさん
03/07/31 15:33
>>27
俺はここのCommon SQL Environmentが好き。
URLリンク(www.hi-ho.ne.jp)


42:デフォルトの名無しさん
03/07/31 15:41
おいら OSqlEdit ってやつ。
いまはシェアウェアになっちゃったけど、フリー版をしつこく使ってる

43:デフォルトの名無しさん
03/07/31 17:08
質問
Windows200ServerにOracleが入れてあります。
それをAさんが使ってます(勉強で)。
で、Bさんがネットワーク上にある別の端末から(例えばTelnet,TeraTerm)でSQLにアクセス出来るんでしょうか?



44:デフォルトの名無しさん
03/07/31 19:30
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server
Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server Windows200Server


45:デフォルトの名無しさん
03/07/31 20:46
>>43
Oracle Net○ (バージョン番号)とかでつなげ

46:デフォルトの名無しさん
03/07/31 21:20
>>43
ORACLEのクライアントが入って入ればSQLPLUSでアクセスできるよ。

47:デフォルトの名無しさん
03/08/01 19:13
甲骨文10iっていつ出るの?

48: 
03/08/01 19:59
カーソルforループで結果セットの内容をチェックしてupdateかinsertを行う場合
nested tableに値をため込んでforall文で一気に処理するのと
逐次insertとupdateを実行するのとではどっちが早いんでしょう?

49:デフォルトの名無しさん
03/08/01 20:05
鯖のメモリとCPUに相談しろ

50: 
03/08/01 20:09
>>49
メモリに関しては使用できる容量が1G。CPUはXeon x 2です

51:デフォルトの名無しさん
03/08/01 20:57
>>50
自分で試せってことだろ

52:デフォルトの名無しさん
03/08/01 20:59
>>48
ループ内で1回1回処理した方が早いよ。
低スペックマシンで試すとわかるけど圧倒的に早いよ。

53:デフォルトの名無しさん
03/08/01 21:22
>>52
スペックやチューニングが違えば答えも変わる可能性有り。
結局、試してみるのが一番安全だと思うが。
明確に判断出来るだけの知識があれば別だが。

54: 
03/08/01 22:14
(sqlエンジンとの切り替え)と(nested tableのexpandと値の挿入)
のどっちが早いかによるんですが。どっちかな・・・

55:デフォルトの名無しさん
03/08/01 22:23
>>54
早い遅いは>>53も言ってるがスペックやチューニングに
もろに影響されます。。
試すのが一番早いですよ。
それくらい試すのなんて簡単でしょ??

56: 
03/08/01 23:10
>>55
開発環境のサーバーと実際に動かすサーバーとが違うのです
なので簡単にはいかないのです・・・・。



57:デフォルトの名無しさん
03/08/02 00:19
forallのほうが早い。
ただし処理次第ではRBSがぶっ飛ぶ危険を伴うかもしれない。

大規模なバッチ処理には使わない方が吉。

58:sage
03/08/02 01:51
Pro*CのSELECT文を使用してOracleから9バイトの数値型を取得したいのですが、
INTO句に入れる変数の型が分かりません。
doubleだと8バイトですし、
取得する方法は何かありませんか?
(ちなみに取得したい数値の型はNumber[15,5]です)

59:山崎 渉
03/08/02 02:02
(^^)

60:デフォルトの名無しさん
03/08/02 11:13
>>58
文字列扱いだとダメなんですよね?


61:デフォルトの名無しさん
03/08/05 23:37
Pro*COBOLってなんづらか?

62:デフォルトの名無しさん
03/08/06 00:03
クライアントからサーバーに直接接続するときは、サービス名が接続記述子に直接マップされます。

って文章があるんだけど「マップ」って何ですか?


63:デフォルトの名無しさん
03/08/06 14:21
SQLの命令文って、ファイルから読み込んだりすることできるの?
というか、、、
SELECT * FROM nanntara where ここ
ここの命令をファイルに保存してあるものを取り込みたいんだけど・・・。
どうしたらできるんだろう。
いや、その前にできるのか?

64:デフォルトの名無しさん
03/08/06 18:36
>>63
どのレベルの話をしているのか?
SQL*PLUSの操作の話なら可能。
マニュアルなり、リファレンスみれ。
プログラムとかの話だとしたら、、、お前にこの板に来る資格は無いな。

65:デフォルトの名無しさん
03/08/06 18:37
何のアプリでだ?
OO4Oか?SQL+か?PLか?

66:デフォルトの名無しさん
03/08/07 23:51
>>31
通りすがりのDB管理者です。
IPやHost名を変更した場合はIAの情報ファイル(services.oraとか)を
消して再起動しなくてはいけません。消す対象ファイルが具体的にわ
からないのが私のダメなところです。では。

67:デフォルトの名無しさん
03/08/09 02:35
sqlnet.oraとかservices.oraとかよくわからん。
でも普通はtnsnames.oraとlistener.oraしか気にしなくていいでしょ?

68:デフォルトの名無しさん
03/08/09 03:43
>>61

Pro*C って何かわかってるのか?

COBOL って知ってるか?


69:デフォルトの名無しさん
03/08/09 15:40
>>61
COBOLerの近くでABEND〜って叫べば、きっと教えてくれるだろう・・・


70:デフォルトの名無しさん
03/08/09 15:49
OracleのLinux+って資格はプラチナよりも難しいの?
実技試験なんで持ってる人少なそうだけど。

71:デフォルトの名無しさん
03/08/09 16:52
>70
10月からはプラチナも実技だろ。
DBA2はゴールドの試験になるし。

Linux+はリナックスわかってて、オラクルわかってて(銀から金の間くらい)、
トラブらんかったら誰でも取れる程度だよ。

72:デフォルトの名無しさん
03/08/09 17:35
>>67
Intelligent Agentを使用しないのならおっしゃるとおりです。
ただ、8iのwindows版の場合、サーバ側のsqlnet.ora内のあるパラメ
ータをコメントしないと異常に接続に時間がかかる場合があった
ような気がします。
Net8アシスタントを使って構成したときデフォルトで入るやつなの
ですが・・・。名前が思い出せないのが私のダメなところです。
では。

73:デフォルトの名無しさん
03/08/09 17:48
66=67なのん?

74:デフォルトの名無しさん
03/08/09 18:21
質問いいですか?
シルバーの問題集がものによって定義が違うので、お聞きしたいのですが
「射影」は特定の列の選択なのですが片方ではSELECT * 〜 も射影となっており
一方ではアスタリスクを使うと特定の列を指定してないので射影は使っていない、となってます。
どちらが正しいのでしょうか?

75:デフォルトの名無しさん
03/08/09 19:44
>>74
射影って何ですか?

76:デフォルトの名無しさん
03/08/09 20:05
>>75
射精

77:デフォルトの名無しさん
03/08/09 20:19
>>75
SELECT ENAME,DEPTNO FROM EMP;

上で言う列の選択のことです(ENAME DEPTNO)

78:_
03/08/09 20:22
URLリンク(homepage.mac.com)

79:デフォルトの名無しさん
03/08/09 22:54
オラクルの勉強のためにoracle9iのトライアル版をDLしたんですが
…重要な欠点を発見しました

うちで使っているのが未だWin98のメモリ64MB、HDD6Gの奴。
必要とされるスペックに全然対応できてrない…
このままじゃSQLPLUSが実行できません…

どなたか、この旧PCでもSQLが動かせるoracleのバージョンってご存知ないですか?


80:デフォルトの名無しさん
03/08/09 22:57
>>79
Oracle 8i Personal Edition
ならwin98でもインストール可能



81:デフォルトの名無しさん
03/08/09 23:14
Oracle 8i Personal Editionのトライアル版ってもう終わってない?

82:デフォルトの名無しさん
03/08/10 01:43
ディクショナリビューを全部覚えるのは大変ですので、
DICTというシノニムを覚えておくと便利です。

このシノニムをSELECTすれば、ディクショナリビューとその簡単な説明が表示されます。
例えば、DBLINKの情報は... 何を見ればいいんだっけ?というときに、

SELECT * FROM DICT WHERE TABLE_NAME LIKE '%LINK%';

という具合にLIKE検索して、目的のディクショナリビューを見つけます。



83:デフォルトの名無しさん
03/08/13 00:35
オラクルアンインストールしたいんだけど
ちゃんとまっさらな状態に出来る?
ちなみにOSはRHLinuxです。
Windows版をアンインストールすると一部のソフトや
レジストリは残るよね?
Linux版はどうなのだろう???

84:山崎 渉
03/08/15 15:36
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

85:デフォルトの名無しさん
03/08/15 20:36
Connection Managerってやっぱり使ってます?
マルチスレッドサーバー

86:デフォルトの名無しさん
03/08/16 00:22
Oracle8.1.7をWindowsXpにインストールする方法ってあるんですか?

87:デフォルトの名無しさん
03/08/16 00:33
>>86
1. CDの中身そのままHDにコピー

2.1 (コピー先)\install\oraparam.iniをエディタで開く
2.2 "JRE_MEMORY_OPTIONS=-mx96m"→"JRE_MEMORY_OPTIONS=-nojit -mx96m"に書き換える

3.setup.exeを実行 そのまま普通にインストール
4.途中Net8 Configuration Assistant起動するあたり失敗するけどそのままで待つ

5.1.Oracleインストール先にある拡張子*.clのファイルを検索
5.2 *.clファイルをエディタで開く
5.3 "-classpath"という場所を探して、その前に" -nojit "を書き込む

6.インストーラの再試行を押す。今度はたぶん動く。
7.そのまま続ける。

88:86
03/08/16 00:45
>>87

ありがとうです。
一応oraparamを変更してsetupしてみましたが、
「C:\TEMP\orainstallディレクトリが作成できません。権限がないか空き領域がありません」
というエラーが出ちゃいます。
Administratorで作業してるし、HDに14GB空きはあるのですが・・

これ以外に方法はあるんでしょうか?


89:86
03/08/16 01:19
すんませんでした。
ユーザーがひらがなだったんで失敗してたようです。
英文字のユーザーでログオンしなおしてインストールしたらうまくいきました。
多謝。

90:86
03/08/16 02:01
うまくいったと思ったのに・・・
Net8Assistantでエラーがでたんすよね。
んで、全部の*.clのファイルの-classpathの前に -nojit を足して再試行しても
エラーになっちゃいます・・
何ででしょう?助けてぇ〜(>_<)

91:デフォルトの名無しさん
03/08/17 02:22
>>86
おまえの言う事あてにならん

> Administratorで作業してるし、HDに14GB空きはあるのですが・・

が、

> ユーザーがひらがなだったんで失敗してたようです。

どうしてこうなる。

大きく深呼吸を100回して、それから作業内容を1000回みなおせ。


92:デフォルトの名無しさん
03/08/17 11:12
>>91
Xpにおけるひらがなのユーザー名(ログイン名)とSetupエラーは関連があるんだよ。

URLリンク(www.google.com)

あてにならんどころか、知識が増えて良かったな( ´,_ゝ`)>91

93:デフォルトの名無しさん
03/08/17 12:26
>>92
91は
Administratorで作業してるし → ユーザー=Administrator
と思ったんでないの?

94:86
03/08/18 00:03
>>91
もっと正確に書かなきゃいかんということが良くわかったYo!
正しくは「Administrator権限のあるユーザーで作業してるのに」だったですな。

コリャ失敬!許せ、>>91よ。

95:デフォルトの名無しさん
03/08/18 17:32
oracleゴールドが「私はただのデブじゃない。バランス型肥満だ。」と威張っていた。
でも、バランス型肥満って何??

96:デフォルトの名無しさん
03/08/18 23:10
ボブサップ型肥満のつもり

97:デフォルトの名無しさん
03/08/22 12:48
質問です。
コミットでエラーになった場合、その後の処置は必要ですか?
また、処置が必要ない場合、更新内容はどのようになるのでしょうか。

98:名無し
03/08/22 12:54
          ∧_∧
    ∧_∧  (´<_`  ) いてぇYOこいつら
   ( ´_ゝ`) /   ⌒i   URLリンク(www.geocities.co.jp)
   /   \     | |
  /    / ̄ ̄ ̄ ̄/ |
__(__ニつ/  2ch  / .| .|____
    \/____/ (u ⊃


99:97
03/08/22 12:57
俺も質問してそう思った・・・

100:名無し
03/08/22 12:57
URLリンク(www.geocities.co.jp)
いてぇよこいつら

101:デフォルトの名無しさん
03/08/23 13:00
>>97
コミットでどういうエラーが出たのかによるんでは?

102:デフォルトの名無しさん
03/08/23 15:09
「sys」ってユーザー、いつ使うの?

103:デフォルトの名無しさん
03/08/23 15:42
インスタンス、スキーマ作り

104:デフォルトの名無しさん
03/08/24 00:16
>102
sysって、dba_tablesとか、いろいろディクショナリを持ってるですよ。
ディクショナリってだいたいビューなんだけど、
そのビューが参照してるテーブル tab$とか、最後の文字が$ってテーブルを持ってるです。

105:デフォルトの名無しさん
03/08/28 18:44
こんにちは。
いま、SQL*Loaderでタブ区切りのデータファイルを読み込ませるスクリプトを書いています。
読み込むレコードのタブ数が足りない場合(タブの数とテーブルの列数が合わない時)エラーデータとして読み込ませない、
という指定をしたいのですが。
データがNullの場合はNullとして入れて、データの列数が足りないときだけエラーではじきたいのですが、方法がわかりません。
今のソースはこんな感じです。

LOAD DATA
INFILE 'data/aaa.txt'
INTO TABLE aaa
fields terminated by X'09'
(
aaa_code CHAR,
aaa_name CHAR,
aaa_price CHAR
)

入れたいデータ
1[TAB]なまえ[TAB]値段[改行]
2[TAB]なまえ[TAB][改行]

これを実行すると、2レコード目の最後の項目でNullが入っていた場合に
レコード 2: 拒否されました。- 表 aaa,列 aaa_priceでエラーが発生しました。
論理レコードが終了する前に列が見つかりませんでした。(TRAILING NULLCOLSを使用)

となってしまいます。

どなたかアドバイスをいただけないでしょうか?

106:デフォルトの名無しさん
03/08/28 21:37
>>105
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS

107:デフォルトの名無しさん
03/09/05 21:05
ora

108:デフォルトの名無しさん
03/09/06 07:12
ora goku

109:デフォルトの名無しさん
03/09/06 10:05
DBの代表格

110:デフォルトの名無しさん
03/09/06 23:08
お前ら、データベース名、テーブルスペース名(データファイル名)の関係
ってどんな感じにしてます?
元からあったUSER、TEMPをそのまま使ってる?
普通になんのひねりもなく考えて、
全部同じでいいかなって思ってんだけど
(データベス名にUSER、TEMPつけるだけ)
どうですか?

111:デフォルトの名無しさん
03/09/06 23:16
>>110
面倒だから名前はそのままだけど、パラメータは全て設定し直しで再作成してます。
お客が要求するときは別の名前にするけど、リカバリとか検証が面倒なんですよね。


112:デフォルトの名無しさん
03/09/08 23:56
正規化について詳しくわかりやすく
載っているサイト教えてください。

113:デフォルトの名無しさん
03/09/09 21:25
>>110
1個のインスタンスにいろんなプロジェクトのUSERがいたりするから
変えてる。
バックアップとかもプロジェクトの要件で違ったりするから、
それごとにスクリプト変えたりしてる

114:デフォルトの名無しさん
03/09/09 23:24
>>113
普通、テーブルスペースでわけるんじゃなくて
プロジェクトごとにデータベース作るんじゃないの?
1台のサーバーマシン上に複数DBサービス起動してるよ。

115:デフォルトの名無しさん
03/09/10 00:36
マジレスすると、プロジェクトごとに鯖マシンを用意するのが普通だな。

上の場合はテスト用かなんかだろうから好きで構わないと思うけど。

116:デフォルトの名無しさん
03/09/10 01:26
レベル轢杉

117:デフォルトの名無しさん
03/09/10 01:42
>116
レベルの高い管理方法を書き込んでやれよ。

118:デフォルトの名無しさん
03/09/10 12:51
場違いかもしれませんが、
今度の.NET2003のノータッチデプロイメントでOracleデータベースに接続
するアプリを作成したら、
それを利用するユーザの環境にOracleCliantインストールは必要ですか?
それより、そもそも作成できないですか?
クライアントインストールやめたいです。

119:デフォルトの名無しさん
03/09/10 14:42
作れるけど、ORACLEクライアントは必要。
っつーかノータッチデプといえども普通のクライアントアプリと一緒。

120:sage
03/09/12 13:41
やっぱり必要ですか・・・
まぁ必要だとは思うんですが、そこを何とかして欲しかった・・・
というか、簡単にOracleクライアント入るようにしてほしいなぁ。

121:デフォルトの名無しさん
03/09/12 13:51
>>120
ミドルウェア自作すれば。
DB - アプリ1 - (ネットワーク) - アプリ2
でアプリ1−2間の通信をソケットで自作。
まあ、Webと変わらんな。
それならHTTPプロトコルでやったほうがいいか。

122:デフォルトの名無しさん
03/09/12 17:43
それも考えたんですけど・・・
そっちでバグ出すほうが怖いんでやめときます。


123:デフォルトの名無しさん
03/09/18 01:29
XeonMP2.8GHz×4,メモリ3GのWindows2000Server上にのった
Oracle9iって、どのくらいのトランザクション処理能力があるの?


124:デフォルトの名無しさん
03/09/18 10:35
↑これだけで答えられるわけがない。

125:デフォルトの名無しさん
03/09/18 12:21
またオラヲタか

126:デフォルトの名無しさん
03/09/20 11:55
ORACLEって普通のパソコンで使えますか?

127:デフォルトの名無しさん
03/09/20 12:04
URLリンク(jibun.atmarkit.co.jp)
>プログラムのパフォーマンスが出なかったときに、
>どこで聞いてきたのかいきなり
>「アナライズという処理をすれば速くなるそうではないですか。
>すぐに全テーブルをアナライズしましょう」
>と叫ばれたのにはうんざりしました。

ちょっとOracleを知らない私にこのうんざりを解説してください。

128:デフォルトの名無しさん
03/09/20 12:12
「Cコンパイラには最適化オプションというのがあって、
これを使うと速くなるそうです。すぐに全ファイルをコンパイルしなおしましょう。」


129:デフォルトの名無しさん
03/09/21 00:33
>>127
このおっさんのプロジェクトがどんなのかわからないからよくわからない。
アナライズをかけたら格段に速くなった例も沢山あるので
一概には言えないけど

アナライズをかければ速くなるとは限らないし
全テーブルをかける意味は無い。
殆ど更新しないテーブルにかけるのは時間の無駄でもあるし
他の処理中にアナライズかけるとデータ死んじゃうこともあるんで
アナライズ用に時間を割けるシステムである必要があるかも。

このおっさんが、アナライズをとっくに試しているのかもしれないし
プログラムが悪いのかもしれないしこの文章からだけでは何とも判断できないけど
他の遅い理由がはっきりしてたりするんじゃないの?

130:デフォルトの名無しさん
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:デフォルトの名無しさん
03/09/23 08:46
>>135
「普通」だけではなんとも言えんが。
条件を満たしていれば、インストール&起動は可能。

139:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
03/10/02 13:59
…それをなぜここで聞く? ↓で聞くべし。

MS SQL Server 総合スレ
スレリンク(db板)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:デフォルトの名無しさん
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
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初心者です
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:デフォルトの名無しさん
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:デフォルトの名無しさん
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:デフォルトの名無しさん
03/10/17 17:45
とりあえずエディタで開いてみればぁ

176:デフォルトの名無しさん
03/10/17 19:14
oracle 9i Lite(トライアル版)というのをダウンロードして

windows2000のPCにインストールしてみた。
Oracle Universal Installerで Mobileサーバーというのと
MobileDevelopmentKit というのをインストールした。

それで、このPCだけで(スタンドアローン) データベースというものを
使ってみたいだけなんだけど、この後何をすればいいのかさっぱりわからん。
何を読んだらいいのか教えてけろ・・・ちなみに試用期間は30日なので
切れないうちに教えてください・・

177:デフォルトの名無しさん
03/10/18 01:31
Liteじゃだめ


178:171
03/10/18 10:37
>>173
助かりました。
ありがとうございました。

179:デフォルトの名無しさん
03/10/19 02:57
>>174
実データはインポートしないでimpのログだけ吐かせるオプションってなかったか?
何のスキーマをどこに突っ込もうとしようとするダンプなのか知るのに使ってた気が
するんだが・・・

180:169
03/10/20 03:12
>>170
またもや、おそくなったけど

9iの部屋の「to_dateの結果が正しいか判定するSQL? 」という
一連のスレッドがそれじゃないかと思われます。


181:デフォルトの名無しさん
03/10/22 20:23
>>180
どうもありがとう。
to_date以外でも使えそうな良いアイデアだな。
thx

182:デフォルトの名無しさん
03/10/23 00:07
勉強用に安価に入手できるバージョンはありますか?

183:デフォルトの名無しさん
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
03/10/24 01:25
いいからOTN行ってLicense Agreement読んでみ。英語がわからんとかいうヘタレは諦めれ。
直リンすんなゴルァ、を回避するためですが何か?>>186

188:デフォルトの名無しさん
03/10/24 05:17
>>187
http://じゃないのはなぜ?

189:デフォルトの名無しさん
03/10/25 00:04
>>188
そんな形式にこだわるのは何故?

190:デフォルトの名無しさん
03/10/25 00:57
hxxp,fxpってのは英語で情報交換してる掲示板でよく見かける直リン回避の仕方だね。
リバースエンジニアリングやってる奴ら(特にブラックハット)が好んで使ってる。
スレの趣旨からずれまくってるのでsage。

191:デフォルトの名無しさん
03/10/27 00:04
>>189
2ちゃんブラウザのたぐいはhttp://も
クリッカブルになるからでしょう。


192:デフォルトの名無しさん
03/10/27 08:39
んな自分勝手な・・・。

193:デフォルトの名無しさん
03/10/27 22:53
>192
↑こうレスするのを嫌がる人もいる。

194:デフォルトの名無しさん
03/10/28 20:07
それまた自分勝手な・・・。

195:デフォルトの名無しさん
03/10/31 16:41
Web帳票もどきのシステムを作ることになったんですが、書き込み欄に
文字数で全角50000文字まで入るようにとか言われてます。(しかも複数)
varchar2では4000byteまでしか扱えないし、テーブルのカラムのほとんどを
ラージオブジェクトにするのも違う気がします。皆さん、こういうのはどうして
ますか?

つか、普通にテキストファイルに保存したほうがいいのではとも思ったんですが
上司がデータベースに拘っているので…。

196:デフォルトの名無しさん
03/10/31 17:02
テキストファイルに落としてポインタをDBに入れときゃいいじゃん…

197:デフォルトの名無しさん
03/10/31 17:18
>>195
俺は使わないけど、
LONG使ってみて。

どうなったかも報告して。

198:デフォルトの名無しさん
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:デフォルトの名無しさん
03/10/31 20:29
一本も毛の生えてない素人じゃないか?

202:200
03/10/31 22:00
やっぱり、毛という毛は1本も生えてない素人か

203:デフォルトの名無しさん
03/10/31 22:48
SEだからといって、一般人より何か知ってるかというと・・・なことも多いこの業界。

204:デフォルトの名無しさん
03/10/31 22:59
でも「素人か」って鼻で笑っちゃあSE失格だよな。
データベースに拘ってるっていうところをそのまんま
鵜呑みにしたり、理由を勝手に憶測したりしないで、
もう少し掘り下げてインタビューして顧客の真の要件を
明らかにしよう。

205:195
03/10/31 23:01
>>196,198
自分も少し考えたんですが、データベースと別に保存というのは設計として
どうなのよと思ったので自己却下しました。
そんなにおかしなことではなかったんですね。ありがとうございます。

>>197
ありがとうございます。
LONG型は1項目までしか定義できないようなので諦めましたです。

>>199
多少扱いは面倒ですが、慣れてもいるのでLOBしかないかなーと思っています。
ちなみに内容は会議の議事録と、偉い人たちのコメント等々です。
いまのところ、キーに対応した文章が閲覧できればいいようですが、全文検索
なんて言われたら…(;´Д`)

>>200
この道30年のベテランエンジニアを自称していますが、業務経験は20年前にN88-BASIC
のみという凄腕です。頭髪はだいぶ薄いですが、かろうじて残っています。



206:デフォルトの名無しさん
03/10/31 23:47
>>205
ひょっとしてNUL?

207:200
03/11/01 08:04
>>204
SEか素人かが問題ではない。
毛があるかどうかが問題だ。

大体オマイは、2ちゃんで匿名相手にインタビューして、
真の要件解析をするのか?

そんなことより、>>205より毛が生えてるエンジニアということが解析された。
俺にとっては十分な答えだ。

208:デフォルトの名無しさん
03/11/01 10:35
2chで言葉を選んでどうする
簡潔に、「ハゲは馬鹿ばっか」 でいいだろ

209:200
03/11/01 11:07
>>208
ありがとう。その通り。

210:204
03/11/01 13:11
>>207
当然、要件分析すんのは>>195だ。
つか、なんで>>200が反応するんだ?

211:200
03/11/01 13:22
>>204
暇だったから。ゴメンチャイ

212:デフォルトの名無しさん
03/11/01 13:48
スレスト依頼でもしてくるか。

213:デフォルトの名無しさん
03/11/02 13:17
すいません、SQL質問スレが見つからなかったのでここで質問させてください。
主キーにSequenceを使って連番振るときに、どれくらいのサイズにしておくものなんでしょうか?
もちろん要件によるのでしょうが。
例えば、登録件数は少ない(数100件程度)が、頻繁に追加・削除が行われるようなテーブルの場合
はどうしておくものなのでしょうか?
主キーに6桁ほど取っておいて、MAXVALUE=999999にしてCYCLEにしておく?
でもinsert時にキーがぶつかったら?
エラー処理で、insetが成功するまでnexvalで値をとり続ける?
そんなコーディングって一般的なの?
・・・普通はどんなカンジにしておくものなんでしょう???

214:デフォルトの名無しさん
03/11/02 15:32
ハァ?

215:213
03/11/02 16:55
>>214
やっぱ考え方自体がおかしい?

216:デフォルトの名無しさん
03/11/02 19:57
>>213
その程度の件数であまりSequenceなんて使ったことないけど。
世の中には、4件しか無いテーブルにインデックスはる人もいるからなぁ。

217:213
03/11/02 21:31
>>216
そ、そうなんですか。
この程度の件数だと普通どうやって連番振ってるものなんでしょうか?
すみません。あんまりこーゆー事を考えて使ったことがないもので。。。

218:デフォルトの名無しさん
03/11/02 21:49
>>217
何のために、それをするの?

219:213
03/11/03 01:40
>>218
うまく言えないんですけど・・・ あるシステム上でユーザが任意で作成できる
オブジェクトを管理するためです。
OSのファイル管理と同じようなものだと思っていただければ良いかと。
ファイルに対してユニークなキーを振るようなイメージです。

220:デフォルトの名無しさん
03/11/03 01:51
ユニークなキーを得るというのと連番を得るのは別次元でかんがえたら?

221:213
03/11/03 02:09
あ、すみません。217で"連番"って書いちゃってましたね。。。
はい、別に連続した番号でなくても良いです。ユニークでありさえすれば。
ユニークなキーを採番するためにSequenceを使うのかなと思ったのですが、
使い方間違ってるのでしょうか???

222:デフォルトの名無しさん
03/11/03 03:30
DB板でやればいいのに・・・

223:デフォルトの名無しさん
03/11/03 07:48
キーとして使うんなら、おなじキー値を再利用しなくても済むように考えた方が楽。

224:デフォルトの名無しさん
03/11/03 18:57
rowidって知らんの?

225:デフォルトの名無しさん
03/11/03 19:02
>>224
数百でrowidはでかくないか?

226:デフォルトの名無しさん
03/11/03 21:40
>>221
よくわからないけど、その数字を使うのかどうか。
使わないならSequenceなんて考えなくても
uniqueはuniqueだ。

その数字を何かに使うのであれば
そんなに重要な項目だったら
テーブルに一つnumber型の列を加えて
unique制約なりprimaryつけて、そこで管理するね。


227:のぶきち
03/11/03 22:20
オラクル初心者です。
オラクルというよりSQLに関しての質問なのですが、
SQLポケットリファレンスに載っておらず、困りはてています。

AというテーブルにUPDATEをかけたいのですが、
そのUPDATEをかける値はBというテーブルから取ってきたいのです。
AとBを結合してBの値でAを複数レコードUPDATEすることは可能なのでしょうか?


228:デフォルトの名無しさん
03/11/03 22:31
>>227
状況がよくわからないけどできます。

update文のset句の = の右辺には(select 〜 from 〜)みたい副問い合せとか
テーブル名.列名みたいなのとかもできます。

229:213
03/11/03 22:33
>>222-226
ありがとうございます。まだ私の考えが足りてないようで・・・
もう少しやり方を考えてみます。

230:のぶきち
03/11/03 22:42
>>228
お返事ありがとうございます。
ネットで調べまくったら見つかりましたが、こういうことですよね?
この例はORACLEのようなのですが、DB2やDB2/400 などでも
同じことはできるのでしょうか?(ORACLE質問スレなのにすいません)

update kprod p
set p.price =
(select new.price from knewprice new
where new.prodno = p.prodno
)
where exists
(select 'x' from knewprice new
where new.prodno = p.prodno
);

231:デフォルトの名無しさん
03/11/03 23:22
>>230
聞く前に、やってみれ。
疑問に思ったらとりあえずやってみれ。
うまく逝かなかったら調査だ。


232:デフォルトの名無しさん
03/11/09 23:03
初心者です。どなたか教えてください。。。
フラグが1である、ID、更新日、更新時間の抽出をしたいのですが、
IDと更新日が同じ場合は更新時間が古い方を取り出したいです。
その際、GROUP BY句を一切使用せずに抽出する方法って、あるのでしょうか?
GROUP BYを使えば
SELECT id,date,MIN(time)
FROM data
WHERE flg = 1
GROUP BY id,date
と、簡単に出来るのですが・・・。

どなたか、よろしくお願いします。

233:デフォルトの名無しさん
03/11/09 23:24
まずなぜ Group By を使いたくないか書け

234:デフォルトの名無しさん
03/11/09 23:25
つうか、MIN を使う時点で GROUP BY が必須な気がするが・・・

235:デフォルトの名無しさん
03/11/09 23:31
NOT EXISTS使え

SELECT id, date, time
FROM data A
WHERE flg = 1
AND NOT EXISTS (
SELECT *
FROM data
WHERE id = A.id
AND date = A.date
AND time < A.time
)

しかし、GROUP BY使いたくないってのはなんで?
グループ化列以外の列の情報が欲しいから?

236:デフォルトの名無しさん
03/11/09 23:50
232です。ありがとうございました!!
使いたくない理由も、その通りで、これ以外のグループ化をしない他の列も
抽出したかったからです。先に理由を書かずに質問してしまってごめんなさい。
本当にありがとうございました。

237:デフォルトの名無しさん
03/11/15 17:57
Oracleとの接続というのは
VBなどで開発する場合

1.プログラム起動時に接続して終了するまでずっと接続しているのがいいのか
2.データベースアクセスのたびに接続するのがいいのか

どっちがパフォーマンスに優れているのでしょうか?


238:デフォルトの名無しさん
03/11/15 19:07
>>237
1に決まってるだろ。
2が(パフォーマンス)いいと思える理由書いてみ。

239:デフォルトの名無しさん
03/11/15 23:35
>>237
接続は思ったよりもコストが高い。
専用線接続でなければ、気にするほどのことではない

240:デフォルトの名無しさん
03/12/06 13:29
ORACLE 10gになって何が変わるの?

241:デフォルトの名無しさん
03/12/06 20:23
ORACLE EBSって何なの?

242:デフォルトの名無しさん
03/12/08 23:36
>>240
名前

>>241
良い仕事が出来るシステム
e-Business System
#本当は甘い


243:デフォルトの名無しさん
03/12/09 02:15
oracleとcenturaが繋がらなくなってしまった…

どうしよう…

244:デフォルトの名無しさん
03/12/13 00:10
NOT NULL制約を付けるとデータをNULLじゃないかチェックするから
登録時に処理が遅くなると言ってるやつがいるのですが本当ですか?

チェックするからその分遅いんだろうけど
それって0.1秒とかそんな

245:デフォルトの名無しさん
03/12/13 00:56
確かに遅くなるが、どうって事はない。
1万レコードインサートしても1秒の差は出ないと思う。

246:デフォルトの名無しさん
03/12/13 02:03
って言うか、チェックで増えるリスクより、NOT NULLキーの処理速度の向上の方が大きいのでは?
俺はトータルでは速くなると思うぞ。


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

4316日前に更新/123 KB
担当:undef