06/11/19 12:37:35 2/D9x78l
このような質問は、今後このスレでしていきましょう↓↓
質問例
DB板自治・質問・雑談スレ(432)
スレリンク(db板:432番)
2:NAME IS NULL
06/11/19 15:35:26
|┃三 `、 - 、_ _,. マ
|┃三 `ヽ、~` - 、_ , -─、._,. - ' /
|┃三 \ i' l´l l⌒l l`i /
|┃三 \ |⊂⊃~⊂⊃|_ / いやだ
|┃三 ⊂) ). ロ l⌒l ロ|)⊃
|┃三 ヽ.iコ `-´ ri/|
|┃三 , '⌒ ヽ_,. -/ヽ._,.旦,_ン. .| , - 、
|┃三 ,. - '~`ヽ `ヽ、 :|, -~─'─ 、_
|┃三 >-─-、 | , -─-、. `── ` ヽ
|┃三 , ' |::| | | | ,──、 / ̄ ̄ヽ i_.
3:NAME IS NULL
06/11/19 16:10:11
来週、職場にSANが導入されるのですが、新米DBAの自分に扱えるのかどうか?
そのSANってのは、8本HDDで構成されるRAIDなんだそうです。
それで、オラクルエキスパートの皆さんに質問したいのですけど
ASMを使ってSANを扱う場合、ディスクグループは単純にデータ用と
リカバリ用の二つにしちゃっていいでしょうか?
テーブルスペースも、テーブルと索引で分けたりする必要ないような
気がしてます。
4:NAME IS NULL
06/11/19 20:39:14
裸に靴だけってかなりエロくね?
スレリンク(shoes板)
8 名前:足元見られる名無しさん[] 投稿日:2006/11/19(土) 19:33:06 ID:kUtuSe4x
>>6
カワユスw脚キレイー
自衛隊員のお姉ちゃんの昔履いてたアーミーブーツ?みたいなのあった。
裸にコレって結構エロかっこいいと思うんだけど。
ちょっと試着(笑)してくるノシ
5:NAME IS NULL
06/11/21 13:23:28 ZVoUNrAm
すいません。PL/SQL でカーソルを作って select させるときに
1レコードごとに %rowtype の変数に入れられますが、この時
カラムの名前が事前に分からない場合はどうしたらいいんで
しょうか?
DECLARE
CURSOR c IS SELECT * FROM x;
BEGIN
FOR r IN c
ここで r の内容を全部出したい。
END FOR;
END;
/
実際にやりたいのはCSV出力です。
6:NAME IS NULL
06/11/21 13:52:21
あ、FOR の辺りちょっと間違えた。
すいません。FOR r IN c LOOP ~ END LOOP; ですね。
7:NAME IS NULL
06/11/21 20:23:50
>カラムの名前が事前に分からない場合
多分、無理なんじゃないかな。
EXCEL/VBAで、ADOとかoo4oを使えばできるけどね。
カラムを番号で取れるから。
8:NAME IS NULL
06/11/22 00:50:48
>>5
そのケースで言う
x表の定義が確定してないってこと?
それとも表は決まってて、使う列が不明ってこと?
前者だったら結構苦しい方法を取ることになるのかのう
9:5
06/11/22 21:38:29 7Hi0ms3O
>>7
本とかも立ち読みして色々調べてみましたが、段々と無理っぽいことが分かってきました。
>>8
表の定義が変更された時に一々書き換えるのが面倒だなと思ったんです。
10:NAME IS NULL
06/11/25 20:39:16 fB7Zbtis
すみません、お尋ねしたいことがありますが
OracleのiSQL*Plusの起動はできたのですが、ログイン時のユーザ名はどこから参照すれば見つかりますか?
パスワードはわかるのですが、ユーザ名が・・・
なので、アドバイスお願いします。
11:NAME IS NULL
06/11/26 15:34:54
そのユーザーは自分で作ったの?
デフォルトで作成されるユーザーならSYSかSYSTEMで試してみなさい
(SYSDBA,SYSOPER接続で)。
デフォルト以外のユーザーならとりあえず、接続できないと、
参照できん。
12:NAME IS NULL
06/11/27 09:51:34 3lLbgr1L
Oracle10gで
データベースAをexpするとログは日本語ででてくるのですが
データベースBをexpするとログは英語で吐き出されます
コレを英語で統一したいのですがどのようにすればいいか教えていただけ無いでしょうか?
13:NAME IS NULL
06/11/27 11:44:47 3lLbgr1L
まじであんなしょぼ更新2回かよ
11時と11時30
14:NAME IS NULL
06/11/27 21:39:12
Linuxに入れたOracleをtarで固めて別のLinuxに移行する時って、
どのディレクトリとファイルを移動したらいいの?
とりあえずoracleが入ってるディレクトリと、/etcだけ移動してみようかと思ってるんだけど
15:NAME IS NULL
06/11/27 22:22:16
>>12
NLS_LANG
16:NAME IS NULL
06/11/27 23:24:18
14の方は釣りですか?
17:NAME IS NULL
06/11/27 23:25:03
動くことは動くだろ
18:NAME IS NULL
06/11/28 07:12:54
どうだろ?
19:NAME IS NULL
06/11/30 20:38:04
windowsで2ノードRACを組もうと思ったら、最安の構成はなんでしょうか?
できるだけ今ある機器を生かしたいです。検証用なので可用性は二の次でいいです。
現在ある機器はWIN2Kサーバが入っているPC2台/NIC6枚/玄箱1個です。
2万以内なら機材購入可能です。
Linuxなら玄箱が使えるようなんですが。
20:NAME IS NULL
06/12/01 09:58:40
なんの検証なのかわからないけど、組んで動かすだけならW2K Serverにメモリを
2G以上にして仮想PC突っ込めば1台で済むんじゃね?
21:NAME IS NULL
06/12/02 00:36:12 URXeSl2Z
ここまで揃ってるのに、VMを薦めるのはどうかな。
SCSIカード2枚・・・・AHA-29160あたりで大丈夫@1,000~2,000
外付HDD・・・・中身がIDEのじゃなくて純SCSIのもの。@5,000~15,000
SCSIケーブル・・・・これが難しい。SUNやHPの中古が見つかればグー。新品は高い。
あとは、SCSIカード - HDD - SCSIカードをデイジーチェーンで。
これでちゃんとしたRACの出来上がり。サポートだって受けられる。ノードは増やせないけどね。
外付HDDはunipackやNTCあたりのが中古で安く買えるんでないかと。
急ぐならottoあたりで、ヤフオク覗けば安いのもある。ケーブルは粗悪品を掴まないよう注意。
以上、机上論でやった事ない(w 成功を祈る。
22:NAME IS NULL
06/12/02 01:05:23
なんでVMを‥‥って、お前は最初に「2万以内なら機材購入可能」と
条件ついていたのが読めんかったのか?
23:NAME IS NULL
06/12/02 02:42:36
検証用ならVMでいんじゃねぇ?
もしくは、マニアックに実際にRAC組んで満足したいならそれでもいいが、
どうせすぐあきると思う。
24:NAME IS NULL
06/12/02 10:11:50
VMWareをVMというのはやめないか。
25:NAME IS NULL
06/12/02 12:32:48
>>22
21は楽勝で2万以内なんじゃね?unipackの中古なんて安いしいけると思う。
Unipack2個買ってASMで冗長化までいけるかも。
FC考えてたから敷居が高かったけど、SCSIなら安く組めるんだねぇ。
NIC余ってるからのチーミングでインターコネクトも冗長化できるかも。
俺もSCSI押したいね。ぜひ報告よろ>>19
26:NAME IS NULL
06/12/02 21:05:00
誰かVMwareのつもりで使っている人がいたのか?
>24 以外の人で。
27:NAME IS NULL
06/12/03 19:08:37
なるほど、SCSIでいけるんですね。
PCIが64bitじゃないですけど、大丈夫でしょうか。
まあ、やってみます。tarも使いたいですし、推奨構成なのは大きいです。
自分では考え付きませんでした。相談させていただいて良かったです。
本当にありがとうございました。
仮想PCを薦めてくれた方もありがとうございました。
結果は報告させていただきます。
28:NAME IS NULL
06/12/06 21:40:19 n5iQdNX2
質問です。
PL/SQLで、CURSORのSELECT分に
IN句をつかっているんですが
そこの値に配列を渡して処理することは可能でしょうか?
29:NAME IS NULL
06/12/09 03:16:17
初心者の質問、ごめんなさい。
プロシージャの中で関数を使いたいんですけど
「PLS-00201 関数名を宣言してください」って出ちゃいます。
どうしてでしょうか、、、
下がだいたいの私のコードです、、、
create or replace function func1
( p_string in varchar2)
return number
as
l_number number;
begin
......
end;
/
CREATE OR REPLACE procedure proc1(
in_num in number
)
as
anum number
begin
anum := func1('1');
end;
/
どなたかご存知の方がいたら
よろしくお願いしますm(__)m
30:NAME IS NULL
06/12/09 13:37:22
>>29
procedure の実行権限が付与されていない可能性があります。
31:27
06/12/10 14:14:33 Q2S38gbG
無事構築できました。
SCSIカード ASC-29160(中古) \2,000×2
外付HDD SUN Unipack(中古) \6,000
SCSIケーブル KB-WSAM1(新品) \4,000×2
合計 約\18,000
でRAC組めました。
アドバイスいただいたとおり、ケーブルが厳しかったです。
中古を探している余裕がなかったので、安い新品探して購入しました。
インストールも全く問題なく、無事に検証環境ができました。
アドバイス、本当にありがとうございました。
32:NAME IS NULL
06/12/11 10:23:20 E6HiKDK4
>>31
あ、行けたんだ。おめでとう。
新品にしてはケーブル安いな~。ottoの中古より安いよ。
VHDCIと68ピンか。ジャンクを探すのは確かにしんどい。
その値段なら買って正解だと思うよ。
2万で出来るのか~。
33:NAME IS NULL
06/12/11 17:37:22 Jr+OMzZp
Named User Plusライセンスについてなのですが
例えばwebアプリを通してDBにアクセスするシステムを、使う可能性がある人が50人居たとすれば
50人分のライセンスが必要なんでしょうか?それともwebサーバーを一人と見なしてライセンス1個でいいんでしょうか?
34:NAME IS NULL
06/12/11 19:40:29
>>33
50人分になる。
35:NAME IS NULL
06/12/11 22:01:27
テーブルを作成する時、別テーブルと同じ索引名を指定してしまった
のですが、この場合どうなるんでしょうか?
索引を再作成しないといけないのでしょうか?
36:29
06/12/11 23:45:14
>>30
できました!お返事遅くてごめんなさい。
どうもありがとうございます!!
37:NAME IS NULL
06/12/13 16:31:14
SQL Serverを長く使っていたのですが、Oracleを利用する事になりました。
Create文を作る際、
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TABLENAME]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[TABLENAME]')
GO
と入れておくと、テーブルが既に作られていた場合はDROP TABLEを実行するのですが、
OracleでこのようなSQL文は書くことが出来るのでしょうか?
PL/SQLでは BEGIN内で更新関係のSQL文はNGらしく悩んでます。
38:NAME IS NULL
06/12/13 22:28:56
俺の知識が正しければ無理。
DROP TABLE ~
/
CREATE TABLE ~
/
の様にセットで書いたら?
存在しないテーブルに対してDROPするとエラーになるが、悪さはしないので無視すれば良い。
一番楽なのは Object Browser 等でテーブルの一覧を全選択して右クリックで削除を選択するとか。
但し、間違えた時のリスクを考えると、この方法はお勧め出来ない。
以下の方法とかもあるけど、そこまでしなくてもいいと思う。
DECLARE
CURSOR CUR IS
SELECT A.OWNER, A.TABLE_NAME
FROM ALL_TABLES A
WHERE A.OWNER = 'USR01' AND A.OBJECT_TYPE = 'TABLE';
BEGIN
FOR CU_REC IN CUR
LOOP
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE ' || CU_REC.OWNER || '.' || CU_REC.TABLE_NAME;
DBMS_OUTPUT.PUT_LINE('DROP成功 : ' || CU_REC.OWNER || '.' || CU_REC.TABLE_NAME);
EXCEPTION
DBMS_OUTPUT.PUT_LINE('DROP失敗 : ' || CU_REC.OWNER || '.' || CU_REC.TABLE_NAME);
END;
END LOOP;
END;
/
※自宅にORACLE環境が無いので動かしていないから、正常動作するかは分からないよ。多分大丈夫。
39:NAME IS NULL
06/12/13 22:35:04
ちょこっと修正
DECLARE
CURSOR CUR IS
SELECT A.OWNER || '.' || A.TABLE_NAME AS TBL
FROM SYS.ALL_TABLES A
WHERE A.OWNER = 'USR01' AND A.OBJECT_TYPE = 'TABLE';
BEGIN
FOR CUR_REC IN CUR
LOOP
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE ' || CUR_REC.TBL;
DBMS_OUTPUT.PUT_LINE('DROP成功 : ' || CUR_REC.TBL);
EXCEPTION
DBMS_OUTPUT.PUT_LINE('DROP失敗 : ' || CUR_REC.TBL);
END;
END LOOP;
END;
/
40:NAME IS NULL
06/12/15 00:26:23 AN/K2Elz
くだらない質問かもしれませんが、、、
UPDATE文でWHERE句で条件絞って、NULLで
更新をかける、sql文があります。
対象レコード数に大きな変動が無いにも関わらず
sqlの処理時間にバラつきが・・・
テーブルはバッファキープ有効に設定しています。
原因を思い当たる方がいらっしゃいましたら
ご指導くださいませ;
41:NAME IS NULL
06/12/15 01:47:57
>>40
①個別に↓を流した後に update しても処理時間がばらつくか、試してみて。
alter system switch logfile;
alter system flush shared_pool;
alter system flush buffer_cache;
②統計情報や実行計画は取得してみた?
③nullに更新する列の長さが、レコード毎に大きく異なることはないよね?
42:NAME IS NULL
06/12/16 12:46:47
>>37
>PL/SQLでは BEGIN内で更新関係のSQL文はNGらしく悩んでます。
動的なら可能
43:NAME IS NULL
06/12/16 12:56:21
インストール時に選択しなかったんだと思いますが、
exp/impのexeファイルがbin下にいない端末があります。
これはexp.exeとimp.exeだけを他端末からコピーしてくれば動きますか?
それともoracleのインストールからやり直さないとダメですか?
44:NAME IS NULL
06/12/16 17:32:14 4ZspRBrb
>>43
exp/impをインストール時に選択できないんじゃぁ・・・。
誰かがexeファイルを消してしまった可能性があるなら
単純にコピーでおk
45:NAME IS NULL
06/12/21 14:22:06
RHEL ESver4上に、ORACLE10gR2をインストールしました。
その後、DBCAでデータベースを作成し、NETCAでリスナーを
作成しました。
データベースはstartできたのですが、リスナーが起動できません。
リスナーを起動すると以下のエラーが出力されます。
リスナーの設定はいろいろといじってみましたが、変わりません
でした。9iで使用していた設定でもだめでした。
一応自分でも調べましたが、分かりませんでした。
もしかしたらOS側の設定かなという気もします。
原因わかりましたら教えてください。
エラー内容
TNS-12537:TNS:connection closed
TNS-12560:TNS:protocol adapter error
TNS-00507:Connection closed
Linux Error:29:Illegal seek
46:NAME IS NULL
06/12/21 18:59:47 R8+8OtYh
10gで文字化けを起こしてしまう一覧を紹介してくれているところはない
でしょうか?
今までは化けてしまうものは外字登録でごまかしていたのですが、最近
は遠隔地のお客さんや数十台使用のおきゃくさんが増えてきたので、し
っかりと対策を練りたいと考えています。
47:NAME IS NULL
06/12/21 23:55:08
文字化けは10gだからとか関係ない。
データベース、アプリケーションサーバー、クライアントがどの文字コードを使うかによって
変わる。
48:NAME IS NULL
06/12/23 18:28:21 7fqq+QaR
table T にa、b、cのカラムがあり且つa、b、cでPKの場合
where a=1、b=2とすると全件操作よりは効率いいもんなんでしょうか?
49:NAME IS NULL
06/12/23 18:50:57 fExmKA+s
Java+Oracleのシステムでの話です。
データを絞り込んで取得する場合、SQLで複問い合わせを駆使して取得するのと、
Java側で全件取得後絞り込むのでは、ネットワーク転送負荷を考慮しない場合、やはりSQLでやらせたほうが高速なのでしょうか?
50:NAME IS NULL
06/12/23 19:29:38
>>48
PKがa,b,cの複合インデックスになってるはずだから、
a,bなら前方一致でインデックスが効くはず。
>>49
プログラム側で全件取り込む発想をするやつは癌あつかいされるから気をつける!
51:NAME IS NULL
06/12/23 19:51:48
>> 49
件数がおおいなら、Oracleで絞り込んだほうが速いと思うけど。
52:NAME IS NULL
06/12/23 20:10:17
>>50
ありがとう。
PKの定義順で変わるということですか。
例えばb、c、aと定義すると
where b=1、c=2は前方一致というやつで全件検索しない
where c=1、a=2とすると全件検索。
正しい?
53:NAME IS NULL
06/12/23 21:22:25
> >>49
> プログラム側で全件取り込む発想をするやつは癌あつかいされるから気をつける!
そうだね。
Javaに展開されるコストをかんがえれば、全件取り込みのデメリットはわかるとは思うけど。
54:NAME IS NULL
06/12/24 00:39:59
>>52
OK
55:NAME IS NULL
06/12/24 03:47:21
>>54
どうもありがとう
56:NAME IS NULL
06/12/24 19:01:48
>>54
おま。OKってよりYESって言うべきだろ。そこ。
57:NAME IS NULL
06/12/26 22:34:18
Oracleの一時テーブルって同じテーブルでもセッション毎に違うデータを持てるるんですよね?
今、Oracle10gとAccess2003でCS型のシステムを作ってるんですけど
Access側からストアドを起動してOracleの一時テーブルにデータを書き込んで
そのデータは取っておきたいからローカルテーブルにコピーしておこうと思ったら
なんとセッションが違うのでリンクテーブルやパススルークエリではデータをもってこれませんでした。
なにかいい方法ありませんかね?
今は、レコードセットを取得してループさせて1レコードずつローカルテーブルにコピーしてるんですけど
どうにも遅くて困ってます。
58:NAME IS NULL
06/12/26 23:12:41
だから一時テーブルだと思うんだが。
59:NAME IS NULL
06/12/26 23:38:15
なんですってー!
ありがとう>>58
60:NAME IS NULL
06/12/27 14:01:16 ZriWyeGJ
RACについて教えてください。
RACは一つのサーバが故障しても他のサーバが稼動していれば大丈夫
ってことららしいんだけど、
共有ディスクの故障についてはどう対策しているんでしょう?
別にスタンバイDBでレプリカ作ったり
データガードを導入しないといけないのかしら?
61:NAME IS NULL
06/12/27 17:59:37 ZnqaKKoc
>>60
共有ディスクが故障したらオシマイ。
要件にもよるが・・・。
外部記憶媒体からのバックアップがNGなら
データガードを使うしかなかんべ。
62:60
06/12/27 18:35:01
やっぱRACだけじゃダメなのね。
ありがとう!
63:NAME IS NULL
06/12/29 09:46:59 KzbHeGcY
9i以降ってローカル管理表領域を使うのが一般的だと
思うのですが、テーブルのエクステント数って気にするべきですか?
オラクルが自動管理しているみたいなので不要?
64:NAME IS NULL
07/01/05 21:32:25 kpayA3aZ
初歩的な質問で申し訳ありませんが…
Oracle10gに対し、VB2005でODP.NETを利用して接続を試みてるのですが
接続がうまくいきません。
【VB2005 ソース】
’一番先頭に宣言
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
’SUB内
Dim con As New Oracle.DataAccess.Client.OracleConnection
con = New Oracle.DataAccess.Client.OracleConnection()
con.ConnectionString = "User Id=USR; Password=PASS; Data Source=ORCL"
con.Open() ← ここでエラー「ORA-12154:TNS:指定された接続識別子を解決できませんでした。」
と、なってしまいます。
tnsnames.ora内では
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HOST名)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
SQL*PLUS上では、「connect USR/PASS@ORCL」で接続可能です。
開発端末には、Oracle10g Cliantを管理者ベースで導入しました。
VS2005 Professionalはインストール後、「参照の追加」でOracle.Data.Access(10.2.0.100)は追加しました。
VS2005上のサーバークスプローラーからはデータの接続は可能です。
レジストリ上のORACLE_HOMEもきちんと設定されています。
正直、この後、何を調べれば良いのか想像もつきません…
どなたか、ご教授いただけないでしょうか…
65:NAME IS NULL
07/01/06 11:00:50
接続文字列の最後の要素の後にも;追加してらどうなる??つまり
"ほにゃらら・・Password=PASS; Data Source=ORCL;"
ORCLの後にも;ね。
66:NAME IS NULL
07/01/06 16:31:47 hltvdUi7
>>65
ありがとうございます。
しかし、それも試しましたが、結果は同じでした…
なんか、基本的なトコを何か見逃してるのかも知れません…
67:デフォルトの名無しさん
07/01/06 22:07:03
>> con = New Oracle.DataAccess.Client.OracleConnection()
これ必要か?
68:NAME IS NULL
07/01/07 18:07:23 TuWvDd0G
>>67
無い場合もやって見ました。でも、結果は同じだったので残してあっただけです。
申し訳ありません。
69:NAME IS NULL
07/01/07 23:22:00
>>64
(SERVER = DEDICATED)
70:NAME IS NULL
07/01/09 08:17:56
Oracle初心者です。もしかするととんでもない質問かもしれませんが、ご教授ください。
expでエクスポートするとdmpファイルを作成できますが、
このdmpファイルのファイルサイズを見積もることは可能なのでしょうか?(レコード件数や表領域の大きさ等で)
よろしくお願いします。
71:70
07/01/09 08:20:14
言葉不足でした。
目的は、dmpファイルを外部媒体にバックアップしたいのですが、
どれくらいの容量を想定すればいいのかが分かればと思います。
72:NAME IS NULL
07/01/09 10:09:23
>>70
レコード件数に比例する。
表領域の大きさは関係しない。
中をのぞくと、create tableやinsert命令がなまに近い(そのままではないが)形で
書き出されているのがわかる。
73:NAME IS NULL
07/01/09 10:48:20 NpJ7dbVJ
>>69
ありがとうございます。
tnsnames.oraを下記のように修正してやって見ました。
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
が、やはり駄目でした…orz
SERVICE_NAMEをSIDに直したり、HOSTをIPアドレスにしたりも
しましたが、「ORA-12154」のメッセージは変わりません…
ひょっとして、Oracle.Data.Access(10.2.0.100)はVS2005に
対応していないのでしょうか?
74:NAME IS NULL
07/01/10 00:11:29
>>73
Oracle.Data.Access(10.2.0.100)+VS2005で試してみたがちゃんとつながる。
なんの問題もない。
FireWallとかの設定じゃないの?
75:NAME IS NULL
07/01/10 12:46:55 7lHXEzdc
>>74
ありがとうございます。
FireWall完全に切って見ても駄目でした…
ひょっとしたら、サーバ側に何か製品が足りないのかも知れません。
それか、VS2005の環境か?
両方の製品から洗い直しして見ます。
76:NAME IS NULL
07/01/11 13:07:44 FFqUR/Nn
DBLINKを使用したトリガーは作成可能でしょうか?
77:NAME IS NULL
07/01/13 01:09:01 bK5WbtzQ
SQLで質問があります。
データ型Intervalを比較して出力するにはどのようなSQL文を書けば良いのでしょうか?
例えば、工事計画のテーブルで工事日数(Intervalで設定)が30日以上かかる物のみを出力する、といった感じです。
ググっても出てこないので困り果てています。
78:NAME IS NULL
07/01/14 18:12:58
flashbackの動きについて教えてください。
下記手順で、IDの登録前にflashbackさせたいのですが、
「create restore point YYYYMMDD」の段階で
「権限が不足しています」とエラーが表示されます。
insertやdeleteもできる権限でsqlplusにログインしているので
権限不足というのは考えづらいのですが、
他に原因となりそうな点はないでしょうか?
server$ sqlplus
(ID/PW入力)
SQL> create restore point YYYYMMDD;
SQL> insert into user_id (id,pw) values('user0001','password');
SQL> insert into user_id (id,pw) values('user0002','password');
SQL> .
SQL> .
SQL> .
SQL> insert into user_id (id,pw) values('user0009','password');
SQL> flashback table user_id to restore point YYYYMMDD;
79:NAME IS NULL
07/01/14 20:28:03
>>78
SELECT ANY DISCTIONARY
FLASHBACK ANY TABLE
SELECT CATALOG ROLE
の権限はあるのかな? insert/delete ができるのとは違うよ。
80:NAME IS NULL
07/01/14 21:28:24 +96OC+CX
画像などバイナリファイルを、
BLOB型で登録するのと、
データストレージなどに登録するの、
どちらが良いでしょうか?
レスポンスよりも、
なるべくデータ容量が少なく済むほうがいいです。
81:NAME IS NULL
07/01/14 22:49:05 rvkZDUbj
>>79
ちょっと確認しておきます
自分で立てたDBじゃないもので・・・
82:NAME IS NULL
07/01/14 23:42:58
>> 80
管理とかバックアップとかが楽なほうが良ければBLOBという気がする。
実装が楽なのは、データストレージなんじゃないんかな。
ディスクはそれほど変わらないんじゃない?
83:NAME IS NULL
07/01/15 16:37:19
Oracleにはテーブル定義をSQLスクリプトとして出力する機能は標準ではついていないのですか?
84:デフォルトの名無しさん
07/01/15 21:10:20
標準では無い希ガス。
まぁ、簡単なSQLで取れるから必要ないっちゃ無いけど。
85:NAME IS NULL
07/01/20 22:24:43
あのゴミ屑みたいな
エンタープライズマネージャーコンソール
というjavaアプリはなんですか?
86:NAME IS NULL
07/01/21 16:59:47
データベースリンクってどういうときに使うの?
87:NAME IS NULL
07/01/21 22:59:22 GASWVjjK
すみません、オラクルへの接続で教えていただきたいのですが。
C#を使って、他の部屋にあるデータベース(Oracle9i)マシンにアクセスする仕組みを作ろうと思ってます。
設定画面で、OracleマシンのIPアドレス,SID,User ID,Passwordを入力してもらって、
その情報を使って接続したいのですが、
ODP.NETを使って接続するときに、対象のマシン名(IPアドレス)を指定したいときには
どのように記述すればいいのでしょうか?
ConnectionStringに書く「Data Source」でうまく指定できないものかと調べたんですが
どうしても見つけられませんでした。。。
88:87
07/01/22 01:28:58
自己解決しました。もっといい方法がある気はするんですが、
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))
って、ゆーふーに、tnsnames.oraの中身をまるごと書いたらつながりました。なんか、無理やりな感じ。
あ、exp.exeも別マシンから動かしたいんだけど、もしかして
exp.exe username/password@(DESCRIPTION=....略)
って書いたらつながるのかな??
89:NAME IS NULL
07/01/22 10:26:24
本末転倒なんだよ。
DataSource(Connection String)につらつらと書かないようにするために、
tnsnames.oraがあるといってもいい。
90:NAME IS NULL
07/01/22 17:20:42
Oracleとしてはクライアントのスタックを複数バージョン準備したくないのはわかるけど
JDBCのタイプ4ドライバでやっちゃってるからね。
クライアントのインストールや設定がめんどいというのはあちこちで噴出している。
91:NAME IS NULL
07/01/22 22:37:46
すいません。どなたか教えてください。
SQL loaderで空ファイルをよみこんだときに、
エラーにならない指定の仕方がCTLファイルにあったりしますか?
オラクルはバージョン9iです。よろしくお願いします。
92:NAME IS NULL
07/01/24 03:45:52 GuuZrrLS
oracle 11からDB2 V9みたくXMLを使えるようにならないの?
ハイブリットDBにならないかってことなんだけど、どうっすか?
93:NAME IS NULL
07/01/24 08:25:07
>>92
Oracle 9i から使えるようになっているけど。
URLリンク(otn.oracle.co.jp)
94:NAME IS NULL
07/01/24 14:39:07
Xqueryが使えるわけではないし。
95:NAME IS NULL
07/01/24 14:59:47
「DB2 V9みたく」のみたくの部分を説明してないのが悪いな。
Oracleスレなんだから他のDBのことは知らない前提で質問しなきゃ。
96:デフォルトの名無しさん
07/01/24 15:30:28
Xqueryなら10gで使えるみたいだが。
97:NAME IS NULL
07/01/24 18:02:30
>>95
すいません、DB2 V9からXQUERY使ってデータを抽出することが
できるようになったけど、Oracle 10gじゃまだのような事を書いてあったので
つい聞いてしまいました。
98:NAME IS NULL
07/01/25 22:12:59 DBDmUo23
ひとつ教えて下さい。
なんでTABLEよりINDEXの方が
EXTENTが発生しやすいんでしょうか?
Oracleの構成か何かに関係するのでしょうか?
99:NAME IS NULL
07/01/25 23:02:34
そのINDEXのextentが小さく設定されてんじゃないの?
100:NAME IS NULL
07/01/25 23:07:01
RACについて教えてください。
障害が発生したときに引き継げるのは、参照系の処理だけですか?
DML文はコミットされていないと、ロールバックしてしまうという認識でよろしいでしょうか?
101:NAME IS NULL
07/01/25 23:15:56
>>100
はい。
102:NAME IS NULL
07/01/25 23:51:10 ofnhzpct
今、alter index hogehoge rebuild中なのですが、3時間経っても終わりません。
ALRT.logを見るとREDOログのスイッチが頻繁みたいですが、今REDOログを追加しても大丈夫でしょうか?
また、alter index をkillすることって、問題でますでしょうか?
103:NAME IS NULL
07/01/26 00:26:12 kZYgLqFu
>>102
はい。
104:NAME IS NULL
07/01/26 00:44:45 f66EjlV5
>>105
105:NAME IS NULL
07/01/26 00:52:13
>>101
ありがとうございます!
106:102
07/01/26 02:15:54 iorL0FSf
>>103
ありがとうございました。
alter indexをkillするにはどうしたらよいのでしょうか・・・
107:NAME IS NULL
07/01/26 22:51:43
>>106
alter indexを実行しているSQL*PlusのPIDを指定してkillしたらいいんでは?
108:NAME IS NULL
07/01/26 23:03:57
alter system kill session...
109:NAME IS NULL
07/01/26 23:09:30
オブジェクトブラウザでセッションを右クリックして…
110:NAME IS NULL
07/01/27 20:13:54
質問です。
登録してあるプロシージャやパッケージの一覧を取得したいのですが、
それを取得できるSQL文はありますでしょうか?
111:NAME IS NULL
07/01/27 20:49:19
USER_PROCEDURESとか、そこら辺のテーブルをSELECTすれば一覧が取得できる
112:NAME IS NULL
07/01/27 23:18:40
>111
ありがとうございます。
PROCEDURESの部分を変えれば、パッケージとかもできるんですね。
113:NAME IS NULL
07/01/28 00:21:21
んなめんどくさいことを・・・
user_objectsからとれば一発だろうに。
114:NAME IS NULL
07/01/28 13:33:42 G2ff/8aP
突然ですまんが知ってたら教えてほし
オラクル7をアンインストしたいのだがいい方法はないかな?
インストしたときのCDはない状態。ちなみにインストーラーでソフトを選んで削除ってやってもエラーではじかれるんだよ………
古い時代の話しですまんがたのむ
115:NAME IS NULL
07/01/28 17:26:50
エスパーさ~~~ん出番ですよ~~~
116:NAME IS NULL
07/01/28 17:44:53
今日はもうMPを使い果たした
117:NAME IS NULL
07/01/28 18:57:12
>>114
ORACLE_HOME配下やデータファイル等をごっそり
rm -rfしたらだめなの?
118:NAME IS NULL
07/01/29 23:19:06
ものすごく基本的な質問なんですが、
like 'AAAA%'とlike 'AAAAAA%'で「AAAAAA01」を検索した場合、
どちらのほうが早く検索できるんでしょう?
119:NAME IS NULL
07/01/30 22:27:26
>>118
どうだろ?
インデックスが張ってあって、AAAABB01みたいに
AAAAではじまるAAAAAA01以外のレコードがいっぱいあったら、
ike 'AAAAAA%'の方が早いのかな?
120:NAME IS NULL
07/01/31 06:45:12
まあ、そうだろうな。
121:NAME IS NULL
07/01/31 13:31:10
>>114
プラットフォームぐらい書いたら?
122:NAME IS NULL
07/02/06 23:33:50
ちょっと質問です。
10gR2のData GuardでFSFO使用したときの切り替え時間ってどれくらいですか?
環境にもよるだろうけど、参考程度に教えてください。
OSは本当はWindowsがいいけど、なんでもいいです。
123:NAME IS NULL
07/02/06 23:50:05 YVgAO3V9
すいません。お願いします。
Windows環境でインスタンス作成したときに
データファイルとか制御ファイル、REDOとかの物理ファイル名が
すべて大文字になってしまうんだけど
これって仕様?
例)SYSTEM.DBF
124:NAME IS NULL
07/02/06 23:59:26
なるね。
仕様じゃね?
125:123
07/02/07 00:09:23 6GMeNunB
>>124
サンクス
普段、UNIXでしかOracleいじってなくって
何故、大文字になるのかわかんなかったんですよ。。
仕様っぽいですよね。。
126:NAME IS NULL
07/02/07 07:40:14
>>122
最新のログが当ってるんだったら、そんなに時間はかからなかったと思うぞ。
それこそ1分以内だろ。
127:NAME IS NULL
07/02/07 09:06:02
>>114
1. Oracle関連サービス停止
2. Oracle関連のpath削除
プラットホームが
==================================================
3-1 unix系
3-1-1 Oracle関連のフォルダ、ファイル削除
3-1-2 Oracle起動ユーザ用設定ファイルの削除
--------------------------------------------------
3-2 windows系
3-2-1 Oracle関連のレジストリ全削除
3-2-2 Oracle関連のpath削除
3-2-3 再起動
3-2-4 Oracle関連のフォルダ、ファイル削除
==================================================
128:NAME IS NULL
07/02/07 22:06:19
oracle 10g に SQL Server 2000等で言う
DBCC shrinkdatabase の様な機能ってあります?
129:NAME IS NULL
07/02/07 23:32:44
Reorgしてデータファイルのリサイズかねぇ?
130:NAME IS NULL
07/02/08 21:10:52 6b7QxCkW
初歩的な質問ですいません。
Oracle9iにstandard edition one って適用されるか
分かる方いますか?
131:NAME IS NULL
07/02/08 21:20:36
ない。
132:NAME IS NULL
07/02/09 13:44:15
Internet経由でOracleを外部に公開しようと思ってますが接続できませんが
何か方法はありますでしょうか?
やったこと。
・ルータのポート変換を使ってWANポート(61521)からOracleサーバのポート1521へ変換
してルーティングを設定。
もしかしてPort1521だけではだめで他のポートも併用とかしてるのでしょうか?
tnspingとかでやっても反応なし・・・・名前が解決できないといわれました・・・
133:NAME IS NULL
07/02/09 23:41:58
>>129
さんくる
134:NAME IS NULL
07/02/10 00:05:48
>>132
tnsnames.oraの設定は問題ないんだよな?
LAN内部ではちゃんと問題なく繋がるんだよな?
それと外部からはちゃんとそのサーバーの名前も解決できるように
DNSとかに登録されてるんだよな?
例え登録されていないとしても、tnsnames.oraにはちゃんとWAN側の
IPが書かれているんだよな?
135:NAME IS NULL
07/02/10 00:27:41
Oracleを外部に公開するんは止めて(><)
136:NAME IS NULL
07/02/10 08:59:16
>>134
はい。別のプロトコルでは接続可能です。
137:NAME IS NULL
07/02/10 15:26:42
Oracleを外部に公開するんは止めて(><)
138:NAME IS NULL
07/02/11 14:41:22
>>136
というか、名前が解決されていないからtnsnames.oraの記述が
問題の様な気がするんだけど?
それとtelnetでport 61521を叩いたらちゃんとlistenerが応答
してくるんだよね?
139:NAME IS NULL
07/02/14 16:44:38 zf43vtTF
助けてください。。。
環境
Windows2000 ServicePack4
Oracle 8.1.6
にて、間違って
Oracle Database Configuration Assistant より
データベースの作成をして、既存のデータベースをマウントしてしまったんです。
どうにか既存のデータベースを復旧する方法はないでしょうか?
新しく作ったデータベースはどうなっても構いません。。。
140:NAME IS NULL
07/02/14 19:46:02
バックアップはないの?
141:139
07/02/14 20:10:29
バックアップ・・・
取ってません(; ´д`)
既存のデータベースとは別個に新たにデータベースを作成できると思っていたので…
やっぱり無理ですかね・・・
マスタのデータ内容・・・
紙に落ちてるかなorz
142:NAME IS NULL
07/02/14 21:08:51
新しく作ったのと既存のとでSIDが違えば大丈夫だろうけど、
>>139 には無理そうだね。
143:139
07/02/14 22:22:37
>>142
データベース作成→標準(推奨)→データベース・ファイルの新規作成→汎用→
同時接続ユーザー数 15→オプション 全て→
グローバル・データベース名・SID
ここで設定した内容のことですよね?
ここは既存と新規では変更しております。
ほぼオラクルの知識はないのですが、どうにかして復旧を行いたいです。
復旧の仕方を書いてあるサイトへの誘導、もしくは解説をお願いできませんでしょうか。
ちなみに、ODBAの方には既存のデータベース情報が残っているのですが、
接続しようとしますと、ORA12154:TNSエラーで怒られます。
144:NAME IS NULL
07/02/14 22:47:59 LPNcYjWE
>>143
別のDBが作られてるだけじゃね?
元のDBはそのまま残っていると思うが?
DOS窓から
SET ORACLE_SID=<元のSID>
って環境変数を設定して、そのままSQL*Plusでつなげてみれば?
145:139
07/02/14 22:55:01 MdpzENka
>>144
ありがとうございます。
退社して終電の中なので、明日一番に試させていただきます。
146:NAME IS NULL
07/02/15 00:07:14
>>143
DBのデータファイルの作成先も違うディレクトリ(もしくはディスク)上に
したんだよね?
既存のDBが動いているんだったらプロセスつかんでいるはずだから、
上書き出来ないとは思うんだけど、最悪の事態としては現行以外の
Redologが上書きされちまってるかもね。
でもその場合だったらRedo再作成すればいいし、まだ復旧の望みは
残されているな。
でも多分>>144が言っている様に別DBが作られていて、デフォルトで
繋げるSIDが新規DBの方になっているだけと思われ。
147:NAME IS NULL
07/02/15 00:37:00
別々のサーバーにある2つのDBのテーブルを結合して結果を抽出、とかってできますか?
148:NAME IS NULL
07/02/15 00:54:30
database link
149:NAME IS NULL
07/02/15 00:59:53
>>148
ありがとうございます!
150:NAME IS NULL
07/02/15 08:59:08 jN/Y7HIu
oo4o経由でOracle10 XEに接続出来た人いるー?
XEのインストーラーにはoo4oが入っていなかったから
Oracleのサイトで10.2用のoo4oをダウンロードして組み込んでみたけど
OpenDatabaseメソッドが失敗する
データベース名「XE」ってのを認識出来てないみたい
10.2のoo4oはXEに使えないのかな?
151:NAME IS NULL
07/02/15 10:02:33
原因はリスナー「XE」を登録してませんでした
スレ汚し真に申し訳ない
152:NAME IS NULL
07/02/15 10:21:12 Tcgt2fEB
>>150-151
ちゃんと事後を報告したから、問題なかんべ。
153:NAME IS NULL
07/02/15 15:07:47 8aFDwjm4
小平市立第十三小学校(小平市小川西町1-22-1) URLリンク(www.kodaira.ed.jp)
九条幼稚園(郵便番号: 550-0027 大阪市西区九条2-19-18) URLリンク(www.ocec.ne.jp)
四番町保育園(〒102-0081 千代田区四番町11番地) URLリンク(hothot.city.chiyoda.tokyo.jp)
少友幼稚園(〒310-0024 水戸市備前町5-36) URLリンク(www.ii-kids.net)
南幼稚園(郵便番号:542-0081 大阪市中央区南船場3-2-19) URLリンク(www.ocec.ne.jp)
M m M m M m ...(Austria) URLリンク(www.vs-st-andrae.ksn.at)
南立誠幼稚園のホームページ(〒514-0003 津市桜橋2丁目39) URLリンク(www.res-edu.ed.jp)
中保育園・はるのさんぽ(〒480-0100 大口町小口字山中28番地) URLリンク(www.gojo-sakura.com)
中ほいくえん(〒480-0100 おおぐちちょうこぐちあざやま中28ばんち) URLリンク(www.gojo-sakura.com)
中保育園・園紹介(〒480-0100 大口町小口字山中28番地) URLリンク(www.gojo-sakura.com)
中保育園・春の遠足(〒480-0100 大口町小口字山中28番地) URLリンク(www.gojo-sakura.com)
小市保育園のホームページ(〒537-0001 大阪市東成区深江北1丁目9番12号) URLリンク(koichi.hoikuen.to)
西戸山幼稚園(〒169-0073 新宿区百人町4-7-1) URLリンク(www.city.shinjuku.tokyo.jp)
赤川小学校(〒041-0804 函館市赤川町367) URLリンク(wwwa.ncv.ne.jp)
黒小っ子花まるっ!(〒013-0826 横手市黒川福島59) URLリンク(park1.wakwak.com)
154:NAME IS NULL
07/02/15 15:09:05 8aFDwjm4
コテタン処理スレッド
スレリンク(nika板:128番)
(↓1024byteちょうど)
gwisbeugacug.Kc,.V.Tbedlbebeacabdlc,c,acisisbeab.S.Tdlbe.T.Yududabisudgwac.Kac.V.Tgwug.Vis.Sgwugabab
c,gw.Vac.Sc,acud.Suggwugdlugdlududdlac.V.Sugududbedlc,c,udc,beabab.Kisbeac.T.T.Vgw.Yudabis.Kisud.Vud
gw.Tabacug.Vac.Yud.T.Sdl.Vbe.S.Kc,.Tug.Yudud.S.S.Visabudgwdl.Sc,gw.Tudabdlbe.T.Y.Y.Vug.T.Tdl.Ygwc,is
gwud.Kudab.Kis.Kgw.Sgw.Yis.Kud.S.Vabugabbec,ugabuddl.Ybec,.Yabdlacacac.Sac.Ybebe.V.Yc,uduggwuddl.Ydl
abugacdlug.S.Sacudgwacugbeugugdlacbec,.Tug.Yugisc,ud.Tab.Vacug.K.Vugudug.Sab.Tc,abab.S.Sis.Vdldlbe.T
.Yudac.Vab.Tbe.Ydluggwdlc,abdludgw.Tbe.Sac.Sgwdl.K.Tgw.Vc,.Tdlc,is.Tgwud.Kdludbeabgw.Sabud.Tbeud.Yc,
isdl.T.Yis.Yacgwisabgwis.Kabdlac.Ygwacbegw.Sc,.T.S.Tdlgw.Vgw.Sacisabuddlgw.Tc,.Tisac.Yugis.Kacisis.S
ug.S.Kudabc,isudabc,beud.Tbe.Visug.Visud.T.Ygw.Sab.Kis.Tacis.Yc,isc,ududc,is.V.Tc,acgw.Yisuggwdl.S.T
ud.K.Sugc,isac.Tab.Tbec,.Tabc,.Vabacc,.Visbebeac.Vudbe.Yugdlc,beacab.K.Y.Vac.Sgwgw.Tisis.Y.Sdl.Tgw.Y
.Yugabud.Y.Vacabud.Y.K.Tis.Vis.Vabacdl.Sisac.S.Yc,.Yc,abbe.Tgwdlbeab.Tisisugc,beud.Vc,gw.Kc,ac.Kis.V
dludbec,dl.S.Vac.Tgwdlab
155:NAME IS NULL
07/02/15 15:10:00 8aFDwjm4
コテタン処理スレッド
スレリンク(nika板:5番)
(↓1024byteちょうど)
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンンン
ンンンンンンンンンンンン
156:NAME IS NULL
07/02/15 15:12:05 8aFDwjm4
コテタン処理スレッド
スレリンク(nika板:129番)
(↓1024byteちょうど)
Acgwab.Visis.Kab.Y.K.Tdldl.Yab.V.Tdl.S.K.Kbeud.Kab.Tbec,.Tgwdlbeud.Kdlab.Sgw.Yud.Tgwacis.K.S.Tis.Sgw
ac.Vabis.Vud.K.Visdl.T.Kugbe.Vuddlgw.Tc,abudisbebeuddlbe.Kdlbe.T.Y.Vdl.Sis.S.Yisbe.Y.Sisisab.Sugabdl
dlis.V.T.Vab.S.S.V.Sc,c,.V.Vacbegwug.Tdlisc,.Vugab.Tab.T.K.Tacabgwabbeugab.Sac.Sud.Ygwudacgw.T.Vc,is
be.Tis.K.Vdlabgwabisuduggw.S.V.K.Kab.Y.V.Ygw.Yac.V.Kc,.Kc,isabac.Vbeisisuddl.Y.K.Sdl.Ygw.Yabbe.Vacud
.T.Sgwugbe.Vugbegwgw.Sudbe.Tc,.Yac.T.K.Kac.Y.Kbe.Y.Kab.Vabc,ug.Tbewdabacudbec,.Sbeisc,beugis.Tgwudgw
abacug.Kc,c,be.Vdl.Y.V.Y.Sis.Vc,gwbeabgw.S.Sc,.Tc,isdlc,acdlabc,abdlababudacgwdldl.Vud.K.V.Tbedlc,be
.Tbedl.Vc,gwc,.Vug.K.Sududududac.K.Tgw.V.V.Y.Vbedlisbeuggw.Y.Tac.Tab.Y.320140acbeugisac.Yc,ababuggw.
be.Kab.K.Sisac.Y.Kbe.Tudacacbeabdldl.K.S.Y.Kc,.Tabisud.K.Yis.Sisisc,ugud.Yug.Sud.K.K.Yac.Kc,.Sac.Sgw
.T.4766649345233739603236442026619963079677696366622519711776471909111769495819091158193539273873dlu
ac.Sgwabisbe.Kis.Y.Y.Kisdlc,dlis.Sisugbec,.Kabacdlisgwudis.Sgwisisdlc,ab.Ybeis.Y.Tisgwabdlc,.Y.Vc,.Y
.Sc,gwab.V.K.S.Yacugc,i.
157:NAME IS NULL
07/02/15 15:12:53 8aFDwjm4
中■■■(〒480-0100 大口町小口字山中28番地) URLリンク(www.gojo-sakura.com)
中■■■(〒480-0100 大口町小口字山中28番地) URLリンク(www.gojo-sakura.com)
中■■■(〒480-0100 大口町小口字山中28番地) URLリンク(www.gojo-sakura.com)
中■■■(〒480-0100 大口町小口字山中28番地)
URLリンク(www.gojo-sakura.com)
M m M m M m ...(Austria) URLリンク(www.vs-st-andrae.ksn.at)
西■■■■■(〒169-0073 新宿区百人町4-7-1) URLリンク(www.city.shinjuku.tokyo.jp)
赤■■■■(〒041-0804 函館市赤川町367) URLリンク(wwwa.ncv.ne.jp)
黒■■■■■■■■(〒013-0826 横手市黒川福島59) URLリンク(park1.wakwak.com)
第十三■■■(〒187-0035 小平市小川西町1-22-1) URLリンク(www.kodaira.ed.jp)
四番■■■■(〒102-0081 千代田区四番町11番地) URLリンク(hothot.city.chiyoda.tokyo.jp)
南■■■(郵便番号:542-0081 大阪市中央区南船場3-2-19)
URLリンク(www.ocec.ne.jp)
少■■■■(〒310-0024 水戸市備前町5-36) URLリンク(www.ii-kids.net)
九■■■■(郵便番号: 550-0027 大阪市西区九条2-19-18) URLリンク(www.ocec.ne.jp)
南■■■■■(〒514-0003 津市桜橋2丁目39) URLリンク(www.res-edu.ed.jp)
小■■■■(〒537-0001 大阪市東成区深江北1丁目9番12号) URLリンク(koichi.hoikuen.to)
158:139
07/02/16 11:28:41
遅れましたが解決しました。
S-IDを繋いで、インスタンスをオープンしたら回復しました。
ありがとうございます。
159:NAME IS NULL
07/02/16 20:07:44 3vwFxxfy
Oracle10gEEをWindowsServer2003にのせてます。
expdpコマンドでバックアップを取ろうとしてるんですけど
expdp test/test DIRECTORY=DIR_BKUP DUMPFILE=test.dmp
と実行すると
ORA-31641: ダンプ・ファイル"C:\TMP\test.dmp"を作成できません
ORA-27040: ファイルの作成エラー、ファイルを作成できません
OSD-04002: ファイルをオープンできません
O/S-Error: (OS 3) 指定されたパスが見つかりません。
と言われてしまいます。
おそらくOSレベルでファイルを作成する権限がないと思うのですが
どのユーザーに与えればいいのでしょうか。
このマシンのユーザに対してはフルコントロールを与えています。
160:NAME IS NULL
07/02/16 23:40:37
>>159
基本はDBを作ったユーザーだけど、それ以前にc:\TMPというディレクトリは
存在してんだよな?
一連の流れとしては以下のものになるが?
1. c:\backupでも何でもテキトーなディレクトリを作って、DBを作ったユーザーに書き
込み権限与えておく。
2. データパンプで使うディレクトリをDBに登録する。
SQLPLUS> create or replace directory BACKUP_DIR as 'C:\backup';
3. 実際に実行。
expdp system/hogehoge schemas=boge DIRECTORY=BACKUP_DIR dumpfile=hogeboge.dmp
161:NAME IS NULL
07/02/18 01:20:32 mvn5tp9h
sysなどで接続してuser_tablesからSCOTTの所有テーブルの情報を見たいのですが
user_tablesの中でo.owner# = userenv('SCHEMAID')と指定されているせいかみれません。
user_tablesに代わる表はありますか?
162:NAME IS NULL
07/02/18 01:37:12
sysならdba_tablesとか
163:161
07/02/18 01:54:07
>>162
助かりました。どうもありがとう。
164:NAME IS NULL
07/02/18 05:13:45 Ksjr1/gE
本当はだめなのでしょうが、オラクルマスターのオンラインバウチャーチケットを人にもらう場合、受験チケットNo.だけをメールで送ってもらえば十分なんですか?
165:NAME IS NULL
07/02/18 10:07:58 VFI71C6w
>>158
ヨカターネ
166:NAME IS NULL
07/02/18 13:25:01 P6/Bmpbd
solarisにoracle9iをインストールするのですが、
telnet(Windows)からリモートで行うことは可能ですか?
可能であれば、方法や参考になるサイト等を教えて頂けると助かります。
167:166
07/02/18 13:26:50 P6/Bmpbd
追加:oracle9iアプリサーバとDBの両方です。
168:NAME IS NULL
07/02/18 14:16:41
cygwinでもいれて素直にXでつなぐ。
169:NAME IS NULL
07/02/18 14:50:18
>>166
( ・∀・)つVNC
170:NAME IS NULL
07/02/18 15:04:10
おまいら、イジワルだなw
171:NAME IS NULL
07/02/18 16:26:41 VFI71C6w
>>166
( ・∀・)つ[インストールガイド]
( ・∀・)つ[cygwin]
172:NAME IS NULL
07/02/18 16:31:32
Xだけなら、cygwinよりXmingだな。
設定も簡単だし。
173:166
07/02/19 01:00:45
レスありがとう。
んーやっぱりXですか。
自分のマシンにX入れるか、空いてるSolaris探すか
なんとかやりますわ。
174:NAME IS NULL
07/02/19 01:05:23
>>173
VNC入れてSolaris側でX立ち上げて、窓側ではVNC Clientもしくは
ブラウザーでいいじゃん?
175:NAME IS NULL
07/02/19 01:19:26
VNCとかあほなこという連中が多いなw
consoleは占領するし、フレームバッファがいるし、何もいいことないだろ。
176:NAME IS NULL
07/02/19 12:03:17
>>175
インストールだけに使えばいいんだし、今時の鯖でフレームバッファが
どうこうという方がアホなんじゃねぇの?w
それとも金がなくてショボい鯖しか使えないのなら仕方ないけどさ?www
177:NAME IS NULL
07/02/19 12:20:38
15Kとかは普通にFB持てないけど。
178:NAME IS NULL
07/02/19 13:25:00
インストールの話してんだから、もう少し行間読めよ?
179:NAME IS NULL
07/02/19 13:38:11
結論はでてる。
Xでいいってこと。
180:NAME IS NULL
07/02/19 23:33:47
なんだかんだ言って、ヒントを与えてるおまえらは優しい。
181:NAME IS NULL
07/02/20 07:23:49
>>166
( ・∀・)つサイレント・インストール
182:159
07/02/20 18:37:49
>>160
仕事が忙しくてようやく試せました。
どうもカタカナがだめだったようです。
・取りたい場所(カタカナあり)→だめ
・C直下の英字フォルダ→OK
・C直下のカタカナフォルダ→OK
・取りたい場所の一階層上(英字)→OK
・また取りたい場所(カタカナあり)→だめ
ありがとうございました。
183:159
07/02/20 18:38:32
間違えた。
・C直下のカタカナフォルダ→だめ
です。申し訳ない。
184:NAME IS NULL
07/02/21 01:17:59
NVARCHARとNVARCHAR2の違いってなんでしょうか?
185:NAME IS NULL
07/02/21 01:56:01
現在は違いはない。
186:NAME IS NULL
07/02/21 02:07:48
違いがあったのはOracle6の時代だっけか、7では既に違いは無かったと思う。
あまり古い話で、信憑性はないが年寄りから聞いた話では2つぐらい説があったな。
1.varchar(10)とすると、固定10バイト+長さ管理用の領域が取られたという説。
2.varchar同士を比較するとき長いほうに併せて空白をパディングしてから比較していたという説。
真相は知らね。
187:NAME IS NULL
07/02/21 02:12:16
VARCHARをANSI互換にして、空文字とNULLを区別するようにしてくれたらOracleを見直すのだが。
188:NAME IS NULL
07/02/21 02:15:58
Oracle使いで、NULLを代入するときに""使うやつっているんかな?
189:NAME IS NULL
07/02/21 09:18:28 3HpDMjNa
>>181
9iでサイレント・インストール使えたっけ?
190:NAME IS NULL
07/02/21 11:17:48
しかも、サイレントでもXはいるしw
191:NAME IS NULL
07/02/21 11:42:25 egn5/JuB
すいません!!学校の課題でデータベースのプリントを渡されててんやわんやになってるものです!!
⑤クエリで文字列の一部を指定しデータを抽出する「*」や「?」がそれに該当する。
ってなんのことをさしているんですか??さっぱりなんです…教えてくださいお願いします
192:NAME IS NULL
07/02/21 11:50:06 egn5/JuB
で、パラメータクエリのことをさしてるのかぁと思ってるんですがいかかですか??
193:NAME IS NULL
07/02/21 19:38:32
そして時は動き出す・・・。
194:NAME IS NULL
07/02/21 23:43:29
ワイルドカードのことを言ってるんならoracle固有の話でもなければDB固有の話でもない
195:NAME IS NULL
07/02/22 01:25:40
複数の選択肢で正しい答えを複数選べとかだったりして
196:NAME IS NULL
07/02/22 09:47:52
>>191
今は学校でデータベースを教えるのか
197:NAME IS NULL
07/02/22 17:19:10
Oracle10gを使用する事になりましたがGUIでトレースをリアルタイムに
出力するツールってあるのでしょうか?
198:NAME IS NULL
07/02/22 20:29:58
>>197
「トレースを出力」とは?
199:NAME IS NULL
07/02/23 01:30:26
>>197
何のトレースよ?
SQLのトレース? DBのプロセスのトレース?
200:NAME IS NULL
07/02/23 05:57:34 rCpVmlBI
Q。質問です
Oracle9iより「Real Application Clusters」機能が
実装されたそうですが、SQL Plus等を利用し
今あるDBのRACオプションの状態を
確認することは可能なのでしょうか?
たとえば、V$SESSIONでセッションの状態を知るように、
RACの状態を取得したいのですが…
201:NAME IS NULL
07/02/23 10:00:18
>>201
各インスタンスの稼動状態ならv$active_instanceで確認できっけど?
202:NAME IS NULL
07/02/23 11:10:06
>>200
gv$ビューのことかな?
203:NAME IS NULL
07/02/23 11:19:49
>>199
すみません・・SQLのトレースです
MSのSQLServerをずっと使い続けていたので、あちらのプロファイラに慣れきっていて
実行されているクエリーを見るのにTKPROF実行してファイルに出力して・・
というのが煩わしく感じてます
204:NAME IS NULL
07/02/23 12:09:42
>>204
GUIにこだわるのならTOADとか3rd Party製のツールがっけど?
205:NAME IS NULL
07/02/25 06:11:56
>>190
サイレントインストールでもXのライブラリが必要ってこと?
206:NAME IS NULL
07/02/25 11:54:41
イエス。
207:NAME IS NULL
07/02/26 11:55:58
Oracle10g+RHEL AS4
アラートログってリスナーログみたいに手動で出力先を切り替えたり
できないのかな?それともいきなりファイル削除って新しいログファイル
つくっても平気なもん?
208:NAME IS NULL
07/02/26 11:59:08
削除-放置でOK
209:NAME IS NULL
07/02/26 12:31:50
>>208
さんくす
210:NAME IS NULL
07/02/26 18:25:15
oracle 10g の正規表現って
SQL*Plus 上と PL/SQL とで違いがあるのか?
SQL*Plus でさんざん試した後に PL/SQL で実装すると NOTFOUND になっちまう。
211:NAME IS NULL
07/02/26 20:59:12
スマソ 初歩的なミスをしていた。
速度を速くするために、
SELECT * FROM AAA
WHERE SHOHIN Like '12345-67890%' -- ←もちろん変数にしてる
AND REGEXP_LIKE(SHOHIN, '12345-67890(パターン)'))
みたいな事をして、単純 Like の前方一致条件と絡めていたのだが、
Like に掛ける条件を
val_str = '12345-67890%';
として
WHERE SHOHIN Like val_str
としていた為におかしくなっていた。
val_str = '12345-67890';
WHERE SHOHIN Like val_str || '%'
して、上手くいった。
212:NAME IS NULL
07/02/27 12:21:20
[サーバ]
Win2000Server
Pen4 3.2
メモリ1024M × 2
Oracle 10g
[クライアント]
WinXP
Pen 3.2
メモリ 1024M
Oracle 10g Client
[ネットワーク]
LAN 100M
中間一致検索について質問です。
対象のテーブルには100000件のレコードが入っています。
それを中間一致で検索すると、1件もヒットしないときだけ検索秒数が大幅に増加すると
いう減少が発生しています。
1000件ヒット、1件ヒットでは0.1秒とかそんなところなんですが、0件のときだけ5秒近く
かかってしまいます。
Oracle 10g Client 、9i Clientの両方を試しました。
色々と本を漁ってみましたが、答えは見つかりませんでした。
誰か教えてください・・・
213:NAME IS NULL
07/02/27 22:01:37 vERdyJqF
Oracle 10gで間違えて作ったテーブルをdrop tableで削除して、
select * from tabでテーブルの一覧を見たら
英数字や=が無造作にならぶ変なテーブル名のテーブルが出てきました。
そのテーブル名をコピーして削除しようとしても削除できず困っています。
何かいい方法はないでしょうか。よろしくお願いします。
214:NAME IS NULL
07/02/27 22:29:03
>>213
PURGEコマンドを調べれ。
215:NAME IS NULL
07/02/27 23:19:44
>>213
とりあえず実行計画取ってみれ。
216:NAME IS NULL
07/02/27 23:23:59
>>214
ヒント: リサイクルビン
217:NAME IS NULL
07/02/27 23:27:34
>>212
を見て、うちのデータベースでも試したが同じような現象が起こる。
今まで気づかなかったが、なんでだろ。
218:NAME IS NULL
07/02/28 01:26:47
>>212
言われてみればそれって普通に発生しているような・・・
1件だと早いけど該当なしだと考えるよね?
まあ俺のいじっているメイン環境は8.0.5だけどw
多分ね、躊躇するんだよ、「0件なんて返したら怒られないかな~」って。
219:NAME IS NULL
07/02/28 10:27:21
無駄に増えてしまったデータファイルをRAWデバイス移行に伴いすっきりさせたいとおもいます。
/oradata/abcd01.dbf
/oradata/abcd02.dbf
/oradata/abcd03.dbf
=>
/dev/abcd01
例えば abcd というテーブルスペースが3つのデータファイルで構成されています。
なのでいったんテーブルスペースを消して
再度RAWデバイスファイルで作り直そうと画策していいます。
消す前にexpして作り直した後にimpすればいいかなと軽く考えていますが
うまくいくでしょうか?
ちなみにオラクルアプリケーションのテーブルスペースたちです。
exp のパラメータはこんな調子で大丈夫でしょうか?
COMPRESS=N
CONSISTENT=Y
TABLESPACES=(ABCD)
220:NAME IS NULL
07/02/28 10:50:15
>>219
新規表領域を作成して、表はalter table moveで、索引はrebuildとかでいいかも?
Oracle AppsだったらOATMの導入もひとつの選択肢です。
Oracleから変換ツールが提供されています。
221:NAME IS NULL
07/02/28 14:10:39
>>213
select table_name from tabs で見たらいいよ。
tab じゃなくて tabs ね。
222:213
07/03/01 21:10:28
>>214, >>216
解決いたしました。ありがとうございます。
>>221
今後の参考にします。ありがとうございます。
223:NAME IS NULL
07/03/01 21:55:32 vN9pA/9v
こちらのスレに誘導いただき、カキコさせていただきます。
今日初めてSQLでデータ抽出してみました。
DBはオラクルでSQLPlusWを使ったんですが、抽出したデータをCSVやエクセル アクセスなどで書き出すことってできるのでしょうか?
どなたかよろしくお願いいたします。
224:NAME IS NULL
07/03/01 22:06:37
>>223
藻前の端末PCにOracleのODBCドライバなんかをインスコしてもらえ。
そうすればAccessにOracleのテーブルをインポートとかリンクとか出来る。
それで不満が出たらSQLを覚えてそれで不満が出たら、
OracleのSQLをいじる事を考えれ。
つか、初心者とかを排斥するワケでもないが、ユーザーのフロントエンドツール
としてExcelとかAccessは優秀だから、まずそっちを先に使いこなせ。
ほとんどはソレで解決できる。
225:NAME IS NULL
07/03/01 22:14:44 vN9pA/9v
>>224アクセスでODBCを使い、DBのインポートやリンクテーブルは使っているんですが、
なにぶんデータが重いのと毎回リレーションくんでクエリを作成するのがめんどくさくなったのでDB直にSQLで抽出できないかと思い使ってみました。
226:NAME IS NULL
07/03/01 22:22:26
>>225
ならInternetで検索してOracle用のCSV作成ツールやマクロを利用しろ。
正直、Oracleの純正ツールは初心者には向かん。他の商用DBに比べるとアレだと感じる。
まだ、VBAでADO経由でSQLコマンド投げるとか
Java+JDBCでやったほうがマシだと個人的に感じる。
227:NAME IS NULL
07/03/01 22:35:51 vN9pA/9v
>>226ありがとうございます。
なるほど、ADOプログラム用いてできましたね!!
って、ADO用いてオラクルにコネクションはる方法忘れちゃった・・・。復習しなおします・・・。
228:NAME IS NULL
07/03/01 23:33:17
>>223
(o゚ω゚o)つCommon SQL Environment
URLリンク(www.hi-ho.ne.jp)
自分のPCにOracle Clientが必要だけど、結果をCSVにセーブできる。
229:NAME IS NULL
07/03/03 16:11:54 OlFrbYGL
正月明けから分散サーバにしてAPサーバとDBサーバに分割したんですが、
その途端に、これまで80分で終了していたバッチが5倍かかるようになりました。
APはまったく変えてないし、マシン性能は向上しているので、まったく原因が
わかりません。
分散によってこのような事が発生する事例はありますでしょうか?
月1回の処理ですが、客先からもそろそろ厳しい目で見られそうです。
230:NAME IS NULL
07/03/03 16:16:57
>>229
そのバッチというのはどこで動いているのよ?
DBサーバー、APサーバー、その他
231:NAME IS NULL
07/03/03 16:23:43
>>229
DBサーバとAPサーバのトラフィック量をちゃんと計算してから
クライアントに提案したんだろうな?
232:NAME IS NULL
07/03/03 17:09:35
>>229
そりゃAP鯖とDB鯖が分散するより直結してる方が早いにきまってる。
IBMのAS400(i5)なんかはそういう思想でAP鯖とDB鯖が合体している
と言うかOSにRDBが融合しているしな。
まあ、「まったく原因がわかりません」とか言う厨房は素直に
外部の会社に泣きついた方がいいぞ。
233:NAME IS NULL
07/03/03 17:10:12
ネットワーク経由になるのに、まったくSQLやプログラムの変更をまったくしてないってこと?
だとしたら、あまりにも素人過ぎるぞ。
234:NAME IS NULL
07/03/04 11:04:16
>>229
分割しようと思った理由はなに?
CPUネックにでもなっていたの?
そうでないのなら、分割すればネットワークトラフィックが増大する分、
遅くなるのも予想できるだろうに?
特にバッチでデータを全てAP鯖側に転送して処理なんてしていた日には
目も当てられないと思うぞ?
235:NAME IS NULL
07/03/06 07:41:31
サーバが分かれて性能劣化、ってことはSQLの発行の仕方とかが元々悪かったんだろうね。
ループの中でマスタ検索とか。
ネットワーク越しにSELECT投げるなら回数減らすためにジョインした方が良い。
もちろん実行計画採ってね。
236:NAME IS NULL
07/03/06 18:14:41
229
バッチだけDBサーバ上で動かせwww
237:NAME IS NULL
07/03/07 12:22:57 m/eIFB9Y
>>236
それ却下された。
238:NAME IS NULL
07/03/07 13:27:30
>>236-237
提案したのかよw
239:NAME IS NULL
07/03/07 23:11:44
まあ、よくあると言うかハードjは売りっぱなし会社で、その売りっぱなし会社が
低賃金で雇ったハケンのデタラメSE&PGに組ませたシステムによくある失敗例だよな。
ただ、普通はリプレースの際にマシンスペックの向上に助けられて
問題にならない場合もタマにあったりするが、229の場合は
今まで動いていたソフトウェアが相当にヘボかったんだろう。
いい機会だから金だしてマトモな会社に丸投げしとけ(w
240:NAME IS NULL
07/03/07 23:36:15
>>229
そのAPサーバーって言語は何で動いてんの?
ネットワークバッファとかプリフェッチサイズ大きくして改善されるかな。
ループのまわし方にもよるけど。
241:NAME IS NULL
07/03/08 01:39:56
>>229
「ネットワークを疑ってみる」がセオリーっぽいけどね。何処がネックか調べようよ
5倍も時間がかかるようになって、2ヶ月以上の放置が信じられん
っていうか、テスト期間中に問題にならないのも信じられ
242:NAME IS NULL
07/03/08 01:43:35
APサーバからselect * from~を多用していたりなw
243:229
07/03/08 09:06:32 46zKKXiM
月次処理で月1回しか流れない上、当該時間帯に競合するバッチもない。
監視はオペレータが常駐しているので長くかかってもシステムには影響がない
のと、他の開発案件との絡みもあるので、とりあえず業務Grpは対応する予定はなく、
インフラチーム預かりで調査中というステータスです。
244:NAME IS NULL
07/03/08 22:26:04
年明けにシステム変えて、3月でこのありさまとは、
ずいぶんと無能かつボンクラ揃いのインフラチームですな。
専任のオペレータが監視する様なシステムでお客から
そんなクレームきたら、それこそマッハで対応すべき状況だと
思うけど、そうならないのは天下りでパイプが結ばれている
関連子会社でとかなんだろうか?
245:NAME IS NULL
07/03/09 00:58:29
>>243
つ~かさ、ボトルネックが何処にあるか分からないんだから、とりあえず
DBのステータスだけでも見てみたらどうよ?
バッチ処理時にSTATSPACK流すなり、O/Sのステータス取るなり、やる
事はいくらでもあるだろう?
CPUバウンドなのか、I/Oバウンドなのかで、対応も当然変わる訳だしさ?
ネットワークトラフィックとかも見ているのかよ?
「AP鯖とDB鯖との間が100Base-Tかなんかでつながってました」なんて
オチだって考えられるぞ?
246:229
07/03/09 08:09:30 B5ov/MgP
客先とオペレータの作業場が離れている関係で、
ユーザには見えてません。
といいますか、ウチのPJはこれまで携わったところと毛色が違って、
情シスが絡まずにエンドユーザと直接やり取りしているので、
夜間バッチがどのくらいかかったかの報告もしてません。
システムに影響なければいくらでも隠蔽できます。
夜間バッチがエラーになっても、オペレータから連絡が来たら
その場で対処してユーザには特に報告しませんね。
247:NAME IS NULL
07/03/10 01:43:01
その月次バッチ「だけ」重くなったの?
248:NAME IS NULL
07/03/10 08:10:02
>>246
客先にバレてないんだったら、問題を隠蔽しまくって
5年か10年後にやってくるリプレースの時に対策汁
まあ、そんな不二家みたいな会社が漏れの周りに
いない事を祈るけどな。
249:NAME IS NULL
07/03/11 21:38:08 908nGcRk
Oracle9iを使ってまして、特定のプロシージャを動かすたびにデッドロックが発生して困っています。
同一のプロシージャを5つほどパラで流しているのですが、デッドロックが発生する理由がよく分かりません。
一つのテーブルにたいしての、updateとinsertを行うプロシージャなのですが、それぞれのセッションで
updateする行が異なっていることは確認してあります。(where句の指定が違う)
ただ、update/insert を行うテーブル自体に、プライマリーキーはおろか、ユニークなキーを張っていません。
そういうテーブルにupdateを行う際に、ロックが掛かる列というのは、updateのwhere句の条件にマッチする
行だけということで良いんでしょうか?? 一意なキーを使用していないため、updateを行うときにロックの
掛かる行が多すぎてデッドロックに成ってるんじゃないのかと素人判断をしてるのですが、どうでしょうか。
250:NAME IS NULL
07/03/11 21:50:55
行ロックがかかるのはupdateしてるところだけ。
251:NAME IS NULL
07/03/11 21:55:57
分離レベルにもよると思うが、where句にindexのないカラムを指定すると
テーブル全体でロックするんじゃねーの?
と思いつつユニークなKEYを持っていないのにどうやってUPDATEする
レコードを特定できるのか疑問なんだが。
そりゃ、何月何日のあるカラムをまとめて更新するってSQLなら解るけど
それだとロックが掛かるのは当たり前な気がするが・・・。
252:NAME IS NULL
07/03/11 21:59:24
別セッションがinsertした行にもupdateかけようとしてるとか??
253:NAME IS NULL
07/03/11 22:02:44
「ユニークなキー」っていうことばの意味があいまい。
でもUNIQUE INDEXの有無にかかわらず、updateの行ロックはその行だけ。
254:NAME IS NULL
07/03/11 22:06:12
foreign keyとか?
255:249
07/03/11 23:15:35 908nGcRk
249です。
ユニークなキー ⇒ ユニークインデックスでした。
やっぱり、行ロックかかるのはupdateかかってる場合のみっぽいですね。
KROWNによると、テーブルのロックの掛け合い以外でもデッドロック状態に
なるようなので、そちらの可能性のほうを検証してみます。
ども、ありがとうございます。
256:NAME IS NULL
07/03/11 23:23:40
漏れはあんましWHEREでUPDATEする時は主キーでやる派の人間だけど、
そこの9iがどんな分離レベルで動いているかしらんけど、分離レベルによっては
他のプロセスでINSERTしようとして、他のプロセスが後からUPDATEしようと
した時に先に走ったトランザクションが終了しない場合はUPDATEは待ち状態に
入り、先のINSERTするトランザクションでWHERE句にINDEX張ってないカラムを
指定してSELECTかましていた時に、後のトランザクションのUPDATEがロックかけてたら
デッドロックになると思うが。
あと、分離レベルによってwhere句にindex作成していない状態で
where hoge >= 0なんて選択カマしているとテーブル全体でロックがかかるとオモ。
257:NAME IS NULL
07/03/12 19:59:38
質問です!
Oracle10gのXEClientをインスコしてその中のODBCドライバを使わなきゃいけないんですが、
ODBCの設定のところでORACLEinXEClientを指定してもドライバのセトアッププログラムが読み込めない(システムエラーコード126)
が出て、追加できません。
そのあとにドライバのConfigDSN,ConfigDriver,またはConfigTrancelatorが失敗しました。
って出ます。
何が原因なのかわかりません。
ファイルはレジストリに記述されてる場所にあります。
MSDNに書いてあることは実行しました。それでも改善しません。
環境はXP SP2です。
258:NAME IS NULL
07/03/12 23:59:55
>>257
「mfc71.dll」「msvcrt.dll」「msvcr71.dll」の三つのdllをc:\windwows\system32にでもコピっておけば?
259:NAME IS NULL
07/03/13 00:02:22
XEって使ったこと無いんだけど、InstantClientじゃだめなのかな?
260:NAME IS NULL
07/03/13 00:14:11
>>249
参照制約付いてないですか?
261:NAME IS NULL
07/03/13 01:15:24
pl/sqlについて質問させて下さい。
変数の項目定義をDBの項目%type;で行っています。
その項目の項目長を取りたいのですがlengthだと
変数の中身のサイズを取ってしまって取れませんでした。
何か良い手段はないでしょうか。
よろしくお願いします。
262:NAME IS NULL
07/03/13 15:34:18 3um8qxfU
aspからの接続で質問です。
asp(非.net)からOracle10gに接続しようと試みているのだけど、
うまくいかない。
環境は
DBサーバ
Windows Server 2003 R2
Oracle10g
WEBサーバ
Windows XP Pro SP2
接続方法
set conn = Server.CreateObject("ADODB.Connection")
conn.Open "dsn=hoge;uid=hoge;pwd=hoge"
エラー
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
指定されたドライバはシステム エラー 5 (Oracle in OraClient10g_home1) のため読み込めませんでした。
色々情報を探してみたのですが、見当たらずここに質問します。
お知恵をお貸しください。よろしくお願い致します。
263:NAME IS NULL
07/03/13 17:44:24
ちゃんとODBCドライバはインストールされた上でDSNの設定もした?
ドライバをインストールしただけではDSNの設定はされていないから、以下のようにDataSourceを指定する必要があるけど。
"Driver={Oracle in OraClient10g_home1}; Data Source=fuga; UID=hoge; PWD=hoge;"
DSNを設定した場合は、"dsn=hoge;uid=hoge;pwd=hoge"でいいけど。
264:NAME IS NULL
07/03/13 17:50:14
追加。
OracleのOLEDB Providerをインストールした場合は、
"Provider=OraOLEDB.Oracle; Data Source=fuga; CONNECTSTRING=; UID=hoge; PWD=hoge;"
として、Provider経由でも接続が出来る。
Oracleのは、ODBCよりProvider経由の方が推奨されているから、こっちを使うほうがいいかも。
265:262
07/03/13 18:45:43
>>263
ODBCドライバインストール&DNS設定もしました。
でもダメ。
OLEDB Providerをインストールして教えていただいたProvider経由の方法で接続したところOKでした。
ありがとうございました。助かりました。
266:NAME IS NULL
07/03/13 19:01:25 LA5xZJ82
質問があります。
oracle10gを使っています。
あるサーバーにhogeというDBがあり、私のクライアント端末から接続しようとして
いるのですが、うまく繋がりません。
Net Configuration Assistant で設定したときの
接続テストは成功します。
Net Manager での接続テストも成功しています。
しかし、SQL Plus のようなアプリケーションから接続しようとすると、
UserName: foo
Password: bar
Host String: hoge
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
というエラーが出て、接続することができません。
色々とググったりして調査しているのですが解決できていません。
どなたか、ご協力願えないでしょうか…。
267:262
07/03/13 19:05:53
接続できて喜んでいたら今度は
ORA-12560: プロトコル・アダプタ・エラーが発生しました
とエラーが出るようになりました。
どう対処すれば・・?
268:262
07/03/13 19:16:16
事故レス
ODBCを再設定したところ今度はProvider経由でORA-12560エラーが出て、
ODBC経由だとOKになりました。
うーむ、よくわからない。。。
269:NAME IS NULL
07/03/13 19:24:34
こんな時間に会社から2chにカキコとか考えるとアレなんだが、
素直にOracleのサポートに電話した方が解決早いだろ。
270:NAME IS NULL
07/03/13 19:33:03
このスレの存在意義が (ry
271:NAME IS NULL
07/03/13 21:27:48
ORA-12154 は Host String: hoge に対応する接続記述子が見つかんないってこと。
tnsnames.ora 周りがあやしいかな。
272:NAME IS NULL
07/03/13 21:30:08
>>266
tnsnames.oraとsqlnet.oraをさらせ。
273:NAME IS NULL
07/03/13 23:34:10
oracleに関わらずの話かもしれないんですが、
いわゆる2フェーズコミットっていう、
よく情報処理試験にでてくるんですけど、
あれの、コミット可能かどうかを確認する1フェーズ目って
具体的には何をすることをいうんでしょうか?
274:NAME IS NULL
07/03/14 02:56:45
>>273
[準備フェーズ]
準備するように指示されると、開始側データベース(コミットが実行されたデータベース)は
分散トランザクションに関与する他の各データベースに、この後の指示に従って、コミット
またはロールバックする様に支持します。開始側データベースは以下の作業を行います。
・Redoログ・バッファとSCN(System Change Number)をフラッシュします。
・グローバルなSCNを他のDBに渡します。(SCN回復する時に必要な情報)
・表をロックして、コミット・フェーズが完了するまで表の読み書き操作を禁止します。
275:266
07/03/14 09:08:19
>>272
tnsnames.ora
HOGE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hoge)
)
)
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (EZCONNECT)
このようになっています。
よろしくお願いします。
276:NAME IS NULL
07/03/14 09:41:52
>>275
これでどうなるかやってみろ。
TNSNAMES.ora
HOGE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SID = hoge)
)
)
SQLNET.ORA
SQLNET.AUTHENTICATION_SERVICES= (NTS)
277:NAME IS NULL
07/03/14 09:42:11
>>275
ORACLE_HOMEが2つあるっていうオチだったりして。
278:275
07/03/14 09:50:10
>>276
!!!!!!
いけました!!ありがとうございます!!
でもなぜだろう?
NetManagerなどではカバーできない環境なのか…。
調査してみます。
279:NAME IS NULL
07/03/14 09:56:27
>>278
これで繋がったという事はどっちかというとlistener.ora側の設定を疑うべきだな。
280:NAME IS NULL
07/03/14 09:59:34
SID=hoge の指定は昔のやりかた。
まず SERVICE_NAME=hoge のままで、NAMES.DIRECTORY_PATH= (NTS) でやってみて。
NAMES.DIRECTORY_PATH は、接続記述子をどこから探すかの指定。
これがEZCONNECTなら、その方法でしていしなくちゃならない。
NTSならtnsnames.oraから探す。
281:NAME IS NULL
07/03/14 10:03:23
>>278
names.directory_pathをtnsnamesにしてみろ。
names.directory_path = (TNSNAMES)
282:280
07/03/14 10:14:57
NTSは認証のほうだった。
>>281 が正しい。
283:275
07/03/14 10:15:28
>>287の自分のレスに補足をします。
Net Manager でサービスネーネングを選択し、サービスの識別枠の中に
「Oracle8リリース8.0互換識別子を使用」
というチェックボックスがありますが、これにチェックを付け、サービス名に
入れていた名称をSIDに入れることで、正しく接続できるようになりました。
最初に提示しておくべきでしたが、環境を記載しておきます。
サーバー
Windows2003 Enterprise Edition
Pen4 3GHz メモリ3GB
Oracle Database 10g 10.1.0.2.0
クライアント
WindowsXP Professional Ver 2002 SP 2
Pen4 3GHz メモリ1GB
Oracle Database 10g 10.1.0.2.0
サーバーもクライアントもOracle10gなのに、Oracle8互換(?)で通信しなけれ
ばならなかったようです。サーバー・クライアント間が離れており、VPNを使用
しているから…などの理由が、おそらく存在するのだと思います。
ご協力ありがとうございます。
284:275
07/03/14 10:23:05
>>279-282
すいません、先走りました…(汗
(自分のレス書き込んでから>>279-282に気づきました)
「Oracle8リリース8.0互換識別子を使用」
にしたままでは原因解明や対処したことにはならず、追求して本来あるべき
設定にした方がよいのでしょうか?
さんざん悩まされた問題なので、もしも「Oracle8リリース8.0互換識別子を
使用」にチェックを付けて使うことに支障がなければこのままでもいいかな
ー…と思い始めていたりするのですが…。
285:275
07/03/14 10:33:02
以下の設定で、問題は発生しませんでした。
tnsnames.ora
HOGE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hoge)
)
)
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES)
今までをまとめると、変更点は以下の一点のみです。
『sqlnet.ora の
NAMES.DIRECTORY_PATH= (EZCONNECT)
を
NAMES.DIRECTORY_PATH= (TNSNAMES)
に変えた』
286:275
07/03/14 10:44:44
Net Manager を開くとツリーに「プロファイル」というのがあり、
ここの「選択メソッド」が、もともとは「EZCONNECT」だけになって
いました。
tnsping hoge
が ORA-12154 でエラーになっていたことから、私の環境では EZCONNECT
だけでは、何かが引っかかって接続識別子を解決できなかったようです。
Net Manager → プロファイル → 「TNSNAMES」「EZCONNECT」両方選択
これで接続も tnsping も正しくできるようになりました。
287:257
07/03/14 16:19:44
>>258
ありがとうございます。MFCランタイム入れたらその問題は解決しました。
>>259
ORACLEのUNIVインストーラーを持ってないので無理でした。
288:NAME IS NULL
07/03/16 23:37:33 O+49JDf9
oracle10g 32bit版をWindowsXP Pro(CoreDuo)にインストールしようとしましたが、
途中で
「ライブラリの読み込み中にエラーが発生しました
generalQueries」
と表示されて、インストールができません。
(その後のすべてのインストールの中止orこのコンポーネントのインストールのみ中止
のどちらを選択しても終了しません。)
Enterprise、Standard、Personalのどれを選択しても同じ現象がおきてしまいます。
どなたか同じ現象の方や解決方法をご存じの方いらっしゃいますでしょうか?
289:NAME IS NULL
07/03/17 01:08:34
>>288
そのインストール用バイナリを保存しているディレクトリにマルチバイトの文字が
使われていたりしないか?
290:288
07/03/17 10:56:14 qcvECAwf
>289
アドバイスありがとうございます。
HDDにコピーしてからインストールをしたのですが、
なぜかgeneralQueriesというファイルが壊れていたみたいでした。
お手数をおかけしました。
291:NAME IS NULL
07/03/17 18:03:55 rpX2rmR1
Oracle10gにおいてundo表領域systemu表領域を他ドライブに変更したいのですが
①sqlplus "sys/psw@oracle as sysdba"
②SHUTDOWN IMMEDIATE;
③STARTUP MOUNT;
という順におこなった所、③にてリスナーは接続記述子で要求されたサービスを現在認識していません
と表示されてしまいます。
ご存知の方はよろしくお願いします。
292:NAME IS NULL
07/03/17 22:53:10
リスナー経由で接続できるのはOPENしてから。
Oracleサーバーにsshなんかで入って、sqlplus / as sysdba とかで入る。
293:107
07/03/17 23:22:57 rpX2rmR1
>>292
申し訳ありません。
もう少し噛み砕いて説明していただけないでしょうか?
294:NAME IS NULL
07/03/17 23:27:05 HgHJyZfK
質問なのですが、WindowsXPのHomeEditionにOracleのインストールは無理でしょうか?トライアル版をインストールしたのですが、なぜかどうやっても「リスナーがありません」となってしまいます。
295:NAME IS NULL
07/03/17 23:32:36
ワロタ
これ以上どうやって噛み砕けとw
Oracle10gのサーバUnix系なら、
サーバにDBAユーザでログインしてから、
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> startup mount
で、データベースを起動する。
296:NAME IS NULL
07/03/18 00:39:59
Windows のOracle 10gです。
テーブルにストアドプロシージャ名(またはストアドファンクション名)を入れておいて、
プロシージャ(またはファンクション)から、その値を取得してそのプロシージャを実行
したいのですが、できますか?
SQL Serverの場合は @procedure_name にプロシージャ名が入っているとして、
EXEC @procedure_name @pram1 pram2
などとして実行できたのですが、Oracleではどうもうまくいきません。
変数の中に入っている名前のプロシージャを呼び出すことはできませんか?
297:291
07/03/18 01:43:52 t/a53Ch2
>>295
申し訳ない。
①コンピュータの管理にてOracleService<SID>を起動させる
②splplus aaa/bbb@ccc
サービス名を指定しなければプロトコル・アダプトエラーが発生します
③$ sqlplus /nolog
④conn / as sysdba
を行ったところ③でORA-12560:TNS:プロトコルエラーが発生してしまいます
298:仕様書無しさん
07/03/18 11:15:28 vUU4ZdYN
>>297
接続時に"@ccc"を使わない接続をしろってこと。
"@<接続子>"でリスナー経由の接続になるんだお。
コマンドプロンプトで
SET ORACLE_SID=ccc
ってやってから
③、④を実行。
299:291
07/03/18 12:03:09 t/a53Ch2
>>298
ALTER DATABASE RENAME FILE
'C:\oracle\product\10.1.0\oradata\oracle\UNDOTBS01.DBF' TO
'D:\oracle\product\10.1.0\oradata\oracle\UNDOTBS01.DBF';
ORA-01113: file 2 needs media recovery
ORA-01110: data file 2: 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\Oracle\UNDOTBS01.DBF'
UNDO表領域の場合はリカバリが必要なのでしょうか?
度々申し訳ありません。
300:仕様書無しさん
07/03/18 12:23:07 vUU4ZdYN
>>299
手順を晒せよ。
Dドライブにデータファイルはうつしてるよな?
301:291
07/03/18 12:40:30 t/a53Ch2
>>300
OSコマンドで以下を行った後に
copy C:\oracle\product\10.1.0\oradata\Oracle\UNDOTBS01.DBF
D:\oracle\product\10.1.0\oradata\Oracle\UNDOTBS01.DBF
①set oracle_sid=oracle
②sqlplus aaa/bbb
③$ sqlplus /nolog
④conn / as sysdba
⑤SHUTDOWN IMMEDIATE;
⑥STARTUP MOUNT;
⑦ ALTER DATABASE RENAME FILE
'C:\oracle\product\10.1.0\oradata\Oracle\UNDOTBS01.DBF' TO
'D:\oracle\product\10.1.0\oradata\Oracle\UNDOTBS01.DBF';
⑧alter database open;
⑧を行った際にリカバリが必要と表示されます。
よろしくお願いします。
302:NAME IS NULL
07/03/18 13:10:18
>>301
Windowsではどっちでもいいことなんだけど、Oracle使いとしてこの先生きのこりたいなら、
環境変数名はキチンと大文字/小文字を区別するようにしようね。
× oracle_sid
× Oracle_Sid
○ ORACLE_SID
303:NAME IS NULL
07/03/18 13:18:34
>>301
先にOS上でファイルを移動したか?
つまり、その手順で言うと、5と6の間でOSコマンドにてファイルを移動する。
304:107
07/03/18 14:46:14 t/a53Ch2
>>302
ご指摘の点、しっかりと受け止めます
>>303
はい、先にOSコマンドでコピーをしました。
やり直してみます。
305:仕様書無しさん
07/03/18 15:07:47 vUU4ZdYN
>>301
一回、元に戻してから。
⑤→⑥↓
ALTER DATABASE RENAME FILE
'D:\oracle\product\10.1.0\oradata\Oracle\UNDOTBS01.DBF' TO
'C:\oracle\product\10.1.0\oradata\Oracle\UNDOTBS01.DBF';
↓
⑧→⑤↓
データファイルUNDOTBS01.DBFをCからDへコピー
↓
⑥→⑦→⑧
306:NAME IS NULL
07/03/18 18:13:36
>>305
Recoveryが必要だって言われてんだから、renameした後にrecover database文
打ってみたら?
普通は必要ないんだけどね。
307:301
07/03/18 19:11:12
>>305
>>306
どうもありがとうございました。
システムディスクの容量が少なかったので
助かりました。
308:NAME IS NULL
07/03/21 05:05:45 Ct0Agd+G
下記①→②→③の処理を繰り返し、一レコードずつ値を更新する処理を行っています
(表「USER_MASTER」のPKは「USER_ID」)。
ところが同一レコードに対し2回同じ処理を繰り返すことがあり不思議に思っています。
「①→ファイルにUSER_IDをログ出力→②→ファイルにUSER_IDをログ出力→③」
としてみたのですが、COMMIT自体は失敗せず、ログを確認したところやはり2回同じ処理を繰り返すことがあるようです。
頻度としてはきわめて低いのですが。。。
① SELECT USER_ID FROM USER_MASTER
WHERE STATUS = '0';
② UPDATE USER_MASTER
SET STATUS = '1' WHERE USER_ID = '①で取得したUSER_ID';
③ COMMIT;
COMMIT命令を発効してからDBのレコードに値が
反映されるまでタイムラグでもあるのでしょうか。。。?
Oracle初心者なのでそんな事例今まで聞いたことがなかったのですが
もし何かご存知の方いらっしゃればアドバイスいただければと思います。
使用しているマシンのOSはWindows 2003、Oracleのバージョンは9i、
使用している言語はC#(.NET Framework 1.1)でODP.NETを使用しています。
309:NAME IS NULL
07/03/21 09:19:35 YYlj3kB8
SELECTでデータを1行だけ抜きたいんですが、そんなコマンドありますか?
教えて下さい
310:NAME IS NULL
07/03/21 09:21:46
>>308
> COMMIT命令を発効してからDBのレコードに値が
> 反映されるまでタイムラグでもあるのでしょうか。。。?
同一セッション内ならあり得ない。
俺ならいちいち無駄なループ回さず、
UPDATE USER_MASTER SET STATUS='1'
WHERE USER_ID IN (
SELECT USER_ID FROM USER_MASTER WHERE STATUS = '0'
);
って書くがな。
311:NAME IS NULL
07/03/21 09:22:45
>>309
select * from table where rownum = 1;
でとれると思うが。
312:NAME IS NULL
07/03/21 09:40:21
>>311
ありがとうございます
313:NAME IS NULL
07/03/21 15:15:24
>>308
select ... for update してね。
314:313
07/03/21 15:17:49
追加でスマン
ORA-60 が出るかもしれないので、order by USER_ID も追加で。
315:NAME IS NULL
07/03/24 19:21:33
以下のようなSQL呼んでるプログラムがあるんだが
> SELECT ename FROM emp WHERE empno BETWEEN 1000 AND 2000;
「empno順にソートされてないから修正しろ」っていわれた
そりゃそうだ、ORDER BYとか使ってないからな・・・と思って
ローカル環境でテストしたんだがこっちだと昇順ソートされてる
データのrowidを入れ替えたりもしたんだがやはり変わらずソートされてる
「ORDER BYをつけないとデータの順序は保障されない」というのは
ソートされる/されないの保障がないという意味なのでしょうが
ソートされないことを確認する、手っ取り早い方法はないでしょうか?
(ヘンな質問ですが・・・)
316:NAME IS NULL
07/03/24 19:36:07
>>315
実行計画でもとってみたら?
317:NAME IS NULL
07/03/24 21:10:03
>>315
何を確認したいのか分からない
素直におーだばいすれば?
明示的にした方が他の人にも分かり易いし
318:315
07/03/24 22:05:56
すいません、簡単に言い直します。
ORDER BYをつけてないが、自分の環境ではソートされてる。
じゃあソートされずにバラバラにデータを出力させるためには
どうすればいいか。ただし、SQLはそのままで。
データを何らかの方法で並びかえればバラバラにでるのであれば
その並び替える方法を教えてほしい。
本来の依頼の解決方法はORDER BYをつけること。それは間違いないです。
でもつけてないのにソートされてるのはなんでだろう?という疑問から
この質問をしました。意図がわかりにくくてすいません。
319:NAME IS NULL
07/03/24 22:31:15
たまたまソートされた順序で格納されてたからだろ。
テストデータをつくるとき、
FOR i in 1..100000 LOOP
とかでデータを作ってINSERTすると格納データが昇順ではいってる。
SELECTは読んだ順に出力する。
ただし、それをあてにしてはいけないのでORDER BYが必要。
320:NAME IS NULL
07/03/24 22:32:36
一見ばらばらに見せかけたいなら、ハッシュパーティション表に入れて、ORDER BYしないとそうなる。
321:NAME IS NULL
07/03/25 00:52:39
>>315
9iまでだと索引スキャンで読み出された場合索引順にソートされて出力される。
10gは何故か索引スキャンによるソートがなくなってたのでorder byで明示的にソート必要。
内部がどう変わったかは知らん。
現象のみ確認した。
322:NAME IS NULL
07/03/25 01:00:11
>>321
ソートしてるわけじゃない
323:NAME IS NULL
07/03/25 14:29:29
VB2005でASP.NET2.0のプログラムを書いています
ODP.NETを使ってOracle10gにアクセスさせたいと思っています
web.configのconnectionStringsにコネクションプーリングするための文字列を入れたところまではよかったのですが、
どうやってその設定で接続させるかがわかりません
ConfigurationManager.ConnectionStringsのことを調べてみたのですが、ADO.NETでの接続になるみたいです
どうやって接続させるのでしょうか?
324:NAME IS NULL
07/03/25 21:30:49
>>318
行移行すれば順番がズレなかったっけ?
大きめのカラムを作ってUPDATEをしておけばいいんじゃねぇ?
そして実行計画取ればソートしているか否かわかるんじゃ
325:NAME IS NULL
07/03/26 21:37:38
>>323
URLリンク(otndnld.oracle.co.jp)
326:NAME IS NULL
07/03/29 13:05:31 SkrWWvsv
いまどきオラクル8なのですが、left outer joinの代わりに何を使えばいいのでしょうか
327:NAME IS NULL
07/03/29 13:11:16
>>326
どういったSQLを投げていて、どういった結果をとりたいのか
もっと具体的に質問したら?
328:NAME IS NULL
07/03/29 13:18:39
>>326
(+)
329:NAME IS NULL
07/03/29 13:21:13 SkrWWvsv
10gの場合で
select 表1.商品名,表2.価格 from 表1
left outer join 表2
on 表1.番号 = 表2.番号;
と書くところを、8iではどのように書くんですか
330:NAME IS NULL
07/03/29 14:28:19
select 表1.商品名,表2.価格 from 表1,表2
where 表1.番号(+) = 表2.番号;
331:NAME IS NULL
07/03/29 14:35:56
8iだとLEFT JOIN~って書き方出来ないん?
332:NAME IS NULL
07/03/29 14:40:11
出来ない。
333:NAME IS NULL
07/03/29 15:04:20 SkrWWvsv
ありがとうございました!
334:NAME IS NULL
07/03/30 00:15:54
10gの外部参照って(+)じゃダメなの?
335:NAME IS NULL
07/03/30 01:36:22
ダメじゃないけど新規開発するなら OUTER JOIN 使うべき。
慣れればこっちのほうがわかりやすいよ。
336:NAME IS NULL
07/03/30 02:36:48
(+)はOracleでしか使えないし、将来的には廃止される可能性もあるしね。
337:NAME IS NULL
07/03/30 07:16:46
パフォーマンス的に問題になることが多いのが
外部結合を使用している場合が多いんだよなぁ
338:NAME IS NULL
07/03/30 09:21:55
2台のサーバ(しかも8iと9i)にデータベースリンク張って外部結合させたviewを書いたことがあるよ
検索が遅すぎて使い物にならなかった
もともと8iのみだったけど、容量が足りなくなったのでサーバ増設
しかも、まだ8iが手に入ったのに9iを導入なんて馬鹿なことやってた
で、そのデータベースを使用したシステムが軒並みエラーを起こして始末書を何枚も書かされる羽目になったよ
339:NAME IS NULL
07/03/30 19:44:08
>>338
自分で導入したんだったら始末書書くのも自業自得だろ.
ついでにその場合に遅くなる問題はデータベースリンクで連携してる部分だろ.
DBリンク使わずに外部結合してのパフォーマンス測定やった?
外部結合する時でも普通はきちんとキーやインデクス使えば十分実用レベルでしょ.
っていうか導入する前にViewとかなら性能試験やっとけよ.
DBの容量が足りなくなったんだったら,HDD増設して普通に表領域増やせよ.
なんか他にも突っ込み所あるような気がするけど後ヨロシコ
340:NAME IS NULL
07/03/30 20:36:45
どうしてコストが高い方を選んで、わざわざ遅くするような選択するかな~
もちろん維持コストも高くなっているんだよな・・・おまえクビw
341:338
07/03/30 20:51:19
俺が導入を決めたんじゃなくて、上が導入を決めたんだよ
で、こっちには「新しくDBサーバ買うから」しか言わない
しかも、置き換えるのではなく、よく使うデータを新しい方に移す方針たててた
>っていうか導入する前にViewとかなら性能試験やっとけよ.
1週間前に言われて十分な検証をとれないままやらされたんだよ
しかも、当時社内には9iなかったからデータベースリンクも8i同士でしかやってない
そりゃ、トラブるわなってこと
342:NAME IS NULL
07/03/30 21:07:08
営業が売りつける事しか頭になくて、かつ開発が発言力ない組織なんだろ。
その後ユルユルと9に移行したんだろうし。
たぶんw
343:NAME IS NULL
07/03/31 09:55:17 1KZDmp2y
oracle 9i をwindows2000に再インストールして、パッチ9.2.0.4をあてました。
Database configrationからグローバルデータベース作成のための
バッチファイルを作成しました。
そのバッチファイルを起動すると、エラーになってしまいます。
エラー内容は
・CREATE OR REPLACE ?????????
・データベースがオープンしていません。
などです。
オラクルのサービスが起ち上がってるのは確認したんですが、
それ以外で何を確認すればいいのかがわかりません。
オラクルを再インストールしても同じ現象になります。
どなたか教えてください。