Oracle 質問総合スレ2
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001NAME IS NULL
2007/11/11(日) 09:59:59ID:CkUvZ6Yh◆前スレ
Oracle 質問総合スレ
http://pc11.2ch.net/test/read.cgi/db/1163907455
◆公式サイト
OTN-J
ttp://otn.oracle.co.jp/
OTN
ttp://www.oracle.com/technology//index.html
0002NAME IS NULL
2007/11/11(日) 10:48:20ID:nV8gYVk+乙
0003NAME IS NULL
2007/11/11(日) 10:50:51ID:???0004NAME IS NULL
2007/11/11(日) 11:28:23ID:???乙。
毎回の事だけど補足ね。
OTNからダウソ出来るソフトは、使用期限がついているものの、これは紳士協定に
なっていて、機能的に使えなくなるというものではない。
0005NAME IS NULL
2007/11/13(火) 01:49:50ID:???今ならOracle 11gが手に入るわけだし。
0006NAME IS NULL
2007/11/13(火) 13:34:17ID:???というテーブルがあり、項目の値を集計しないといけません。
例えば集計項目1番は
項目コード1の値 * 項目コード2の値 + 項目コード3の値
集計項目2番は
(項目コード2の値 + 項目コード3の値) / 項目コード1の値
というように求めます。
このような条件の時、DB内でうまく演算の順序を保持し、計算結果を
出せるような仕組みって可能でしょうか?
0007NAME IS NULL
2007/11/13(火) 13:35:55ID:???( ^ω^)つ View
0008NAME IS NULL
2007/11/13(火) 13:40:44ID:???ですよねーorz
+、−だけだったらできるんですけど…orz
0009NAME IS NULL
2007/11/13(火) 21:33:42ID:win9bqJGselect * from テーブル名を実行した時に
デフォルトで月だけを表示するようにって出来きますか?
0010NAME IS NULL
2007/11/13(火) 23:33:05ID:???SQL> alter session set nls_date_format ='MON';
Session altered.
SQL> select sysdate from dual;
SYS
---
NOV
0011NAME IS NULL
2007/11/13(火) 23:49:21ID:???ありがとうございます。
それだと全てのテーブルに対して月だけを表示する形になるんですよね?
特定のテーブルの特定のカラムに対して限定すると言う
やり方はないのでしょうか?
0012NAME IS NULL
2007/11/13(火) 23:52:04ID:???( ^ω^)つ View
0013NAME IS NULL
2007/11/14(水) 00:06:21ID:???やっぱViewくらいしかないですよね・・・
ありがとうです><
0014NAME IS NULL
2007/11/16(金) 23:32:36ID:MwFc3JH0原因にはどういうものがありますか?
0015NAME IS NULL
2007/11/17(土) 00:31:29ID:???データベースバッファキャッシュ内の更新済みブロックを
データファイルに書き戻す処理に時間がかかる。
スケジュールで落とすなら、shutdown immediateする10分ぐらい前に
alter system checkpointを打つのが定番。
ただshutdown immediateが遅い/ハングする系の不具合がいくつかあるから
一度サポートに聞いてみたほうがいいかもね。
0016NAME IS NULL
2007/11/17(土) 01:58:10ID:???9i以上ならFAST_START_MTTR_TARGETをきちんと指定して、checkpointを調整するようにしろ。
9i以上ならこまめにチェックポイント取っている方が早かったりする。
redologのタイミングでチェックポイント取るのは8iまでのテクニックだな。
0017NAME IS NULL
2007/11/17(土) 22:35:00ID:???0018NAME IS NULL
2007/11/18(日) 00:22:09ID:???何の?
0019NAME IS NULL
2007/11/18(日) 02:30:02ID:???SELECTの結果をちょん切るやつ
0020NAME IS NULL
2007/11/18(日) 03:00:24ID:???じゃあ ROWNUM で。
今度は質問はわかりやすく書いてね。
0021NAME IS NULL
2007/11/18(日) 11:50:41ID:???0022NAME IS NULL
2007/11/19(月) 19:11:06ID:???8i以降ならROW_NUMBERの方が自由度が高くないか?
0023NAME IS NULL
2007/11/19(月) 20:57:48ID:???ROW_NUMBER() は遅くなることもあるからなぁ。
0024NAME IS NULL
2007/11/19(月) 23:26:26ID:e/HNJ/vEcreate or replace package aaa is
procedure testA( cur1 out sys_refcursor, cur2 out sys_refcursor, cur3 out sys_refcursor);
procedure Test1( cur1 out sys_refcursor);
procedure Test2( cur2 out sys_refcursor);
procedure Test3( cur2 out sys_refcursor);
end;
こんな感じでパッケージがあって、testA がアプリ側からCallされます。
Test1〜Test3はそれぞれ別のテーブルからデータを取得します。
まずtestA でTest1をCallし、その戻り値を判定し、以降の処理を行う。。。って感じなのですが、
create or replace package body aaa is
procedure testA( cur1 out sys_refcursor, cur2 out sys_refcursor, cur3 out sys_refcursor)
is
begin
Test1( cur1 out sys_refcursor) ;
end ;
ここで、cur1 の中身を見たいんです。
FETCHとかすればいいのかなと思っても、エラーになります。
なんかいい方法ありませんか?
なんでこんな作りなのかとか言われても答えられません。
そういうポリシーらしいです。
0025NAME IS NULL
2007/11/19(月) 23:49:49ID:???面倒かもしれないが、一回取ってきた値をどっかの表に格納して、それを他から
参照するようにでもしたら?
0026NAME IS NULL
2007/11/20(火) 00:06:17ID:C4WLKplhそれのやり方がいまいちわからんのです。
cur_temp sys_refcur ;
って定義して、 cur_temp := cur1 ;
みたいにはやってみたんですが、
cur1の中身が消えちゃうんですよね。。。。
oracle難しい。。。。。
0027NAME IS NULL
2007/11/20(火) 03:26:13ID:???cur_temp sys_refcur ; と前もって宣言しておいて、それからPL/SQLを実行してんだよね?
0028NAME IS NULL
2007/11/20(火) 17:35:53ID:???0029NAME IS NULL
2007/11/20(火) 20:29:38ID:???0030NAME IS NULL
2007/11/20(火) 20:35:16ID:wWhiZNbuhttp://want-pc.com
0031NAME IS NULL
2007/11/21(水) 00:17:52ID:???きちんとAWRのPurge Jobをスケジュールしているか?
0032NAME IS NULL
2007/11/21(水) 00:21:09ID:???Oracleマスタープラチナまでいくには費用はどれくらいかかるものなのでしょうか?
ブロンズ・シルバー・ゴールド・プラチナと、段階ごとに教えてくだされば助かります。
宜しくお願いします。
0033NAME IS NULL
2007/11/21(水) 00:54:56ID:???MySQLに例えておはなししてはくれまいか
0034NAME IS NULL
2007/11/21(水) 03:27:25ID:???根性と気合さえあれば、ゴールドまでは実機がなくても卓上の勉強だけで
取ろうと思えば取れる。
ただゴールドを取るために、最低でも試験を5つぐらい受けなくてはならなくて、
各試験毎に受験料が1万5千円ずつぐらいかかったと思った。
まあ、詳しくは以下で。
ttp://www.oracle.com/global/jp/education/certification/portal/index.html
0035NAME IS NULL
2007/11/21(水) 03:30:42ID:???簡単に言うとSQLがどういった順序で実行されているかということ。
最初に索引のスキャンがあって、次に目的のデータブロックが読み込まれて
いるといった様な事が、この実行計画を見れば分かる訳。
表や索引の分析が行われていないために、全表走査が走っているなんて
ことも分かる。
0036NAME IS NULL
2007/11/21(水) 04:10:25ID:msoO2PlPコマンドプロンプトから行える方法を探しています
ユーザー単位でインポートしたdmpファイルをいれたいんで
一度削除したかったのですが
0037NAME IS NULL
2007/11/21(水) 04:59:17ID:???explainみたいなもの?
0038NAME IS NULL
2007/11/21(水) 06:33:21ID:TLAHprir試験費用については>>34の言っているとおりだが、ゴールドについては
研修で要履修コースを受ける必要があるので、その費用として
更に最低でも20万円ぐらい必要。
プラチナについてはゴールドを取得している状態からだと、要履修コースを
2つ受けて、さらに試験費用が20万円ぐらいなので、最低でもだいたい60万円ぐらい必要。
なにも持っていない状態からプラチナまで取ろうとすると試験を全部一発で合格しても
100万円近くかかるということになる。
0039NAME IS NULL
2007/11/21(水) 08:56:40ID:???お前はデータベースという単語の使い方を間違っている。
ユーザーをスキーマごと消去していいなら以下のコマンド。
drop user ユーザー名 cascade;
0040NAME IS NULL
2007/11/21(水) 13:25:59ID:???0041NAME IS NULL
2007/11/21(水) 22:11:40ID:???2 マテビューは強制リフレッシュを定期的に行っています。
この状況下でマテビューリフレッシュ時に該当マテビューを検索対象にしたSELECT-SQLが
マテビューリフレッシュ終了まで固まってしまいます。
当然と言えば当然なのですが、SELECT系のSQLが固まらない良い手は無いですか?
0042NAME IS NULL
2007/11/21(水) 22:24:17ID:???11gのEnterprise Editionダウンロードできるから、
実機使うが吉。ただし重いので、Oracle用のマシンが用意できるとGood。
0043NAME IS NULL
2007/11/21(水) 23:31:40ID:???ありがとうございました。
少なくとも、ゴールドまでは30万くらい プラチナまでは 90万ちょいかかるということですね。
個人では無理ですなぁ・・・
0044NAME IS NULL
2007/11/22(木) 00:37:51ID:???読み取り専用のマテビューにすればselectは出来るよ。
それ以外は排他ロック取るから無理。
0045NAME IS NULL
2007/11/22(木) 03:23:46ID:???一人前のDBA育てるのにトレーニング受けさせたら、100万はくだらないからなぁ。
まあ、Oracleに就職したら社内で受けさせてくれるけどさ。
0046NAME IS NULL
2007/11/22(木) 10:54:34ID:???DB設計時にあらかじめわかって設計するものではないの?
0047NAME IS NULL
2007/11/22(木) 11:37:06ID:???机上論と実装は異なるから。
0048NAME IS NULL
2007/11/22(木) 11:52:09ID:???いちいちテーブル名指定してdropして…とやらないとダメなんですか?
0049NAME IS NULL
2007/11/22(木) 12:49:08ID:???drop tablespace 表領域名 including contents;
0050NAME IS NULL
2007/11/22(木) 15:21:00ID:???ぐぐっても検索の仕方が悪いのかなかなか調べられず困ってたので助かりました
トンクスです!
0051NAME IS NULL
2007/11/22(木) 17:12:35ID:???例えば
INSERT でinsert into hoge (hoge_id) VALUES(1);
とした場合、自動的にhoge_id の値を00001として保持して欲しいのです。
0052NAME IS NULL
2007/11/22(木) 17:25:16ID:???トリガーかな。
0053NAME IS NULL
2007/11/22(木) 17:52:54ID:???おまえはそもそも数値という物がどういう物なのかを理解していない。
0054NAME IS NULL
2007/11/22(木) 18:02:59ID:???方法若しくは関数教えてください。。。
0055NAME IS NULL
2007/11/22(木) 18:10:28ID:???黙れ
0056NAME IS NULL
2007/11/22(木) 18:54:25ID:???情けない。
0057NAME IS NULL
2007/11/22(木) 18:56:51ID:???NVL関数でどう?
SELECT NVL(MAX(XXX) FROM XXX
0058NAME IS NULL
2007/11/23(金) 00:09:26ID:???文字列型でPL/SQLストアドプロシージャを使え。
0059NAME IS NULL
2007/11/23(金) 02:01:54ID:???OAS4.0.8.1をwindowsNT→windows server2000 へバージョンアップしたいのですが
対応してるんでしょうか?
古いので良くわからなくて・・・
0060NAME IS NULL
2007/11/23(金) 10:55:30ID:???普通にOSとデータベース両方を最新へアップグレードした方が良いよ。
会社で承認してくれるなら、WindowsServer2008とOracle11g又はSQLServer2008
が出るからそれにすべて変えるのもあり。
0061NAME IS NULL
2007/11/23(金) 17:27:59ID:???文字列変換後のパディングはLPAD。
Nullを置き換えるならNVL関数で十分。
0062NAME IS NULL
2007/11/24(土) 11:13:51ID:???ありがとうございます。
そうするのが一番なのはわかっているんですが・・・
0063NAME IS NULL
2007/11/26(月) 13:29:19ID:???例えばユーザhogeで作成したtable(test_table)のカラム情報をsysから見るコマンドってありますか?
0064NAME IS NULL
2007/11/26(月) 13:32:03ID:???権限があれば、スキーマ.テーブルで見れる。
SQLの本で書いてると思うけど。
0065NAME IS NULL
2007/11/26(月) 13:51:47ID:???sysはsysdbaだからALL_TAB_COLUMNSから列情報も問題なく取れると思うが。
任意のスキーマのテーブルの参照なんか言うまでも無かろう。
0066NAME IS NULL
2007/11/26(月) 15:33:45ID:???無理なのでしょうか?
また、desc テーブル名でテーブル情報が見れますがINDEX等も併せて見たいです。
可能でしょうか?
0067NAME IS NULL
2007/11/26(月) 16:27:34ID:hr1x2rtff_id IN user.id%TYPE,
f_ip IN user.ip%TYPE,
f_name IN user.name%TYPE,
f_pass IN user.password%TYPE,
f_birth IN user.birth%TYPE
)
RETURN NUMBER IS
r_cnt NUMBER;
r_max NUMBER;
r_number user.number%TYPE;
BEGIN
SELECT COUNT(number) INTO r_cnt FROM user WHERE id = f_id;
IF r_cnt > 0 THEN
RETURN NULL;
END IF;
SELECT MAX(number) INTO r_max FROM user;
r_number := r_max + 1;
INSERT INTO user(number, id, ip, name, password, birth) VALUES(r_number, f_id, f_ip, f_name, f_pass, f_birth);
RETURN s_number;
EXCEPTION
WHEN OTHERS THEN RETURN NULL;
END func_hoge;
こんなストアドファンクション作ったのですが、
正しい値をいれてSELECTしてもNULLしか返ってきません。
色々調べた結果、INSERTの部分でエラーが起こっている(EXCEPTIONに移行している)ようでした。
ためしにINSERT文だけ外して定義してみたところ、きちんとr_numberの値が返ってきます。
ストアドファンクションでINSERTは使えないのでしょうか?
0068NAME IS NULL
2007/11/26(月) 21:13:36ID:AcLfRp+N例外処理を外して、エラーメッセージを出力させて、原因を調査したらどうかね?
0069NAME IS NULL
2007/11/26(月) 23:05:10ID:???0070NAME IS NULL
2007/11/26(月) 23:15:32ID:???> 設定してあるストアドファンクションのコードを確認したいのですが、調べても見つかりませんでした。
> 無理なのでしょうか?
USER_SOURCE
> また、desc テーブル名でテーブル情報が見れますがINDEX等も併せて見たいです。
> 可能でしょうか?
USER_INDEXES, USER_IND_COLUMNS。
desc で見るのは無理。
0071NAME IS NULL
2007/11/26(月) 23:21:08ID:???Oracleでコマンドライン操作といったら、SQL*Plusでしょ。
sqlplus で起動できる。
0072NAME IS NULL
2007/11/26(月) 23:47:27ID:???つ〜か、GUIで操作するなんざ遅くてやってらんねぇよ。
0073NAME IS NULL
2007/11/27(火) 00:05:09ID:???ストアドファンクションでINSERTが出来ないなんてことはない。
何処かに問題が有るだけ。
とはいってもそこから先はデバッグの世界だろ。
ExceptionでSQLCODEを拾ってSQLERRMでメッセージ拾うしかないだろな。
ここで相談しても仕方ないと思うが・・。
参考までに、INSERT時のエラーで多いのは型が間違ったり
Null禁止なのにNull転送したりが多い。
後は権限不足でInsert出来ない事もある。
とりあえずSQLエラーコード拾ってみないとなんともいえない。
0074NAME IS NULL
2007/11/27(火) 09:25:36ID:???007567
2007/11/27(火) 12:24:05ID:UcyMPmDo>>68さん
EXCEPTION外せばエラーがそのまま表記されるんですね… 要素1個1々、RETURNで確認してたorz..
はずして実行してみたところ、
ORA-14551: 問合せの中でDML操作を実行することはできません。
ORA-06512:"HOGE.FUNC_HOGE", 行19
とでました。
このエラー番号を調べてみると以下のエラーが出ました。
ORA-14551:SELECTで呼んでいるファンクションではINSERTできない?
ORA-06512:権限が足りない?
この場合、どんな解決策があるでしょうか?
007667
2007/11/27(火) 12:36:20ID:UcyMPmDo詳しい説明ありがとうございます。
>後は権限不足でInsert出来ない事もある。
原因はこれっぽいのですが、どのような権限をつければいいでしょうか?
SELECT * FROM USER_TAB_PRIVS_RECDしてみたところレコードがないようです。
初歩的なことで申し訳ないのですが宜しくお願いしますm(_ _)m
007773
2007/11/28(水) 00:54:27ID:???SELECT-SQLの中で更新を伴うFunctionは実行出来ないよ。
これは権限云々ではなくトランザクションの問題。
更新系のSQLを扱う前にトランザクションについて勉強した方がいい。
とりあえず助言するとすれば・・・
更新(追加・削除も)を伴うストアドは、Call、Execute等で実行すべし。
コミット・ロールバック制御も忘れずに。
0078NAME IS NULL
2007/11/28(水) 19:17:17ID:???上のSQL文ですべての質問を取り出す際、ユーザがこの質問に答えているか、調べたいのですが下のSQL文を併せて調べるよう連結させるにはどうすればいいでしょうか?
select COUNT(user_tbl) FROM answer_tbl where qid=$qid and title IS NOT NULL;
0079NAME IS NULL
2007/11/28(水) 22:03:31ID:???ファンクションを実行する部分もしっかり書かないと
0080NAME IS NULL
2007/11/28(水) 23:44:53ID:???('A`)つunion
0081NAME IS NULL
2007/11/28(水) 23:46:47ID:???('A`)つdecode関数
0082NAME IS NULL
2007/11/29(木) 00:26:22ID:????
select qid, quest from quest_tbl
natural left outer join (select qid, count(*) answered_count from answer_tbl group by qid )
008378
2007/11/29(木) 13:12:16ID:???>>82さん
それだとwhere qid=$qid and title IS NOT NULLが反映されてないと思うのですが、、
select qid, quest from quest_tbl a
natural left outer join (select qid, count(*) answered_count from answer_tbl where qid=a.qid and title IS NOT NULL )
これでためしてみましたが出来ていないようです。。
>>81さん
DECODEの解説を見てみたのですが、どうも今回やりたいこととは違う気がします、、
select qid, quest,decode((select title from answer_tbl where qid=a.qid ),NULL,0,1) from quest_tbl a
これだとエラーになりました。
>>79さん
unionだと出来そうな感じです。
ただ値を持ちまわす方法が分かりません。
SELECT qid, quest FROM quest_tbl a UNION SELECT COUNT(*) cnt FROM answer_tbl WHERE a.qid = qid and title IS NOT NULL;
これだとaなんて知らないというエラーがでます、、、
0085NAME IS NULL
2007/11/29(木) 22:03:04ID:???それと、NATURAL JOINってのをちゃんと調べろ。クエリ書くのめんどい時によく使う。
FROMの中で並べたテーブル同士で相関クエリはできない。あと質問分かりやすく書け。
0086NAME IS NULL
2007/11/29(木) 23:50:09ID:t7fkIFy6のコマンドでバックアップにユーザー単位エクスポートしたファイルを
インポートするには
imp tes/pass owner=tes file= …じゃダメなの?
某サイトのリファレンス通りにしたんですが
ownerというコマンドは無いとエラーがでました
エクスポートしたファイルの設定そのままでインポートするには(初期化は行ってる)どうすればいい?
0087NAME IS NULL
2007/11/30(金) 00:09:14ID:???fromuser touserの項目だ
0088NAME IS NULL
2007/11/30(金) 00:24:48ID:???fromuserでエクスポートしたユーザー、touserでインポートしたユーザーという認識で合ってるよね
後で確かめてみます
0089NAME IS NULL
2007/11/30(金) 01:02:49ID:???スキーマ毎にExportしたのにをImportしたいだけだったら
いちいちユーザー名指定せんでも「imp \"/ as sysdba\" IGNORE=Y FULL=Y」で
いけるんじゃね?
0090NAME IS NULL
2007/11/30(金) 01:06:44ID:???いちいちfromuser touser使う意味あるのか?
0091NAME IS NULL
2007/11/30(金) 01:53:46ID:???「オラクル リファレンス」でぐぐると一番上にあるサイトかwたしかに
リファレンスでownerを使ってインポしようとしてるなw
009288
2007/11/30(金) 13:02:13ID:WhidIDinスキーマ自体はエクスポート後一度削除して同じ名前でスキーマ作ってます
>>90
わけわりで手間のかかる形とってます
そんな便利なのもあるのね�dです
0093NAME IS NULL
2007/11/30(金) 19:03:43ID:???基幹業務でJavaSPを使っても特に問題ないですかね?
周りで「使ってるよ」ていう話を殆ど聞かないので。まあ、ちょっとした
SPならPL/SQLで書いた方が早いんだけどさ。
0094NAME IS NULL
2007/11/30(金) 23:11:01ID:???・オブジェクト指向機能 ・Dimension
・Nested Table ・MODEL句(まあ、普通はいらんよなあ)
・ネイティブコンパイルされたPL/SQL
・Partitioned Outer Join ・GROUP BYのCUBE、ROLLUP、GROUPING SETS
・pivot句(あたりまえか) ・MERGE文(俺の職場ヤバス) ・XML機能
・User-defined Operator
0095NAME IS NULL
2007/11/30(金) 23:29:28ID:???気が付くとメチャメチャmerge句を使ったspになってる事多しw
0096NAME IS NULL
2007/12/01(土) 00:16:21ID:???自然と使う機会がなくなる。
使う機械が多そうなのは、
多次元分析をストアドプロシージャで実装
XmlをSoap通信で流す(Webサービスとして実行)
実行してパフォーマンスが大幅に上がりそうなのはこれ位だと思う。
0097NAME IS NULL
2007/12/01(土) 00:25:04ID:???0098NAME IS NULL
2007/12/01(土) 00:26:34ID:???これ使ったことある
DBMS_RANDOMが速くなってテストデータ作成時間が短くなった
0099NAME IS NULL
2007/12/01(土) 00:27:50ID:???DBマガジンのバックナンバー買えば?
毎年周期的に初心者向け特集やってるから
0100NAME IS NULL
2007/12/01(土) 02:29:01ID:???Webサービス/SOAP呼出する部分は結構重宝してる.
たまにアクロバティックな経路で外部のSOAPサービス呼び出す処理が必要なんで.
パフォーマンスは結構良いように感じた.
0101NAME IS NULL
2007/12/04(火) 17:06:26ID:???ocfs2の導入で
Loading module "configfs": Unable to load module "configfs"
Failed
と表示され、ocfs2の起動が行えないでいます。
ocfs2-tools-1.0.2-1.i386.rpm
ocfs2console-1.0.2-1.i386.rpm
ocfs2-2.6.9-22.0.1.EL-1.0.8-1.i686.rpm
を導入して、cluster.confを作って/etc/init.d/o2cb configureだけでは
ocfs2は利用できないものなのでしょうか。
0102NAME IS NULL
2007/12/04(火) 20:37:03ID:???自分で答え書いてるだろ。
0103NAME IS NULL
2007/12/04(火) 22:21:50ID:???なぜモジュールがロードできないのに
ローディング中なのでしょうか?
0104NAME IS NULL
2007/12/04(火) 22:40:01ID:???わからないのですが・・・。
0105NAME IS NULL
2007/12/04(火) 23:08:45ID:???0106NAME IS NULL
2007/12/04(火) 23:48:59ID:???depmod -e とかしたか?
0107NAME IS NULL
2007/12/05(水) 01:16:07ID:???cluster.confはクラスター内の全ノードで一緒の内容になっているんだよな?
というよらもO/Sのバージョンとcluter.confの内容ぐらいさらせ。
0108101
2007/12/05(水) 20:31:12ID:???ありがとうございました。解決しました。
カーネルモジュールの選択ミスという凡ミスが原因でした。
configfs等は自動生成されるみたいです。
感謝です。
0110NAME IS NULL
2007/12/06(木) 04:57:34ID:pfhV3PvuUNIXへのログインIDによって、与える権限を帰ることってできますか?
たとえば、下のように、UNIXにログインするIDは異なるが、
Oracle DBに接続するユーザは同一だった場合、
�@ではSELECT権限を与えるが、�AではSELECT権限を与えない(=全てのテーブルを見せたくない)、
といった制御をしたいと思っているのですが、どのようにすればよいでしょうか。
Oracle DBに接続するユーザ毎にGRANTするロールを変えればいいのでしょうが
同一ユーザでも与える権限を変えたいのですが……。
UNIX OSに ID 「userA」でログイン UNIX OSに ID 「userB」でログイン
↓ ↓
Oracle ID 「dbuserC」で接続 Oracle ID 「dbuserC」で接続
↓ ↓
�@ �A
0111NAME IS NULL
2007/12/06(木) 05:09:54ID:???あ゛っ?
何でDB側がO/SのログインIDで権限を変えないとならないんだよ?
大体クライアントが自PC使ってSQL*PLUSでアクセスして来たらどうすんだよ?
ちょっと考えたら如何に理不尽な要求か分かるだろうが?
0112NAME IS NULL
2007/12/06(木) 17:55:28ID:???無理。
OSユーザ≒DBユーザなら、OS認証でなんとかなりそうだけども
OSユーザ≠DBユーザならどうにもならない。
他にそんな事ができるのってあったっけ?
0113NAME IS NULL
2007/12/06(木) 21:41:29ID:???いくらかかるの?
0114NAME IS NULL
2007/12/06(木) 21:43:31ID:???sqliteみたいなのなら普通に出来るが
サーバ/クライアントになってるのだとまず無理だろう
0115NAME IS NULL
2007/12/06(木) 22:17:04ID:???このようなSQLがあったとして:
SELECT * FROM (SELECT * FROM HOGE ORDER BY FUGA) WHERE ROWNUM <= 100
一番外周のSELECTの結果はFUGAでソートされているとは限らないですよね?
面倒でも、
SELECT * FROM (SELECT * FROM HOGE ORDER BY FUGA) WHERE ROWNUM <= 100 ORDER BY FUGA
とすべきなのでしょうか。すみませんが、ご存知の方教えてください。
0116NAME IS NULL
2007/12/06(木) 23:23:10ID:???実行計画取れ。
0117NAME IS NULL
2007/12/06(木) 23:52:04ID:5y+EMV/zなっちゃいました。もしみなさんがあたりをつけるとしたらどこらへんですか?
ちなみに自分のスキルはoracle暦6っ月のへたれです。
0118仕様書無しさん
2007/12/07(金) 00:24:55ID:???一番安くて5万円〜
20万とかよく聞く価格帯。
>>115
結果をソートさせた状態に"保障"させたいのなら
面倒でもorder byをつけるべき。
今のバージョンならつけてもつけなくても結果は同じだけど
次のバージョンとかになったらわかんないよ。
>>116
実行計画でわかるもの?
>>117
ディスクの問題?それとも特定の表領域を使用した場合に負荷が高くなるの?
全容量に対して使用量はどのくらい?
0119117
2007/12/07(金) 00:38:11ID:Sq6yutGL>>117
> ディスクの問題?それとも特定の表領域を使用した場合に負荷が高くなるの?
> 全容量に対して使用量はどのくらい?
使用量は78%です。ディスクはエラーがありませんでした。表領域の特定はちゃんとはしてませんが、
データ領域(レコード、INDEX)のところで負荷がたかくなっているようです。
なぜようですってかともうしますと、自分の職場ではなく、遠隔地にあるサーバで(リモートできない)話を
きいている状況です。
初期パラメータのメモリはいじってませんが、もしかしたらバッファがゼロになっていて検索にディスク
みているんじゃないかとも疑ってはいます。
0120NAME IS NULL
2007/12/07(金) 03:34:31ID:???Reguildした時に表領域を指定せずにやっちゃって、表と索引とが
同じ表領域に作られちゃったってパターンを疑う。
0121119
2007/12/07(金) 09:02:13ID:VdnRSR1zあっなるほど。考える材料増えました。ありがとう!
0122仕様書無しさん
2007/12/07(金) 21:15:24ID:???全体的に遅くなるとかじゃなくてディスクI/Oが問題になってるんだよね?
I/O性能が劣化してそうな感じなら、データファイルの断片化くらいしか思いつかない。
Rebuildの時に十分な領域がない
↓
小さいサイズでのファイル自動拡張
↓
データファイル断片化
・・・とか。
でもこんなので、いきなり100%いくとは考えられないし・・・。
やっぱり、>120さんの理由でディスクI/O性能の限界を超えたとかかなあぁ。
0123NAME IS NULL
2007/12/08(土) 00:10:09ID:RdFFMJzLdebian4.0です。
0124NAME IS NULL
2007/12/08(土) 02:54:41ID:???CPUのタイプなんか気にしなくていいだろうが?
ただマニュアルによるとx86版はDebian 3.1にしか対応していないみたいだぞ?
まあ試すだけ試してみたら?
http://download.oracle.com/docs/cd/B25329_01/doc/install.102/b25144/toc.htm#CIHFEBGE
0125NAME IS NULL
2007/12/08(土) 19:16:12ID:RdFFMJzLdpkg: oracle-xe-universal_10.2.0.1-1.0_i386.deb の処理中にエラーが発生しました (--install):
パッケージアーキテクチャ (i386) がシステム (amd64) と一致しません
以下のパッケージの処理中にエラーが発生しました:
oracle-xe-universal_10.2.0.1-1.0_i386.deb
0126NAME IS NULL
2007/12/09(日) 02:52:00ID:???お前、エラーメッセージを読めないのか?
お前のCPUはAMDの64-bit版だ。
xeは32-bit版しか出ていないんだから、入らないって文句言われてんだよ。
0127NAME IS NULL
2007/12/09(日) 04:00:11ID:???せめて32ビットと64ビットは気にしとけww
0128NAME IS NULL
2007/12/10(月) 01:55:00ID:???Kernelが64-bit i686でコンパイルされてるから、32-bit版のXEが
入らないって文句言われてんだよ。
uname -aでkenelのバージョン確認してみ?
0129NAME IS NULL
2007/12/12(水) 14:09:25ID:???MERGE INTO
hoge a
USING
(SELECT
'1' seq, '1' id
FROM
DUAL
) b
ON
(a.seq = b.seq AND a.id = b.id)
WHEN MATCHED THEN
UPDATE
hoge
SET
str_title = 'サンプル',
str_url = 'http://example.com/',
str_comment= 'サンプルです'
WHEN NOT MATCHED THEN
INSERT INTO
hoge ( id, seq, str_title, str_url, str_comment )
VALUES
( 1, 1, 'あ', 'http://example.com/', 'サンプルです');
0130NAME IS NULL
2007/12/13(木) 01:08:13ID:???UPDATEのうしろとINSERTのうしろがおかしい。
0131NAME IS NULL
2007/12/13(木) 13:13:56ID:???この場合どのライセンスを購入すればよいでしょうか?
開発するアプリケーションの種類はWebアプリです。
0132NAME IS NULL
2007/12/13(木) 13:59:42ID:???開発だけならPersonalでもいいし、OTN Software Kitでもいい。
まぁ、US-OTNに利用者登録してダウンロードすれば
開発ライセンスのメディア代もタダだけどな。
技術サポート受けたいなら、Personal買え。
0133NAME IS NULL
2007/12/13(木) 20:44:55ID:???0134NAME IS NULL
2007/12/14(金) 13:48:01ID:???を取得する方法はありますか?
0135NAME IS NULL
2007/12/14(金) 13:51:54ID:???どのくらい勉強時間が必要よ?
0136NAME IS NULL
2007/12/14(金) 14:01:46ID:???この辺のファンクション使えば取れそうじゃね?
ora_sysevent,
ora_login_user,
ora_instance_num,
ora_database_name,
ora_dict_obj_name,
ora_dict_obj_type,
ora_dict_obj_owner,
0138NAME IS NULL
2007/12/14(金) 15:53:31ID:???呼び方は下のサイトを参考にしたのですがコマンドラインだと実行も出来ないようです。
ttp://oracle.se-free.com/jdbc/g5_func.html
>begin ? := hoge('test','test'); end;");
CREATE FUNCTION hoge(
id IN NUMBER,
pass IN NUMBER
)
RETURN NUMBER IS
s_number NUMBER;
BEGIN
SELECT COUNT(id) INTO s_number FROM t_hoge WHERE id = f_id;
IF s_number >0 THEN
RETURN 0;
END IF;
INSERT INTO t_hoge(id,pass) VALUES(f_id,f_pass);
return f_id;
END;
/
どこがいけないのでしょうか?
0139NAME IS NULL
2007/12/14(金) 17:38:04ID:???0140134
2007/12/14(金) 18:04:05ID:???以下のSQLで取得できました。
SELECT PROGRAM FROM V$SESSION VA
WHERE EXISTS (
SELECT VB.SID, VB.SERIAL# FROM V$SESSION VB
WHERE VA.SID = VB.SID
AND VA.SERIAL# = VB.SERIAL#
AND VB.AUDSID = SYS_CONTEXT('USERENV', 'SESSIONID')
);
0141NAME IS NULL
2007/12/14(金) 20:14:54ID:???何とかDBを好きになりたくて、楽しみたいと思ってます。
自宅でDBを使って楽しむ方法ってどういうものが
あるのでしょうか?
自分では思いつけないので、教えてください。
0142NAME IS NULL
2007/12/14(金) 23:22:41ID:???俺もOracleで9年以上飯食ってるけど、自宅でなんか使ったことないよ。
自分の勉強のためにLinuxにRAC入れたりして遊ぶぐらい。
0143NAME IS NULL
2007/12/14(金) 23:40:56ID:???郵便局から郵便番号と住所のデータをダウンロードして遊ぶとか。
業務プログラマなら知識増えるだけで
周囲に自慢できるから、単に新しい機能覚えるだけでもモチベーションでるよ。
SQLに疎い業務プログラマまじで多い。
0144NAME IS NULL
2007/12/15(土) 00:01:26ID:???業務SEなら これ読んで データベースに展開してみるのもいいんでない?
ttp://www.amazon.co.jp/gp/product/images/4534032501/sr=8-1/qid=1197644344/ref=dp_image_0?ie=UTF8&n=465392&s=books&qid=1197644344&sr=8-1
目的ないと きついよね
0145NAME IS NULL
2007/12/15(土) 00:22:57ID:???滅多に使わない
0146NAME IS NULL
2007/12/15(土) 00:27:08ID:RcQd2CIuOracle10gR2とOracle11gには接続可能でしょうか?
当方、Oracle9iでは接続の実績があるのですが上記のバージョンに変更しようと思っています。
0147NAME IS NULL
2007/12/15(土) 00:42:23ID:???0148NAME IS NULL
2007/12/15(土) 03:21:19ID:???可愛いじゃねぇかよ(;´д`)ハァハァハァ
0149NAME IS NULL
2007/12/15(土) 16:58:56ID:???参考になりました。ありがとうございます。
色々探してみようと思います。
0150NAME IS NULL
2007/12/16(日) 21:38:49ID:eMcHXlqr特に障害とか保守作業とかが必要ないときであっても、
毎月簡単な報告書くらいまとめようかな、と思います。
(DB自体の保守や管理ってもっときちんとした報告書とか作成すべきでしょうが、
あくまで「DBを扱うアプリ」側の保守なので、簡易なものでいいと思ってます)
報告書の内容としてぱっと思いついたのは
・ レコード件数
・ 使用領域・未使用領域の状況
・ Oracleの表領域が格納されているディスク自体の容量の状況
…とかを考えてるんですが、そのほかに
「これは必須だろ常考」「DBAならこれを確認しとくのが当たり前」って項目があれば
ぜひご意見を伺いたいです。
0151NAME IS NULL
2007/12/16(日) 22:11:55ID:???まず、OTNで聞いた方が良い。
0152NAME IS NULL
2007/12/16(日) 22:41:33ID:???・CPU使用率の推移
・DiskI/O量の推移
・夜間バッチの処理時間推移
・平均レスポンス時間の推移
0153NAME IS NULL
2007/12/17(月) 00:35:46ID:???0154NAME IS NULL
2007/12/17(月) 16:10:34ID:???--テーブル quest
hoge_id str_quest look_flg date
1 名前は 1 07-12-17
--テーブル answer
user_id hoge_id str_answer look_flg date
111 1 益男 1 07-12-17
このようなテーブルでhoge_idが一致するデータを連結して取得する際に、answer側が空(IDが存在しない)の場合はquestの値だけを返してくれるヴューを作っているのですがうまくいきません。(hoge_id の値を持ったquestがない場合はNULLでOK)
作ったヴューは以下です。
CREATE OR REPLACE VIEW get_quest AS SELECT
quest.str_quest,
answer.str_answer,
quest.date AS q_date,
answer.date AS a_date
answer.look_flg
FROM quest,answer
WHERE quest.look_flg = 1;
SELECT * get_quest WHERE hoge_id=1 and user_id=111;
これだと明らかに間違っているのは分かるのですがどうしても最適な文が思いつきません。
ご教示お願い致します。
0155NAME IS NULL
2007/12/17(月) 20:53:03ID:vNanl1pJアプリ側からみたDBの報告なら日別、時間別の
アクセス数集計とレスポンス計測・報告で十分。
0156NAME IS NULL
2007/12/17(月) 23:58:36ID:???SQLの前に日本語を書けるように頑張ってください。
あなたの書いていることがよく分かりません。
実は自分が何をしたいのかもわかっていないのではないのでしょうか?
Viewはビューで結構です。
前半のSQL文はQUESTとANSWERの全組み合わせを取り出しているにすぎず、
後半のSQL文は文法間違いしています。
SELECT
hoge_id,
quest.str_quest,
answer.str_answer,
quest.date AS q_date,
answer.date AS a_date
answer.look_flg
FROM quest LEFT OUTER JOIN answer USING (hoge_id)
ただし、これだとquestにanswerが複数合った場合に複数questが出力される。
0157NAME IS NULL
2007/12/18(火) 02:36:57ID:q4P2kapu今月のDBマガジンで「Oracle SQL Developer」の紹介がありました。
その記事のなかでクエリービルダーの話がでてきたんですが…
「SQL Developerは 〜 SQL PLUSと比べるとはるかに見やすいだろう。
また、クエリービルダーを起動すれば…」
SQL Developerの中にクエリービルダーという項目はありませんでしたし、
ネットで調べても、oracleのクエリービルダーというツールも見当たりませんでした
ご存知の方いましたらぜひ教えてください。
0158NAME IS NULL
2007/12/18(火) 04:43:10ID:???あるみたいだが、実際に見たことはないなあ
明日会社で試してみる
0159158
2007/12/18(火) 12:30:28ID:???SQLワークシートの何もない部分で右クリック→Query Builder。
初めて知った。Accessっぽいね。
0160154
2007/12/18(火) 14:08:39ID:???どこが変な日本語なのでしょうか??
普通に理解できると思いますが、、、
>viewはビュー
ヴューでもビューでも大差ないと思います
ビューでquestとそれに紐づいたanswerを全部取り出せるようにしておいて
SELECTの際にuser_id(ユーザ番号)を指定して(ユーザごとの)解答+質問文を取り出したいのです。
やりたいことは分かっていただけましたでしょうか?
0161NAME IS NULL
2007/12/18(火) 19:50:55ID:???SELECT 社員番号, 資格名, 取得日 FROM 資格テーブル;
SELECT 社員番号, 部署名, 配属日 FROM 部署テーブル;
これらのSQL文を1文で取得したいのですが可能でしょうか?
社員テーブル1つに対して資格テーブル,部署テーブルは1行以上になる可能性があります。
■社員テーブル
■資格テーブル1
■資格テーブル2
■資格テーブル3
■部署テーブル1
■部署テーブル2
このように配列で返して欲しいのですがどんな方法があるでしょうか?
または皆さんならどうしますか?
やはり3文で応答するしかないのでしょうか?
宜しくお願い致します
0162NAME IS NULL
2007/12/18(火) 20:40:41ID:???ストアドでOK
0163162
2007/12/18(火) 20:45:39ID:???JavaストアドでOK。
PL/SQLでも問題なく出来るとは思うけど、
VARRAYとか考えずに配列データとして出力まとめるなら、
普通の記述言語の方が楽だろ。
0164NAME IS NULL
2007/12/18(火) 21:27:16ID:???絶対にやってはいけない:
SELECT 社員番号, 資格ARRAY, 部署ARRAY
FROM 社員テーブル
INNER JOIN (SELECT 社員番号, SYS_CONNECT_BY_PATH(資格名 || '@' || 取得日, '/') 資格ARRAY, CONNECT_BY_ISLEAF 資格_IS_LEAF
FROM (SELECT ROWNUM RN, 社員番号, 資格名, 取得日 FROM 資格テーブル)
START WITH RN = 1 CONNECT BY PRIOR RN = RN + 1 AND PRIOR 社員番号 = 社員番号) USING (社員番号)
INNER JOIN (SELECT 社員番号, SYS_CONNECT_BY_PATH(部署名 || '@' || 配属日, '/') 部署ARRAY,
CONNECT_BY_ISLEAF 部署IS_LEAF
FROM (SELECT ROWNUM RN, 社員番号, 部署名 , 配属日 FROM 部署テーブル)
START WITH RN = 1 CONNECT BY PRIOR RN = RN + 1 AND PRIOR 社員番号 = 社員番号) USING (社員番号)
WHERE
1 = ALL(資格_IS_LEAF, 部署IS_LEAF)
0165164
2007/12/18(火) 21:36:13ID:???あ、ROWNUMのところは適当に
ROW_NUMBER (PARTITION BY 社員番号 ORDER BY 社員番号)
ということにしておいてください。MySQLみたいな集約のCONCATが無いOracleでたまにやる。
(ソースコードには残らない仕事のときだけ)
0166NAME IS NULL
2007/12/18(火) 23:31:45ID:???ありがとうございます!
0167NAME IS NULL
2007/12/19(水) 10:06:27ID:???そのSQLは階層問い合わせ使ってるから、バージョンによっては使えない。
使えるバージョンを書いておかないと、勘違いする人いるから
書いた方が良いいと思う。
0168NAME IS NULL
2007/12/19(水) 19:29:44ID:???0169NAME IS NULL
2007/12/20(木) 00:18:16ID:???Aテーブルに50万件のレコードが格納されており、whereで5000件程度に
絞れると仮定します。
1:select * from A inner join B on ( ) where 〜
2:select * from (select * from A where 〜) inner join B on ( )
この2つを比較するとどちらの方がパフォーマンスがよいのでしょうか?
0170NAME IS NULL
2007/12/20(木) 01:20:04ID:???最初に評価される表がINDEXを使えたり、行数が少ないなら早い。
1は結合してから検索かけてる
2はA表を最初に評価対象にしている。
結果は2だろうけど、RDBMSがどのような最適化してるから知らないからな。
0171NAME IS NULL
2007/12/20(木) 01:20:06ID:???たぶんOracleが強力に最適化してしまうので、どっちも同じ実行計画になるよ。
0172NAME IS NULL
2007/12/20(木) 23:30:04ID:5x3NWZXYオラクルクライアントってサービスなの??
サービスであるならば、オラクルを使用しないシステムの開発中は、
サービスを停止したいのですが、、
0173NAME IS NULL
2007/12/21(金) 00:56:53ID:???所詮、バックグラウンドでリスニングするための設定プロセスにすぎないから。
0174NAME IS NULL
2007/12/22(土) 17:43:56ID:qZUX37h2こんにちは、172です。
オラクルクライアントのサービスはどうやってとめるのですか?
0175NAME IS NULL
2007/12/22(土) 20:32:56ID:???Oracle Clientはサービスじゃない。
0176NAME IS NULL
2007/12/22(土) 21:08:24ID:???サービスであるならば、サービスを停止したいのですが、、
↓
止めても構わないよ。
↓
オラクルクライアントのサービスはどうやってとめるのですか?
↓
Oracle Clientはサービスじゃない。 ←今ここ
一人、バカが紛れ込んでいます。さて、誰でしょう?w
0177仕様書無しさん
2007/12/22(土) 21:20:54ID:???0178NAME IS NULL
2007/12/22(土) 23:51:05ID:???サービスであるならば、サービスを停止したいのですが、、
↓
止めても構わないよ。
↓
オラクルクライアントのサービスはどうやってとめるのですか?
↓
Oracle Clientはサービスじゃない。
↓
サービスでないなら止める必要無い。
終了。
0179NAME IS NULL
2007/12/25(火) 00:12:49ID:???0180NAME IS NULL
2007/12/25(火) 00:46:20ID:???設定ファイルを使ってオラクルと通信するクライアントツール
0181NAME IS NULL
2007/12/25(火) 01:13:44ID:???0182NAME IS NULL
2007/12/25(火) 06:20:57ID:???何をいまさらwww
0183NAME IS NULL
2007/12/26(水) 18:54:47ID:if5svl3h0184NAME IS NULL
2007/12/27(木) 00:03:56ID:???Kernelがi386だったというオチだったりしないか?
0185NAME IS NULL
2007/12/27(木) 11:27:38ID:YLT4m45Uプロセスが大量にできて、メモリも結構食っているので、一旦止めようと
思っています。でも、止め方がわかりません。
バージョンは11g-R1です。どうすればいいですか?
/etc/init.d/の下にもそれらしきものはないし。。。
0186NAME IS NULL
2007/12/27(木) 12:25:44ID:???とりあえずこれを試してみよう。
/opt/oracle/product/11.1.0/db_1/bin/dbshut
0187NAME IS NULL
2007/12/27(木) 12:29:57ID:YM6G8kqZ$uname -ar
Linux debian 2.6.18-5-amd64 #1 SMP Mon Dec 3 04:55:28 UTC 2007 x86_64 GNU/Linux
0188150
2007/12/29(土) 17:15:41ID:PG+gUzIRみなさんアドバイスありがとうございます。
>>152>>155
ありがとうござます。
今まで出された項目を下に書いてみました。
・ レコード件数
・ 使用領域・未使用領域の状況
・ Oracleの表領域が格納されているディスク自体の容量の状況
・ CPU使用率の推移
・ DiskI/O量の推移
・ 夜間バッチの処理時間推移
・ レスポンス計測・平均レスポンス時間の推移
・ 日別、時間別のアクセス数
> アプリ側からみたDBの報告なら日別、時間別の
> アクセス数集計とレスポンス計測・報告で十分。
アプリ側かDB等の環境/基盤保守側かで報告する観点も変わってくるんですね。
夜間バッチの処理時間推移もどちらかというとバッチアプリに関連するから
念のためそれも調べておこうかと思います。
>>153
パフォーマンス的に問題が発生していないかを確認しておきたい、
というのが、今回の目的に該当するかと思います。
登録・更新するレコード件数が増加傾向にあるので、自分は当初
・ 使用領域・未使用領域を監視して必要に応じ再編成等対処
・ 自動拡張設定になっているので、表領域が格納されているディスク自体の容量を確認しておき
万が一自動拡張したときに容量不足になる危険性がないか調査
というのを考えてました。
それと、誤解を恐れずに書くと、ちょっと言葉は悪いですが
DBに関する報告書を作成するのは、「DB障害を未然に防ぐため」が
いちばん重要な目的だとは思うのですが、
アプリ側の報告書なので
「納品物作成しましたよ、ちゃんと毎月チェックしてますよ」という
「作業したというアリバイ作り」っていう面もあると思ってます。
(もちろん、これが第一目的ではないですが……
ただDB障害が発生していないからといって何にもチェックせずのほほんとしてるのは
よくないのでは、と思うので。)
そういう発想はよくないのかもしれませんが……。
0189NAME IS NULL
2008/01/01(火) 21:32:44ID:oiaQYP0Eこんなん出ましたけど、、、、
$ sudo /home/db/oracle/app/eiichi/product/11.1.0/db_1/bin/dbshut /home/db/oracle
Failed to auto-stop Oracle Net Listener using /home/db/oracle/bin/tnslsnr
0190NAME IS NULL
2008/01/02(水) 01:12:27ID:???0191NAME IS NULL
2008/01/02(水) 01:32:43ID:Dgv8lEDk木手?
0192NAME IS NULL
2008/01/02(水) 01:33:09ID:???教えてよ。
0193NAME IS NULL
2008/01/02(水) 02:27:49ID:???oracleを停止するのは諦めました。
とりあえず、oracle関係のプロセスを全killして、関係ありそうなファイルを削除
しました。リブートしてみて何か問題がなければいいかなと。
0194NAME IS NULL
2008/01/02(水) 03:24:34ID:???えいいち、いきなり消すなんてどうかしてんぞ?
root.shで色々といじくられてるんだぞ?
気に入らなかったら、どうしてインストーラー使ってアンインストかけようとしない?
0195NAME IS NULL
2008/01/02(水) 22:13:11ID:IKgH7NoX別にオラは来ないんですが
なんでオラクルなんですか?
0196NAME IS NULL
2008/01/02(水) 22:18:47ID:???どうしても知りたかったら、Matrixを見てみるといい。
0197NAME IS NULL
2008/01/02(水) 23:53:11ID:???0198NAME IS NULL
2008/01/03(木) 00:29:55ID:???0199NAME IS NULL
2008/01/03(木) 02:32:44ID:???0200NAME IS NULL
2008/01/03(木) 04:46:03ID:???オサーン、ハケーン。
ムーンストーンの発売をずっと待っているのはお前だけではあるまい。
0201NAME IS NULL
2008/01/14(月) 11:30:37ID:???マニュアルを読むと、JAZNとかいうシェルを起動するか
GUIでやるみたいなのですが、両方とも良くやりかたが
分からないです。
どなたか教えて頂けますか?
0202NAME IS NULL
2008/01/14(月) 18:48:37ID:???使ってないからしらないけど
iSQL*PlusはWindowsMeと同じに状態になってる
調べておいても無駄になるよ
0203NAME IS NULL
2008/01/14(月) 19:20:33ID:???そんな感じなんですか。
マニュアル見たら、「これからはisql*plusが基本ツールになる」
みたいに書かれていたので、isql*plusを使おうかと。
そうでないなら、sql*plusでいいかもしれませんね。
0204NAME IS NULL
2008/01/14(月) 21:07:01ID:???ttp://otndnld.oracle.co.jp/document/products/oracle11g/111/windows/E05878-01/whatsnew.htm#BGGBABGJ
0205NAME IS NULL
2008/01/18(金) 15:19:35ID:???ちょっとわけわからのです。
FileMakerPro9からODBCでOracle7(!)のテーブルを持ってきたいのですが・・・
SERECT * FROM ##### (####はテーブル名)
としても、
「ODBCエラー; [Microsoft][ODBC driver for Oracle][Oracle]ORA-00942;表またはビューが存在しません」
となります。
なんででしょう?
0206NAME IS NULL
2008/01/19(土) 09:42:01ID:???どのユーザーでログインしてるんだ?
ちゃんとSchema指定してるか?
select * from boge.hoge_table; みたいにさ?
0207NAME IS NULL
2008/01/21(月) 09:17:05ID:???ユーザーはsys(管理者権限)です。
Schema指定・・・したけどかわらん orz
0208NAME IS NULL
2008/01/21(月) 09:48:31ID:P/yV5kbJSELECT * FROM ##### (####はテーブル名)
selectのスペルミス?
0209NAME IS NULL
2008/01/22(火) 10:06:15ID:???ぁぅ・・・
それは書き込み時のミスです。
ちゃんと「select * from ####」です。
もう、あれですかね。
Oracle7って時点でだめだめっすかね?
0210NAME IS NULL
2008/01/23(水) 03:45:20ID:s8cIM/FNなるべくヒントを書かずに最適な実行計画を立てさせるには、
統計情報をどのように取得したらよいでしょうか?
そんなに複雑ではないSQLなのですが、
件数が増えると早々にインデックスを捨ててフルスキャンしてしまい、
ヒントでインデックスを指定するのに比べ、実行時間が10倍以上になってしまいます。
今は DBMS_STATS を使用し、100%で取っています。
0211NAME IS NULL
2008/01/23(水) 07:31:55ID:???OPTIMIZER_INDEX_CACHING や OPTIMIZER_INDEX_COST_ADJの初期化パラメータを
変更するとINDEX SCANのコストを低くできるよ。
使い方については、マニュアルや検索サイトで調べてください。
0212NAME IS NULL
2008/01/23(水) 23:20:02ID:???「Oracle Enterprise Manager Javaコンソール」も
無くなっているんだ?!
ガガーン!!重いけど、便利だったのに。。
0213NAME IS NULL
2008/01/24(木) 23:39:38ID:???10000001 00 A001
10000001 01 ’’(1byteスペース)
10000001 02 A002
10000001 03 ’’(1byteスペース)
上のようなテーブルで枝番が00のレコードの所属が変わった時に
履歴データを登録するトリガーを作ろうとしています。
(履歴データのテーブルは上と同じです)
登録したい履歴は
�@枝番00の履歴
�A枝番00以外で所属がスペースのもの(上だと01と03)
(履歴の所属は枝番00の所属をセット)
IF :OLD.所属 <> :NEW.所属 THEN
�@ INSERT INTO RIREKI (:OLD.会員番号,:OLD.枝番,:OLD.所属);
�A INSERT INTO RIREKI(
SELECT 会員番号,枝番,:OLD.所属 FROM テーブル
WHERE 会員番号 = :OLD.会員番号
AND 枝番号 <> 00
AND 所属 = ' '
);
END IF;
上のように作ったのですが�Aの履歴が登録されてくれません。
�@は登録されます。
�Aの履歴登録をファンクションにして見ても同じです。
(ファンクションを単体で動かすと登録されます)
どこがおかしいのでしょうか?アドバイスをお願いします。
0214NAME IS NULL
2008/01/25(金) 03:32:01ID:???ありがとうございました。おかげで急場がしのげました。
0215NAME IS NULL
2008/01/25(金) 23:35:08ID:FdYL0YIcAテーブルとDテーブルとEテーブルを結合して10000人の個人情報(1人1レコード)を取得する。
AテーブルとFテーブルとGテーブルを結合して10000人の個人情報(1人1レコード)を取得する。
・・・といった感じでAテーブルに対して複数のテーブルを当てて取得したいようなのが
20種類くらいあったとして、それぞれが同じ10000人の個人情報だとする。
その10000人は、Aテーブルに対して条件を指定する事で取得出来て、
対象者をキーとして簡単に結合出来る場合、
一発のSQLで取るほうがいいのか、複数回に分けた方がいいか
どっちがいいかなパフォーマンス的に。
大量データを扱う場合、複数回に分けた方がいい場合があると聞いたので
0216NAME IS NULL
2008/01/26(土) 00:04:20ID:???何かよく知ってる仕事と関係がありそうな…
こういうところで新規性を失うと特許出せないですよ。特29条1項3条。
複数回に分けるということはトランザクションを考えないといけないので、
一般には1回で済ませるほうがいいですね。
パーティション表などの考え方とはちょっと概念が違いますよ。
0217NAME IS NULL
2008/01/26(土) 07:59:23ID:4u50YVa+そんな大層なものじゃないですよ、すごく超初心者的な質問です。
--
SELECT A.個人を特定するID,
B.住所,
C.職業,
ア.住所マスタ,
イ.職業マスタ
FROM A,B,C,ア,イ(外部結合)
WHERE
A.個人を特定するIDの条件
--
実際はもっと複雑なSQLですけど、これがB,CだけでなくZまであったとして、
B〜Z、ア〜ンまでのデータを一つのSELECT文で取得する場合と
BとC、DとE・・・といった具合に複数回にSELECT文を分ける場合で、
後者の方がパフォーマンスに優れる場合もあると聞いたんですが、
理由聞いてもイマイチ分からなかったので質問しました
こんな事、特許出すほど新規性のあるものでは無いと思いますが・・・
0218NAME IS NULL
2008/01/26(土) 08:08:18ID:???ちなみにどんな理由だったんだ?
0219NAME IS NULL
2008/01/26(土) 08:14:01ID:???検索しに行くレコード数が半端ないからという理由です
自分としては、どっちにしても同じデータを取得するのだから
単純に一度に取れた方がいいじゃんって思うのですが・・・
0220NAME IS NULL
2008/01/26(土) 09:11:03ID:???それ理由になってないな
10gで廃止されたが OPTIMIZER_MAX_PERMUTATIONSってパラメータがあるんだけど
テーブル6個だと結合順序は720通り,7個になると5040通りになる
9iのデフォルトの上限値はテーブル6個までの結合順序は完全に調査できるが7個は無理
大量のテーブルを結合するとCBOの実行計画で結合順序をミスったときのインパクトも急激にでかくなる
結合順序の選定は総当りではなく統計情報がサポートしてるけど完璧ではない
0221NAME IS NULL
2008/01/26(土) 09:25:45ID:???よく分かりました
THX!
0222NAME IS NULL
2008/01/27(日) 08:55:53ID:???俺だったら大量テーブルのJOIN結果のデータ取得は
マテリアライズドビュー使うがなぁ。
0223NAME IS NULL
2008/01/30(水) 17:29:57ID:???ありえますでしょうか?
0224NAME IS NULL
2008/01/30(水) 17:44:30ID:???勝手に落ちてることはたまにある。
負荷掛かりすぎてたとかじゃないか?
0225NAME IS NULL
2008/01/30(水) 17:50:41ID:???なるほど。負荷がかかりすぎると落ちるとは知りませんでした。
0226NAME IS NULL
2008/01/31(木) 00:51:56ID:???listenerのログ見てみればいいじゃん?
誰かが間違って落としているかもよ?w
まあ、用意周到な奴はログも消しているかも知れないけどさw
0227NAME IS NULL
2008/01/31(木) 10:09:01ID:???リスナーは接続を待ち受けてるだけではなく他の仕事もしているのでしょうか?
0228NAME IS NULL
2008/01/31(木) 17:15:30ID:???インスタンスが落ちるというのはあるみたいですが。
どこかにソースは無いでしょうか?
0230NAME IS NULL
2008/02/01(金) 09:06:23ID:???リスナーに負荷がかかる状況としては、RACなんかでロードバランスされていた
セッションが、インスタンス障害やノード障害などで落ちてしまった場合なんかが
該当するだろうな。
設定にもよるけど、こういった場合には生き残っているノードに、一気に新たな
セッションを確立しようとするから、一時的にリスナーに負荷がかかる事が
考えられる。
0231NAME IS NULL
2008/02/01(金) 09:27:34ID:???DBサーバーはきっと火を吹いてる
0232NAME IS NULL
2008/02/01(金) 13:01:20ID:???おいらUDB2しか触ったことないのにDBなら一緒でしょ、とか
訳のわからん理由でoracleの案件に突っ込まれて涙目で勉強してるんだが、
兄貴諸氏お薦めの本や、サイトってないでしょか・・。
手探りだと時間かかってしまって・・。
できれば、トリガーとPL/SQLについて詳しく説明してあるものがいいです。
0233NAME IS NULL
2008/02/01(金) 15:00:14ID:???PL/SQL 入門 トリガー で検索しる
0234232
2008/02/01(金) 17:39:41ID:???検索してみて、「やさしいOracle PL/SQL入門」ってのがよさげだったので
これにしてみました。
涙目にならず、がんばります。
0235NAME IS NULL
2008/02/01(金) 17:48:18ID:???Oracle Technology Network (OTN) Japan
http://otn.oracle.co.jp/
ここにユーザ登録しておけばある程度は何とかなる。
マニュアルもあれば、サンプルもあるし。
0236NAME IS NULL
2008/02/01(金) 20:10:27ID:???アメリカ人のプログラマーの友人と会話の中で
「Oracle Master」という言葉を出しても相手は「?」という感じだったのですが
USでは別の言い方をされてるのでしょうか?
Google英語版で調べてみてもそれっぽいのが出てこないのですが・・・
0237NAME IS NULL
2008/02/01(金) 20:23:24ID:???ttp://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=141
0238NAME IS NULL
2008/02/01(金) 20:25:27ID:???gold=OCP
platinum=OCM
0239NAME IS NULL
2008/02/01(金) 20:26:37ID:???OCM/OCP/OCA だな。
0240NAME IS NULL
2008/02/02(土) 07:01:21ID:???アメリカ在住だが、こっちではOracle CertifiedとかOracle Certified DBAとかって言う。
まあ、たまに面接とかするんだけど、レジュメの一番先に「Oracle Certified DBA」とかって
書いている奴に限って、実務は全然駄目だったりする。
特にインド人な。
0241NAME IS NULL
2008/02/02(土) 07:28:53ID:???日本でも同じだよ(w コレも全世界共通なのかな
資格なんてって思うけど...
実務でバリバリ出来る人は簡単にOCP(Gold)くらいは取れちゃうからね
0242NAME IS NULL
2008/02/02(土) 13:21:36ID:???インストールの一番最後で、
「jrewを起動できませんでした」のエラーが出てしまいます。
0243NAME IS NULL
2008/02/02(土) 15:59:50ID:???接続等もちゃんとしてあって、TBLがちゃんとあって
TBLの容量不足以外で
UPDATE文だけ失敗させる方法ってありますかね?
0244NAME IS NULL
2008/02/02(土) 16:15:02ID:???0245NAME IS NULL
2008/02/02(土) 17:11:07ID:???どうもありがとうです。それしかなさそうですね。
0246NAME IS NULL
2008/02/03(日) 05:00:43ID:???triggerで弾けば?
0247NAME IS NULL
2008/02/03(日) 09:55:24ID:???いちばん簡単なのはプライマリキー重複エラーじゃないか?
0248NAME IS NULL
2008/02/03(日) 15:02:43ID:Do4vvoU0試験情報とかって知ってますか?
試験のイメージがわかないんですが、
具体的な試験の内容とか知っている人いれば教えてくれませんか?
0249NAME IS NULL
2008/02/03(日) 17:51:18ID:???落ちてるんでしょうか
0250NAME IS NULL
2008/02/03(日) 18:28:04ID:???Platinum9iを保有しています
残念ながら具体的な内容は教えられないことになっています
「特訓コース」の研修にでも参加してみたら
>>249
繋がりますよ
0251NAME IS NULL
2008/02/03(日) 18:33:26ID:???FireFoxじゃなくてIEでアクセスしたら繋がりました。失礼しました。
0252NAME IS NULL
2008/02/03(日) 19:02:42ID:???去年の3月に受けたときはこんな感じ。
シナリオ0 45分 セットアップ
シナリオ1 120分 データベースとネットワーク構成
シナリオ2 120分 Enterprise Manager Grid Control
シナリオ3 60分 データベースの可用性を向上させる構成
シナリオ4 90分 データウェアハウス向け機能の構成
シナリオ5 120分 データの管理
シナリオ6 120分 パフォーマンスの管理
シナリオ7 105分 Real Application Clusters
シナリオ8 75分 Data Guard
あとは google 先生に聞いてみたらいいよ。
0253NAME IS NULL
2008/02/04(月) 02:01:24ID:p8Avi1wMいけそうなのですかね?
特訓コース外の中身がでることってあるのでしょうか?
0254NAME IS NULL
2008/02/04(月) 07:09:56ID:???特訓コースを受講した
全員が合格しているわけではないと思うぞ
っとだけ言っておこう
0255NAME IS NULL
2008/02/04(月) 08:27:30ID:???ぜんぜん足りない。そんなに Platinum は甘くないよ。
0256NAME IS NULL
2008/02/06(水) 01:06:09ID:???0257NAME IS NULL
2008/02/06(水) 04:47:57ID:???Internet File Systemのことか?
0258NAME IS NULL
2008/02/06(水) 14:41:40ID:wj1xNTA5動くよ
0259256
2008/02/06(水) 21:27:21ID:???9iでコケた技術なのかな、って気になったわけです。
もしくはここで聞く話じゃないのを承知で聞きますが、mysql やposgreに同じ機能の物ありますか?
オフラインでレスしているので返信が遅れて申し訳ありません。
0260仕様書無しさん
2008/02/06(水) 22:28:39ID:???いまもう11gが出てるんだが。。。
9iを大々的に宣伝って、何を見てるんだ?
とりあえず、10gのマニュアル。
http://otn.oracle.co.jp/document/products/oracle10g/index.html
0261NAME IS NULL
2008/02/07(木) 00:03:07ID:???流れを読めよ。この人は ifs について聞いてるんだろうが。
0262NAME IS NULL
2008/02/07(木) 03:06:42ID:???出力結果見ても見方が判らないから意味がわからない
0263NAME IS NULL
2008/02/07(木) 20:49:36ID:???つか、ifsは10gでcontent Management SDKに名前変わったよ。
>>262
Object Browserで参照すれば分かり易くしてくれる。
0264NAME IS NULL
2008/02/08(金) 16:14:06ID:???調べたのですが、この用語の具体的な意味を解説しているサイトは見つかりませんでした。
0265NAME IS NULL
2008/02/08(金) 16:19:30ID:???0266NAME IS NULL
2008/02/08(金) 22:46:04ID:z4LAWO81ある列に、半角文字が含まれているレコードを探し当てたいのですが、以下のSQLだと「バ」とか「ガ」など濁音とかだと見逃してしまう
なんか良い方法ないでしょうか?
------------------------------------------
--前提条件:文字コードは「JA16SJIS」
SELECT *
FROM TBL
WHERE LENGTH(COL) <> LENGTHB(COL)/2
;
------------------------------------------
0267NAME IS NULL
2008/02/09(土) 11:47:07ID:???OR INSTR('濁点')みたいな感じで、それらを別に検索すればよいのでは?
0268256
2008/02/09(土) 14:51:26ID:???返信が遅れました256です。
9iではあれだけ宣伝しているのに、10gのマニュアルにIFSの記載がまったくないので古いバージョンを導入しかないのかと
悩んでいたんです。 (9iで思いっきり失敗した事例で10gからなかったことにしたのかなぁ、なんて勝手に考えていました。)
あと実際の環境でWin2000の低スペックPCで運用したくできるだけ古いバージョンをインストールしようと考えていました。
11gってまだ手を出すレベルではないような気しますし。
社内でファイルサーバの整理にInternetFileSystemが有効かなぁ、なんて考えていたんです。
名称が変わっただけみたいですね。 >>263
皆様ありがとうございました。10g修行して戻ってまいります。
/チラシの裏
CLIEにnnsiだとどうしてもレスポンスが遅くなってしまいますです。
ソフトウェア技術者試験をDBがまったく歯が立たなくて落ちたので
もっと気合入れて勉強します。
以上チラシの裏/
0269NAME IS NULL
2008/02/09(土) 23:33:10ID:???ていうかバッチジョブって別にオラクル用語じゃないけどね
http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%83%81%E5%87%A6%E7%90%86
0270NAME IS NULL
2008/02/10(日) 00:27:09ID:C0/lH/mG------------------------------------------
--前提条件:文字コードは「JA16SJIS」
SELECT *
FROM TBL
WHERE LENGTH(COL) <> LENGTHB(COL)/2
OR INSTR('゙')
OR INSTR('゚')
;
------------------------------------------
でOK?
0271NAME IS NULL
2008/02/10(日) 00:55:00ID:???そもそもINSTRって文字位置を返す関数でしょう
WHERE
LENGTH(COL) <> LENGTHB(COL)/2
OR COL NOT LIKE '%゙%'
OR COL NOT LIKE '%゚%'
とやりたいんじゃないの?
それか文字コードがSJISで固定なら文字コードで範囲を絞るとか
0272266
2008/02/10(日) 01:09:34ID:???頭いいっすね。勉強になります。
文字コードで範囲を絞るというと文字コードを返す関数があるのですか?
0273NAME IS NULL
2008/02/10(日) 01:25:06ID:???いやそれだと濁点・半濁点が含まれていないレコードが抽出されるぞ
と自己レス
LIKE演算子の前のNOTは不要でした
>>272
ごめん、あんまり詳しく考えずに書いたけどたぶんあるでしょう>文字コード関数
大体どんな言語にもあるし ASC()とか
0274NAME IS NULL
2008/02/10(日) 01:26:03ID:???0275NAME IS NULL
2008/02/10(日) 02:13:25ID:???違ってないでしょ
もし違っているなら誘導たのむ
0276NAME IS NULL
2008/02/10(日) 04:30:29ID:???オラクルだけの話題とはいい難い
SQL質疑応答スレ
http://pc11.2ch.net/test/read.cgi/db/1193486961/
0277NAME IS NULL
2008/02/10(日) 13:55:25ID:???ありがとちゃーん
0278NAME IS NULL
2008/02/10(日) 14:02:43ID:???0279NAME IS NULL
2008/02/10(日) 21:12:18ID:???0280NAME IS NULL
2008/02/11(月) 02:41:56ID:???0281NAME IS NULL
2008/02/13(水) 11:44:50ID:???何か確認する方法ってありますか?
0282NAME IS NULL
2008/02/13(水) 13:18:15ID:???0283NAME IS NULL
2008/02/13(水) 14:02:15ID:???0284NAME IS NULL
2008/02/13(水) 17:14:30ID:???インストールメディアにはEnterpriseもStandardも入ってるからライセンス証書確認汁。
>>282
それじゃ分からんと思うよwww
>>283
実行計画とにらめっこ汁
0285NAME IS NULL
2008/02/13(水) 22:21:44ID:???たしかインストールしたeditionがrepositoryに表示されてたと思ったが。
#ライセンス証書確認しても何が入っているかの確認にはならんかと思う。
0286NAME IS NULL
2008/02/13(水) 22:25:07ID:???既にインストール済みのインストーラーのことで、それを起動したら
インストール済みのプログラムの細かいバージョンまで表示される。
今、手元に9iのサーバがないからenterpriseかどうかまで表示されるかはわからないけど。
0287NAME IS NULL
2008/02/13(水) 22:32:05ID:???「手元に有る」という表現では、インストール済みの実機とは限らん罠。
>>286
インストール済みの実機有るならsql*plusでconnectすればすぐ分かるだろ。
0288正義の味方
2008/02/13(水) 23:20:29ID:UkjpCQOThttp://seiginomikata.xxxxxxxx.jp/
0289281
2008/02/14(木) 17:59:24ID:???接続の際にプロンプトにOracle9iとしか表示されないのでSEのようです。
また、インストーラ起動でパッチの確認も出来ました。
ありがとうございました。
0290NAME IS NULL
2008/02/18(月) 05:28:37ID:???以下の内容でVBからプロシージャを実行しようとすると、
Parameter 'out_1':No size set for variable length data:String
というエラーになってしまいます。
SQL*Plusからプロシージャを実行すると正常に動作します。
原因がわからないのですが、わかる方いらっしゃったらご教示お願いいたします。
■以下、PL/SQLプロシージャ定義
CREATE OR REPLACE PROCEDURE HANTEI(
IN_1 IN CHAR,
IN_2 IN CHAR,
IN_3 IN DATE,
OUT_1 OUT CHAR,
OUT_2 OUT CHAR)
IS
BEGIN
処理内容;
END;
/
■以下、VB.NET側
Dim OraCmd As New OracleCommand
OraCmd.Connection = Me.Conn
OraCmd.CommandText = "HANTEI"
OraCmd.CommandType = CommandType.StoredProcedure
'--引数(IN属性)
OraCmd.Parameters.Add(New OracleParameter("in_1", 'A')).Direction = ParameterDirection.Input
OraCmd.Parameters.Add(New OracleParameter("in_2", 'A')).Direction = ParameterDirection.Input
OraCmd.Parameters.Add(New OracleParameter("in_3", 'A')).Direction = ParameterDirection.Input
'--引数(OUT属性)
OraCmd.Parameters.Add(New OracleParameter("out_1", OracleType.Char)).Direction = ParameterDirection.Output
OraCmd.Parameters.Add(New OracleParameter("out_2", OracleType.Char)).Direction = ParameterDirection.Output
Try
'ストアドプロシージャ実行
OraCmd.ExecuteNonQuery()
0291NAME IS NULL
2008/02/18(月) 05:49:38ID:???ありがとうございました。寝よう・・・・
0292NAME IS NULL
2008/02/18(月) 22:37:09ID:IYQvJAZb開くのに一日かかるため、実行速度の改善をしたいと思っています。
実行計画を見るとFULLアクセスしているテーブルが多いのですが、
Viewの先のViewの先のViewの先にようやくテーブルがあり、ヒントの
当て方がいまいち・・・。
そこで、ためしにOracle10gに乗せて、EMのSQLチューニングを実行したところ、
SQLプロファイルが適用されて、10分程度で開くようになりました。
このSQLプロファイルと同等のものをOracle9iに展開したいのですが、
どうにもやり方がわかりません。なにか方法あるでしょうか?
0293NAME IS NULL
2008/02/19(火) 00:06:12ID:U5+TvUAjあるいはえんたープライズマネージャでいけるよ。がんがれ。
0295NAME IS NULL
2008/02/19(火) 23:23:04ID:moGfOmeqシーケンスを使っているテーブルA、そのカラムA
テーブルBのカラムBにはカラムAの値を入れる(FK制約はない)
新規データ登録処理で以下のような処理を読み込みデータ分ループしてます
for(---------){
INSERT INTO テーブルA(カラムA)VALUES(xxx.NEXTVAL)
SELECT xxx.CURRVAL FROM DUAL
INSERT INTO テーブルB(カラムB)VALUES(上のSELECTで取得した値)
}
という感じ
キーとなる項目以外省略しました。xxxはシーケンス。
これを同時に複数起動したらカラムAとカラムBの値がずれると言われました。
複数起動を考慮した場合どのようにするのが一般的ですか?
先にNEXTVALをSELECTしておくとかでしょうか・・・
0296NAME IS NULL
2008/02/19(火) 23:50:41ID:???でもそういう時はずれても良いようにすればよい。
for(---------){
SELECT xxx.NEXTVAL FROM DUAL
INSERT INTO テーブルA(カラムA)VALUES(上のSELECTで取得した値)
INSERT INTO テーブルB(カラムB)VALUES(上のSELECTで取得した値)
}
簡単でしょ。
0297NAME IS NULL
2008/02/20(水) 00:00:40ID:???そもそもRollbackしたり、インスタンスクラッシュしたりすればあっと言う間に連番で
なくなるのに、なんでそんなにこだわるの?
0298NAME IS NULL
2008/02/20(水) 11:46:08ID:???insert 〜 returningが使えるならselectは入らない
0299NAME IS NULL
2008/02/21(木) 10:26:36ID:???sqlldrは制御ファイル無しで実行する事は可能でしょうか?
ORACLE8です。
0300NAME IS NULL
2008/02/21(木) 11:46:01ID:???というか、入力のどの部分をどの列に入れるといった指定がないと使う意味がないと思う。
0301NAME IS NULL
2008/02/21(木) 11:58:36ID:???ですよね・・。
ありがとうございます。
制御ファイル書いてきます!
0302NAME IS NULL
2008/02/21(木) 13:49:57ID:???設定したいんだけど、どこをいじればいいんだっけ?
0303NAME IS NULL
2008/02/21(木) 23:56:31ID:???それだけの情報で理解しろというのが無理だろ。
そもそもO/Sはなんなんだ?
Oracleは直にRaw Deviceに書き込んでいるのか?
それともASM経由で書いているのか?
0305304
2008/02/22(金) 10:04:25ID:???>Oracleは直にRaw Deviceに書き込んでいるのか?
>それともASM経由で書いているのか?
これってどこ見ればわかるんだっけ?
0306NAME IS NULL
2008/02/22(金) 11:09:57ID:???記述はこれであってますかね・・。
理由があって聞く人も居ないのですが、カラム一個だけのデータを
ローダ使って読み込めという指示でして・・。
ORACLE8iです。
OPTINS
(DIRECT = TRUE)
LOAD DATA
(
INFILE AAA.dat'
BADFILE 'AAA.bad'
DISCARDFILE 'AAA.dis'
INSERT INTO TABLE 'EMP'
FIELDS TERMINATED BY ","(CLUM_A)
)
0307NAME IS NULL
2008/02/22(金) 11:32:06ID:???それは試してないけど、マニュアルを読めばわかるんじゃないの?
0308NAME IS NULL
2008/02/22(金) 11:34:52ID:???そうですね・・。
ありがとうございます。
0309NAME IS NULL
2008/02/22(金) 23:56:45ID:???v$datafile見れば分かるだろ?
ファイル名が+から始まっていれば、ASM経由で書いていることになるし、
そうでないのならRAW Deviceで書いてるんだろ。
それにASM経由で書いているのならプロセスで+ASMというのが沢山
あるんだから一発だろうが。
0310NAME IS NULL
2008/02/24(日) 04:18:38ID:iudEaq2Gテーブルを列レベルまで調査するにはどの方法が良いでしょうか?
基本は�@USER_DEPENDENCIESでテーブルレベルの目星を付けて
�AUSER_SOUCEで該当のソースコードを目で確認 するしかないでしょうか。
シノニムやビューを挟んで間接依存していたり、リモート参照していたりする子も多いので、
DEPTREE、IDEPTREEでは役に立たない場合もあります。
このような調査を行ったことがある方、ご存知の方、見当がつく方、宜しくお願いします!
環境はUNIXのOracle9iです。
0311NAME IS NULL
2008/02/24(日) 23:37:44ID:???ところで自分も質問があります。
Pro*Cで書かれたDB操作共通関数(ConnectやFetchなど)を利用している
Cのモジュールがあるとして、
その処理をCsh+SQL*Plusで代替することは可能なのでしょうか?
Pro*Cの関数部分だけをCsh+SQL*Plusにしても
トランザクションが継承出来そうにないので無理だと思うのですが…。
0312NAME IS NULL
2008/02/27(水) 00:30:31ID:???いまさらですがOAS4.0.8を乗せ換えようとしてます。
新しい環境だとカートリッジに登録したJSERVLETアプリケーションが
起動しません。何か特別な設定があるのでしょうか?
手順書のPDF通りにしているのですが・・・。
WWWリスナー経由でほかのPCからだとJAVAアプリが実行できるのが
そのPCだと起動しないのが原因なんでしょうか?
0313NAME IS NULL
2008/02/27(水) 09:44:08ID:???where a.code = b.code
and b.code = c.code
and c.code = d.code
をinner joinを使って書きたいのですが
select * from a
inner join b on a.code = b.code
inner join c on b.code = c.code
inner join d on c.code = d.code
としてみたのですが取得する行が
inner joinの方が多いのです。
上のSQLと同じ結果を返すにはどうすればよいでしょうか?
0314NAME IS NULL
2008/02/27(水) 11:25:22ID:???inner join a on a.code = b.code
inner join a on b.code = c.code
inner join a on c.code = d.code
じゃだめだっけ?
0315NAME IS NULL
2008/02/27(水) 11:26:02ID:???inner join a on a.code = b.code
inner join a on a.code = c.code
inner join a on a.code = d.code
こうか・・
0316NAME IS NULL
2008/02/27(水) 23:19:04ID:qnNBcgIv下記clum_aの重複行を表示しないようにしつつ、全ての列を表示したいのです。
簡単に言えば特定列でのDISTINCTなんですが、調べてもDISTINCTで一つのカラムのみ、
またはGROUP BYを使っての集計しか出てきません
サーバの都合でUTL_FILEが使えない(サーバ設定には変更を加えられない)ため
PL/SQLでCURSORを使う方法は無理かと思われます
長くなりましたがお願いします
--テーブル table_name
clum_a culum_b
_________
target 1
target 2
target 3
not_target 1
not_target 2
aiueo 1
SQL*PLUS
___________
SPOOL OUTPUT.csv
SELECT * FROM table_name
WHERE colum_a = 'target';
SPOOL off
0317316
2008/02/27(水) 23:24:23ID:qnNBcgIv書き忘れです
・clum_aはVARCHAR2 culum_bはNUMBER
・追加条件;重複行がある時はclum_bの最大値の行を選択する
0318NAME IS NULL
2008/02/28(木) 02:01:29ID:???手っ取り早いのはサブクエリでcolumn_a='taget'のMAXcolumn_b)を
とってくれば…
0319NAME IS NULL
2008/02/28(木) 22:09:22ID:???0320NAME IS NULL
2008/02/28(木) 22:13:16ID:???0321NAME IS NULL
2008/03/01(土) 15:34:54ID:lw4GEawQ年月日時分秒で範囲指定をしたいのですが
どのように書けばいいのでしょうか
TMP > 'YYYY:MM:DD HH:MM:SS' 形式ではエラーがでてしまいます。
0322NAME IS NULL
2008/03/01(土) 16:55:55ID:???バージョンとどのエラーが出るのかがわからないと答えようがないが、
TO_TIMESTAMP() ではどうだ。
0323NAME IS NULL
2008/03/01(土) 16:56:21ID:???0324NAME IS NULL
2008/03/01(土) 17:45:59ID:???でいけました。ありがとうございます。
0325NAME IS NULL
2008/03/03(月) 22:32:00ID:5tZy63eQ(更新前)
AAA,BBBCCC
AAA,BBXCCC
AAA,BBPCCC
(更新後) ← このようにしたいです。
AAA,BBZCCC
AAA,BBZCCC
AAA,BBZCCC
目的は、項目Bの頭3バイトだけを”BB*”で条件に指定して、
項目Bの頭3バイトを全て”BBZ”に更新したい場合どうすればよいのでしょうか?
項目Bの後3バイトの”CCC”はそのまま残さなくてはいけないため、
どのようなSQL文にすれば良いのかわかりません。
どうしても後3バイトを生かしたままの更新なので。。。。困ってしまします。
お知恵をお貸しください。
0326NAME IS NULL
2008/03/03(月) 23:28:47ID:???0327NAME IS NULL
2008/03/03(月) 23:43:52ID:???select substr(c2,1,2)||'Z'||substr(c2,4,6) from
hoge where substr(c2,1,3) like 'BB_';
後はPL/SQLなんかで回せば?
0328NAME IS NULL
2008/03/03(月) 23:58:48ID:5tZy63eQ他に詳しいスキルをもってる人間な皆無でした。。。
>>327 ありがとうございます。PL/SQLのスキルは解読できるくらいで、
製造はできないレベルです・・・
0329NAME IS NULL
2008/03/04(火) 00:41:49ID:???問題だろ?
顧客には素直に謝るしかないじゃない?
0330NAME IS NULL
2008/03/04(火) 11:53:52ID:???0331NAME IS NULL
2008/03/04(火) 12:19:54ID:???動くかどうかしらんが・・
これじゃダメかな?
え?動かない?知るか。
Update hoge t1
set t1.column_b = (
select substr(t2.column_b,3,1)||'*'||substr(t2.column_b,5,X)
from hoge t2
where t1.p_key = t2.p_key
)
where t1.column_b like 'BB%';
0332NAME IS NULL
2008/03/04(火) 12:30:18ID:???もダメだ・・他不満飲んでくる
0333NAME IS NULL
2008/03/09(日) 09:09:48ID:fDcaGtrrでSQL*Plusに接続したいのですが、
例のログオン画面
・ユーザー名
・パスワード
・ホスト文字列
の入力画面が出てこないのですが、
どのようにすればSQL*Plusに接続できますでしょうか?
0334NAME IS NULL
2008/03/09(日) 10:45:22ID:???0335333
2008/03/09(日) 13:51:19ID:fDcaGtrr0336NAME IS NULL
2008/03/09(日) 14:01:56ID:???0337NAME IS NULL
2008/03/09(日) 16:50:33ID:???ORACLE_SID
0338NAME IS NULL
2008/03/10(月) 22:32:51ID:???困ってます。(´・ω・`)
0339NAME IS NULL
2008/03/11(火) 00:31:51ID:???0340NAME IS NULL
2008/03/11(火) 09:30:55ID:???困っていますで止められても(´・ω・`)
で、質問は?
0341NAME IS NULL
2008/03/12(水) 00:42:31ID:???0342NAME IS NULL
2008/03/12(水) 20:08:57ID:????になると見栄えが良くないので、空白等の別の文字に
置き換えたいのですが 可能でしょうか。
0343NAME IS NULL
2008/03/12(水) 21:48:09ID:???一致したら?にすればいいだけだから簡単だろうけど・・・
でも、それでは本質的な解決にならないのでは?
DBとPHPがやりとりする文字コードが合ってないっていう>>341の意見を
聞いて文字コードを確かめたのかしら??php.iniでは何を設定していて、
Oracleには何を設定しているのかね??
0344NAME IS NULL
2008/03/13(木) 17:55:38ID:???以下のコマンドをVBScriptで実行するにはどうしたらよいでしょうか?
Sqlplus sys/password as sysdba
Shutdown immediate
Startup
Shutdown
以上ですがよろしくお願いいたします。
0345NAME IS NULL
2008/03/15(土) 16:27:17ID:???つ「shell関数&バッチファイル&SQL*PLUS&コマンド定義ファイル」
0346NAME IS NULL
2008/03/15(土) 23:10:48ID:vdIcUnbNお願いします
0347NAME IS NULL
2008/03/16(日) 11:49:23ID:2bM+0JgVタダで手に入りますか?(勉強版みたいなものはありますか?)
0348NAME IS NULL
2008/03/16(日) 14:04:57ID:???0349NAME IS NULL
2008/03/16(日) 15:27:01ID:???Oracle Enterprise LinuxとOracle VMをダウンロード(保守なしなら無料) してインストール
Oracle VM上でゲストOSとしてWindowsサーバを複数セットアップ
上記のやり方でWindowsのOracleDBサーバをまとめられる?
やった人いますか?うまく動きますか?
0350NAME IS NULL
2008/03/16(日) 21:21:45ID:???0351NAME IS NULL
2008/03/16(日) 22:07:38ID:???が通信するためには、LinuxにOracleクライアントがないと
駄目なんっすよね?
そもそも、Linux側で、コンパイルすっからLinux版のヘッダやLibが必要なんだよね、、、
0352NAME IS NULL
2008/03/16(日) 22:18:57ID:???何が言いたいの?
エスパーしてみると Instant Client を使えばいいのでは。
Java なら JDBC ドライバがあればいいけどね。
0353351
2008/03/16(日) 22:31:06ID:???C言語のAP(Linux)からDB(Linux)にアクセスするにはLinuxにOracleクライアント
が必要なのか聞きたかったとです。
Instant Clientは初めて聞いたので見てみましたが、当方Oracle8i、、、、
ざっとみ、Oracle8のInstant Clientはなかったので、Oracleクライアントを準備しないと
いけないんでしょうかね。
0354NAME IS NULL
2008/03/16(日) 23:16:42ID:???http://www.oracle.co.jp/products/system/matrix_db.html
を参考に。OCI というのが Instant Client が提供する C の API ね。
8i が 8.1.7.4 より前なら、そこまで更新してからのほうが不具合が少ないと思う。
後はサポートに聞いてねー
0355NAME IS NULL
2008/03/18(火) 00:37:22ID:???DBサーバーをまとめるというのはどういう意味?
RACを構築可能かということ?
OracleのVMではないけど、VMWAREでならGuest O/SをCent O/S 5にして11g
RACを組んで確認した。
0356NAME IS NULL
2008/03/18(火) 02:53:03ID:???9iだったら8iとの下位互換性が保障されているから、9iのインクラ入れれば?
0357NAME IS NULL
2008/03/18(火) 21:01:09ID:???まとめるというのは、たとえば、Aサーバ(AシステムのDBサーバ)、Bサーバ、Cサーバの3台のDBサーバを1台のマシンX上で仮想的に構築することです。電気代、スペースの削減になる。同じ構成を複数構築すれば(X1、X2....)RACみたいなこともできるね。
ぶっちゃけ言いたいことは、VMWAREやXenやVirtialPCとどう違うのってことです。
0358NAME IS NULL
2008/03/18(火) 22:30:58ID:???そういう意味なら可能。
アプリの特性にもよるけど、それなりにメモリー容量とCPUには配慮は必要だろうけど。
ちなみにOracleのVMはXenがベースだよ。
0359NAME IS NULL
2008/03/19(水) 00:43:48ID:???EM使っていろんな管理作業する際に、
OSユーザのパスワード入力が求められることが多々あるかと思いますが、
OSユーザにパスワードを設定していない場合、
パスワード未入力で進めようとすると
「パスワード入力は必須」の旨のエラーが出ます。
回避手段って何かありますか?
0360359
2008/03/19(水) 00:48:16ID:???「OSユーザにパスワードを設定する」以外の
回避策を望んでいます。
よろしくお願いいたします。
0361NAME IS NULL
2008/03/19(水) 01:52:12ID:???ということ自体が間違い。
回避策としてはEM10gを自分で直すとか。
0362NAME IS NULL
2008/03/20(木) 16:53:02ID:???0363NAME IS NULL
2008/03/20(木) 18:11:55ID:vlU0awbGどうでもいいようなシステムやOracle8でも運用に耐えれるようなところでは
使っているところはある。
でもサポートは終了しているからそのうち無くなると思われる。
0364359
2008/03/20(木) 23:58:24ID:???確かに普通に考えたらそうですね。
私用PCに学習用としてトライアル版を入れて動かしているので、
特にOSのパスワードを設定しておらず、何か回避策はないかな?
と思い質問してみました。
ちなみに余談ですが、以前以下のようにしてみたところ、
レジストリの不整合が原因か、マシンが立ち上がらなくなって
しまいました。
・OSパスワード入力が必須だと気づく
↓
・OSパスワードを設定
↓
・EMで優先接続情報(パスワード)の設定
↓
・OSパスワードを無効
(データベースの本質とは無縁のところの説明ですので、
読み飛ばしてもらっても結構です。)
0365NAME IS NULL
2008/03/26(水) 00:08:29ID:???ツールなどを使わずにSQLのCreate DataBase文から作ってみようかと
思っているのですが、そのあたりについて詳しく書かれているサイトなどありますか?
0366NAME IS NULL
2008/03/26(水) 00:42:31ID:???マニュアル「Oracle Database 管理者ガイド」。
0367NAME IS NULL
2008/03/26(水) 16:32:05ID:77YWGQXODB環境はLinux+Oracle10gで、アプリケーションがRuby+sqlrelayです。
あるプロシージャを実行すると
person1,male,age1
person2,female,age2
…
みたいな結果を返したいとします。
で、もらったプロシージャでは、この結果をプロシージャの中でdbms_output.put_lineを使って一行ずつ出力し、
アプリケーションから新たにdbms_output.get_lineクエリを発行して結果を取得、
アプリケーションで結果行をパースしているのですが、
これって一般的なのですか?
ネットで調べると「dbms_outputパッケージはデバッグ目的で使います」みたいなことが書いてあるので、
通常の結果の受け渡しに使っていいのか疑問なのです。
# sqlrelayのfetch_rowみたいな関数も動かないし...
もっと調べると「そもそも結果を返すんだから、プロシージャじゃなくてファンクションなんじゃないか?」
とかも思うのですが…
どうなんでしょうか?
的外れなことを言っていたらすいません。
識者の皆さん、よろしくお願いします。
0368NAME IS NULL
2008/03/26(水) 17:31:49ID:???oracle master silver
oracle application server10g
ってのを取れって言われちゃったんだけど、何がなんだかわからんw
これって黒本売ってないの?
まったくわかんない状況なんで些細なことでもいいのでわかる人情報ください。
泣きそうですw
0369NAME IS NULL
2008/03/26(水) 19:44:50ID:???馬鹿には教えてやらない。勝手に泣け。
0370NAME IS NULL
2008/03/27(木) 00:37:36ID:???表関数とかテーブルファンクションとかで調べてみたら。
0371NAME IS NULL
2008/03/27(木) 00:44:37ID:???ちょっと google ってみたけど
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_pl15.htm
こんな感じのことを標準出力に出せればいいということかなぁ。
どうもやりたいことがよくわかんない。
0372NAME IS NULL
2008/03/27(木) 02:37:32ID:???取りあえずDBCA起動して、スクリプトだけでも吐き出して貰えばいいじゃん。
でもって、その中身を見て勉強すると。
最近のDBCAはそこそこ使える用になったよ。
一昔前まではバグだらけでイライラさせられていたけどな。
0373NAME IS NULL
2008/03/27(木) 03:35:08ID:???でも結局管理者ガイドを読まないと意味不明だと思うよー
0374NAME IS NULL
2008/03/27(木) 09:56:21ID:???出先でも開発できるように、中古のノートPCに
coLinuxとOracle10gR2試用版を入れようと思ったのですが、
システム要求条件の高さに驚きました。
もっと小さな環境でも入れられる、古いOracleの試用版を
手に入れる方法はないものでしょうか?
0375367
2008/03/27(木) 13:45:33ID:???表関数!そんなものもあるのですね。
ありがとうございます。
>>371
説明がうまくできなくてすいません(´д`;)
やりたいことは単純なことで、プロシージャでSELECTした結果(複数レコード)をrubyスクリプトに渡したいのです。
自分が気になっているところは、
「複数レコードの受け渡しは標準入出力経由でいいの?IN/OUTパラメータみたいに専用の仕組みがあるんじゃないの?」
ってところです。
oracle内のデータのやり取りでなくて、外部プログラムへのデータの渡し方なので、もしかしたらスレ違いの質問なのかもしれません。
プログラム板のデータベース関連で聞いたほうがいいのかな…
0376NAME IS NULL
2008/03/27(木) 17:32:57ID:???オラクルのHPからいつまでたってもリンク先に飛びません
どういうことなんでしょう?
ちなみに他のHPは普通に見れます
0377NAME IS NULL
2008/03/27(木) 18:54:52ID:???ダウンって SHUTDOWN ABORT のこと?
オラクルのHPというのはHPがアライアンスパートナーとして売っているOracleのこと?
でも試供版なんだよねぇ。。
リンク先に飛ぶというのはEMで操作してるのかな。
何を言ってるのかさっぱりわからん。
… 釣られてみたよ。
0378NAME IS NULL
2008/03/27(木) 21:42:04ID:???ダウンする時、ログインするためにウィンドウが別窓として出て
そのウィンドウに気づいてなく、一向にダウンロードが始まらないとか。
0379NAME IS NULL
2008/03/28(金) 02:22:47ID:???Oracle10g Express Editionでも入れたら?
普通に10g入れるよりは若干軽いよ。
っていうか古いバージョンでもそれなりにメモリもCPUも食う。
0380NAME IS NULL
2008/03/28(金) 02:35:41ID:???U.S. OTN、たまに腐っているよ。
諦めずに何度もトライ!
0381NAME IS NULL
2008/03/28(金) 12:34:38ID:???説明不足すみません
http://www.oracle.com/lang/jp/index.html
に飛んで右の方FEATURED DOWNLOADSの下で
11gクリックしてもダウンロードが始まりません
ファイアフォックス使ってまして、いつまで経っても
タブの部分に輪っかがグルグル回っていて、画面が変化しません
0382NAME IS NULL
2008/03/28(金) 13:06:07ID:???ダウンロード可能なファイル名が書かれてある上にある
"ライセンス規約への同意"のラジオボタンをチェックし忘れている予感
0383NAME IS NULL
2008/03/29(土) 12:48:02ID:???良く分からんから、取りあえずここからダウソしろよ。
http://www.oracle.com/technology/software/products/database/index.html
ちゃんと上のライセンス規約で「accept」を選んでからリンクをクリックしろよ。
0384NAME IS NULL
2008/03/30(日) 14:57:43ID:???聞いたのですが本当ですか?
あとindex作っても使用してくれないのでヒントがかかせません
これ普通ですか
0385NAME IS NULL
2008/03/30(日) 18:25:01ID:???パーセンテージは諸説あるが割合が一定以上ならそのとおり。
索引の使用についてはプランを調べてみる。ケースによる。
0386NAME IS NULL
2008/03/31(月) 06:42:50ID:???ちゃんとAnalizeしていれば索引を使ってくれる方が多いと思うけど?
0387NAME IS NULL
2008/03/31(月) 23:31:14ID:G8a55WHbWebの管理画面がでなくなりました。
APEX入れ直さないとでないんでしょうか。
0388NAME IS NULL
2008/04/01(火) 02:16:55ID:???emctl status dbconsoleを試してみてNot runningとか出ているのならemctl start dbcosoleで
起動させろ。
0389NAME IS NULL
2008/04/01(火) 14:05:40ID:NRBC4VGCトリガよりストアドパッケージを呼び出し
その中であるテーブルのレコードを取得し別のテーブルに挿入しています
データ量が多いときと思われますが
ORA-01013: ユーザーによって現行の操作の取消しが要求されました。
のエラーが出ています
ODBCやADOでタイムアウトの調整等はよく聞くのですが
ストアドパッケージでこのエラーの対処法はありませんでしょうか?
OS:Windows2003Server
DB:Oralce9i
よろしくお願いいたします
0390NAME IS NULL
2008/04/01(火) 22:58:05ID:???0391NAME IS NULL
2008/04/02(水) 10:41:41ID:???0392NAME IS NULL
2008/04/02(水) 11:35:29ID:???0393NAME IS NULL
2008/04/02(水) 23:56:35ID:???ORA-7445かも知れないじゃまいか。
0394NAME IS NULL
2008/04/03(木) 11:30:43ID:???何の気休めにもならないwww
0395NAME IS NULL
2008/04/06(日) 22:28:30ID:KZufWnQN0396NAME IS NULL
2008/04/07(月) 21:16:23ID:???別のサービスからテーブルをインポートしたいのですが、
調べるとダンプファイル等と書いてありやり方がわかりません。
user/pass@serve1
のzzx1というテーブルを
user/pass@serve2
にインポートする方法を教えてください。
0397NAME IS NULL
2008/04/07(月) 22:21:46ID:???0398NAME IS NULL
2008/04/07(月) 22:28:22ID:???大間違いだ。
exp と imp のマニュアルくらいちゃんと読め。
0399NAME IS NULL
2008/04/07(月) 22:58:25ID:???Versionぐらい書け。
10g以降ならDatapumpという手もあるんだから。
0400NAME IS NULL
2008/04/07(月) 23:11:17ID:???すみません今はわからないです
ダンプファイルってバックアップですよね?
バックアップってテーブルの名前を変更するだけじゃ不十分なのでしょうか?
明日中に終わらせないといけないのでマニュアル探す余裕がなかったので・・・
ごめんなさい。
もし違っていたらすみません。
expでダンプファイルをエクスポートして
それをimpでインポートすることでテーブルが作成されるんでしょうか?
0401NAME IS NULL
2008/04/08(火) 00:42:52ID:???明日中に終わらせないといけないんだったらここで聞くんじゃなくて
マニュアルを読め。それがどう考えても一番早い。
exp したダンプファイルを imp すれば確かにテーブルのデータの移動はできるけど、
お前には無理だろう。
お客さんには上司にお願いして謝ってもらえ。
0402NAME IS NULL
2008/04/08(火) 00:47:07ID:???詳しくはググれ
0404NAME IS NULL
2008/04/08(火) 00:57:51ID:???どうかな?
俺も最初はそう思ったけど、接続子がserve1からserve2に変わっているから
対象DBが違うと判断したぞ?
DB1(serve1)にて
exp user/pass tables=zzx1 rows=y file=hoge.dmp direct=y compess=y
DB2(serve2)にて
imp user/pass full=y rows=y ignore=y file=hoge.dmp
これでいいだろ。
0405NAME IS NULL
2008/04/08(火) 09:13:57ID:???0406NAME IS NULL
2008/04/08(火) 10:50:17ID:???すぐ答えを教えちゃだめだよー
ちょっとオプションが間違ってるけど。(compess → compress)
ああいう奴はまたちょっと困ったら簡単なことでも聞くに決まってる。
仕事でやってるというのに、ダメなエンジニアもどきが氾濫すると
我々の仕事がますますなくなっちゃうじゃない。
0407NAME IS NULL
2008/04/08(火) 19:55:04ID:???どうもありがとうございます。
助かります。
>>406
私は事務員ですから。
人手が足りなくて開発のお手伝いしてます。
ひどい言われよう・・・
明日会議に出してあさってリリースします。
ありがとうございました。
0408NAME IS NULL
2008/04/08(火) 21:56:12ID:???自分の仕事なんでしょ?
高い金だして Oracle を使うようなデータベースだったら、
その中身も重要なデータなんだろう。
ちゃんとわかっている技術者に扱わせたほうがいいんじゃないのかね。
そういうところから情報漏洩とか誤操作とかの被害とかが起こるんだよ。
0409NAME IS NULL
2008/04/08(火) 22:38:06ID:???反論はありますが愚痴になるので控えます。
おっしゃる通りなのですが、上の方針ですので。
経験ないぶん時間はかかりますが
データの重要性等は理解しているつもりなので、
誤操作ないよう念には念をでバックアップや
チェックはしてもらおうと思います。
0410NAME IS NULL
2008/04/08(火) 22:44:06ID:???無能な上司と一緒に土下座するのもいい経験だろう。
0411408
2008/04/08(火) 22:53:52ID:???俺もただ罵倒したいだけじゃないよ。
魚の釣り方を教えてやりたいだけだ。
0412NAME IS NULL
2008/04/08(火) 23:01:13ID:???こんなこというのはおかしいのかもしれませんが
「これは私のやるべき仕事ではない」
と思います。
次は絶対に引き受けないようにしようと思います。
いい経験になりました。
システムの製造は終わったので明日手順の確認をして
無事リリース完了させます^^
0413NAME IS NULL
2008/04/08(火) 23:04:13ID:???0414NAME IS NULL
2008/04/08(火) 23:17:34ID:???まあ、typoはご愛嬌ということでw
exp/imp如きは別に技術でもなんでもないから、教えたところで
何の支障もあるまいて。
ダメにエンジニアもどき如きが決して追いつくことが出来ない技術を
身に着けてナンボの世界っしょ。
0415NAME IS NULL
2008/04/09(水) 20:25:32ID:CidHgDxH以下のデータが存在するとします。
ID | KINGAKU
-------------
0001 | 1000
0002 | 2000
0003 | -1000
0004 | 3000
このときIDの0001と0003で0(ゼロ)になるため抽出結果から省きたいのです。
0001と0003は打ち消しになるので抽出する必要はない、そういうことです。
要は一度その金額で購入したのですが、その後検査でNGになったので返却する
のでプラマイゼロになるので、その分の表示の必要はないとのことです。
SQLの抽出結果は
ID | KINGAKU
-------------
0002 | 2000
0004 | 3000
となるようにしたいのですが、何か良いSQL文を生成出来ないでしょうか?
0416NAME IS NULL
2008/04/09(水) 20:40:12ID:???とか
0006 | 1000
てのもあったらどう打ち消すんだ?
それともKINGAKUはuniqueか?
0417NAME IS NULL
2008/04/09(水) 20:40:41ID:???「これ流しといて」とかが正しいと思うけどな。
事務の人間に覚えさせる気があるなら別だけど。
>>415
テーブルの設計が間違ってて、相殺フラグを持たすべきだと思うけど。
ID | KINGAKU
-------------
0001 | 1000
0002 | 1000
0003 | -1000
0004 | 3000
とかだったら0001と0002のどっちを表示してどっちを消せばいいのかわからんし
0418417
2008/04/09(水) 20:44:40ID:???仮に金額が一意であれば
SELECT * FROM TABLE A
WHERE A.KINGAKU > 0
AND NOT EXISTS
(
SELECT * FROM TABLE B
WHERE B.KINGAKU = (A.KINGAKU * -1)
AND B.KINGAKU < 0
)
とかかな。
0419NAME IS NULL
2008/04/09(水) 21:24:32ID:???か・・・。
0420NAME IS NULL
2008/04/09(水) 21:38:13ID:???こんだけの条件じゃ�_
あと、マルチやめれ
0421NAME IS NULL
2008/04/09(水) 21:39:21ID:???×>>417
○>>415
0422NAME IS NULL
2008/04/09(水) 21:46:41ID:???id 0004 kingaku -5000とかあった場合ってどういう表示が正解なんですか?
1401?
0423NAME IS NULL
2008/04/09(水) 21:48:47ID:???>>417
そこまでするならジョブでも組んで自動化してくださいw
0424NAME IS NULL
2008/04/09(水) 21:56:59ID:???定期バックアップとか○○流した後バックアップとかなら自動化できるけど
「俺の気が向いたときにバックアップ」はどうしようもないからな
0425NAME IS NULL
2008/04/10(木) 22:04:59ID:???select * from table with (nolock)
と同じようにロック掛けないでselectするにはどうしたらいいですか
0426NAME IS NULL
2008/04/10(木) 22:31:30ID:???意味が良く分からんが、SQL serverでnolockというのはどういう
状態なんだ?
ダーティリードさえも許してしまう様な状態なのか?
0427NAME IS NULL
2008/04/10(木) 22:38:05ID:???そうです。許します。
0428NAME IS NULL
2008/04/10(木) 22:42:27ID:???(READ UNCOMITTED)か何かだったと思うが。
0429NAME IS NULL
2008/04/10(木) 22:55:26ID:???0430NAME IS NULL
2008/04/10(木) 23:04:27ID:???Oracleの場合はマルチバージョニングが必ず働くから、
READ UNCOMMITTEDとREAD COMMITTEDの区別なく
ダーティーリードは発生しない。
0431NAME IS NULL
2008/04/10(木) 23:55:40ID:???ありがとうございます
0432NAME IS NULL
2008/04/12(土) 19:59:11ID:???DELETE文の実際に削除された件数を取得する方法はないのでしょうか?
SQL*PlusでDELETE文を実行すると
『○行が削除されました。』
と表示されますが
削除前後にSELECTでCOUNTし比較ではなく
PL/SQL内からの実行だと何処かシステム変数などに入らないのでしょうか…
SQLCODEやSQLERRMには出てきませんでした。
よろしくお願いします。
0433NAME IS NULL
2008/04/12(土) 20:06:10ID:???0434NAME IS NULL
2008/04/12(土) 20:26:19ID:???どういう関係があるのかよくわかりません…。
0435NAME IS NULL
2008/04/12(土) 20:37:32ID:???そもそも「oracle delete 件数 取得」あたりで検索した上で聞いてるんだろうね。
1件目でROWCOUNTを使った取得がヒットするけど。
0436NAME IS NULL
2008/04/12(土) 20:49:09ID:???「出来る・有る」事ならgoogle先生が簡単に教えてくれるのに
0437NAME IS NULL
2008/04/12(土) 21:00:23ID:???携帯からなんです…。
PCサイトもメモリが足りなくて表示できませんが
キャッシュのページに少し見えるので試してみますね。
0438NAME IS NULL
2008/04/12(土) 21:12:20ID:???マニュアルに書いてあることも多いけどね。
〜は…でのみ使用できます、とか。
>>435
他のDBならともかく、Oracleに関する情報なら
Webにも沢山あるのに、ソレを調べもせず2chに頼るって時点で
視野と見識は推して知るってモンだ。
少なくとも試してみればいいのに。
0439NAME IS NULL
2008/04/12(土) 21:24:03ID:???ありがとうございます><
携帯がしょぼくてPCサイトの殆どがメモリオーバーで表示されないんです…。
あと本もSQLの本さかなくて^^;
でも何とか解決しましたありがとうございました!
0440NAME IS NULL
2008/04/12(土) 22:12:12ID:???仕事にならないでしょ。
昔は買うと高かったけど、いまはOTNからダウンロードできるよ。
0441NAME IS NULL
2008/04/13(日) 20:30:43ID:???@ファイル名
として実行するファイルの初期フォルダを設定するにはどうしたらいいですか?
@C:\Documents and Settings\xxxx\ファイル名
のパス部分を省略したいです。
0442NAME IS NULL
2008/04/13(日) 21:33:36ID:???レジストリのSQLPATHをいじる。
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/ch2.html#8672
何でみんなマニュアル読まないのかなぁ。
0443NAME IS NULL
2008/04/13(日) 22:26:34ID:???ありがとうございます。
0444NAME IS NULL
2008/04/15(火) 06:30:20ID:???Oracleの10gをPCサーバにインストールして、クライアントを別のPCに
インストールしています。
Pro*C/C++を使って、DBを操作したいのですが、
C/C++の開発環境がサポートしていないためか
うまくいきません。
開発環境は、Visual Studio C++ 2008
です。
2008は新しいので、無理なのでしょうか?
VC++2005や2003だとよろしいですか?
教えてください。
0445NAME IS NULL
2008/04/15(火) 07:53:27ID:???マルチうざ。
0446NAME IS NULL
2008/04/15(火) 09:07:42ID:???何がどううまくいかないのかさっぱり伝わらないではないか。
俺らに一から同じ環境を作って再現させろとでも言うのか。
やはり人間としての初心者だったようだな。
義務教育から出直してきたらいいよ。
半島へ帰れ。
0447NAME IS NULL
2008/04/15(火) 09:17:03ID:???そもそもなんでODBC使わないの?
0448NAME IS NULL
2008/04/16(水) 16:41:59ID:???0449NAME IS NULL
2008/04/16(水) 20:50:26ID:???http://www.drk7.jp/MT/archives/001000.html
0450NAME IS NULL
2008/04/17(木) 03:20:04ID:???Pro*Cで、引数で渡されたSQL文(カーソル)を実行し、
EXEC SQL DESCRIBE SELECT LISTでsqlda構造体にデータを入れてから
FやTなどの要素を参照して処理を行っているのですが、
この処理をベタなC言語+ODBCで代替することは可能なのでしょうか。
なんとなくSQLExecDirectを実行するまでは分かるのですが、
そこから自前でsqlda構造体にデータをセットする手段がわからないのです。
(特にデータ型を判別してT[]にセットすべき内容と方法)
Pro*Cで作ったライブラリとCとでsqlda構造体を介してのやり取りをするのは
やはり難しいのでしょうか?
0451NAME IS NULL
2008/04/17(木) 08:36:52ID:???できなければ難しいこと。ただそれだけw
0452NAME IS NULL
2008/04/17(木) 17:54:15ID:PeraqhscSUM('08-04-12' THEN 1 ELSE 0 END) "4月分",
(以下ry)
のときに日付指定じゃなくて月指定で出すにはどうしたらいい?
ちなみにDate型なんだが…
0453452
2008/04/17(木) 17:59:01ID:PeraqhscSELECT A1,
SUM( CASE WHEN SCORE_DATE = '08-04-12' THEN 1 ELSE 0 END) "4月分",
の間違い、ほんとすまん。
0454NAME IS NULL
2008/04/17(木) 22:30:46ID:???SELECT A1,
SUM( CASE WHEN TO_CHAR(SCORE_DATE,'YY-MM') = '08-04' THEN 1 ELSE 0 END) "4月分",
0455452
2008/04/18(金) 09:12:48ID:eVdze1//ありがとう、無事実行できた!
0456NAME IS NULL
2008/04/19(土) 07:03:59ID:???親テーブルがあって、それに子テーブルが7つくらいぶら下がってて、
子同士は紐付かないようなテーブルに対して、ユーザがwhere条件を自由に
書けるようなCSV出力画面を作っているのです。
それで、子のデータは親1件に対して複数件あるため、
子項目の場合はコロンで区切って、1行にするという仕様です。
(子が何件あろうが、親の件数=CSVの行数になる)
これを、1回で抽出してくるって無理ですよね・・・
子同士に関連が無いので、子の行数を次々乗じた件数が取得されちゃいますし。
AP側でテーブルを個別に抽出するにしても、whereを自由に書けるのが
癌で、この評価をAP側でやるのも、どうしようという状態で。。
例えば
where oya.pkey = ko1.pkey and oya.pkey = ko2.pkey and
((ko1.fld1 = 1 or ko2.fld1 = 2) and ko1.fld3 = 3)
とか、これを各テーブル個別に持ってきて、自力評価しか
ないんでしょうか・・・。
0457NAME IS NULL
2008/04/19(土) 11:31:23ID:???SQL1回で取れる
0458NAME IS NULL
2008/04/19(土) 11:34:26ID:???「where句を受け取ってコロン区切りの値を返す」関数か。
関数は、
受け取ったwhere句を元に動的sqlを組み立てて
それをカーソルでまわしてコロン区切りでくっつけていく感じで
0459NAME IS NULL
2008/04/19(土) 12:02:00ID:???パフォマーンスが良い、SQL分がわかりません。
リレーション?よくわかりません^^;
テーブルA.開始番号
テーブルA.終了番号
-----------------------
テーブルB.番号
(したい事)
テーブルB.番号がテーブルA.開始番号〜テーブルA.終了番号
の間を検索しヒットさせます。
どのようなSQL文を作成すれば良いのでしょうか?
あまり、外部結合等の経験がないためわかりません。
0460NAME IS NULL
2008/04/19(土) 12:26:46ID:???テーブル.Aが 5件
テーブル.Bが10件
だったとすると、5x10=50件考えるので
動作が遅くなる?と言われました。
これを リレーション?アクセス使用した事ないので
よくわかりませんが、
外部結合のパフォーマンスが良いベストなSQLはなんでしょうか?(^_^;
0461456
2008/04/19(土) 14:08:05ID:???ストアドファンクション内で動的sqlですか?
これはやったことがありませんが、『カーソルでまわして』ということは、
結局、子を個別に抽出するということですか?where句で
異なるテーブルが混在して書かれていた場合、テーブル間で
条件式を評価する必要があると思うんですが、思いつかない・・・。
>>459
テーブルAが、なんらかの管理マスタのようなもの?でしょうか?
テーブルBが、データテーブル?とするなら、
select テーブルB.* from テーブルB
where EXISTS(select テーブルA.開始番号 from テーブルA
where テーブルA.開始番号 <= テーブルB.番号
and テーブルA.終了番号 >= テーブルB.番号)
とかで、どうでしょう?
0462NAME IS NULL
2008/04/19(土) 20:01:31ID:A1znnPt0勉強させてもらいます。m(__ __)m
テーブルAはパラメータです。
テーブルBがデータテーブルです。
ちなみに、テーブルAはレコードは1件なのでしょうか?
0463NAME IS NULL
2008/04/19(土) 20:59:24ID:???真とするってだけなので、件数は何件でも良いと。
0464NAME IS NULL
2008/04/19(土) 22:40:57ID:???select fnc1(where句1),fnc2(where句2),fnc3(where句3)…
from oya
(fnc1は子テーブル1から取得、fnc2は子テーブル2から取得…)
とかそんな感じで。
0465NAME IS NULL
2008/04/20(日) 01:11:02ID:???>>461のSQLが何から走ってるのかわからんし。
0466NAME IS NULL
2008/04/24(木) 21:34:13ID:???----
1
2
3
...
31
上記のような問い合わせをSQLから取得したいのですが、簡単な方法って無いでしょうか?
自分だと
SELECT 1 FROM DUAL
UNION
SELECT 2 FROM DUAL
UNION
SELECT 3 FROM DUAL
って感じになってしまいます(汗
やりたいことは日付毎に適当な列を結合した表を得たいのですが、
データが存在しない日も列の値がNULLの状態で取得したいんです。
day col1 col2 col3
--- --- --- ---
1 100 101 102
2 null null null
3 null 101 null
... ... ... ...
31 100 200 300
0467NAME IS NULL
2008/04/24(木) 22:49:48ID:???('A`)つcase
0468NAME IS NULL
2008/04/25(金) 00:13:43ID:???0469NAME IS NULL
2008/04/25(金) 01:59:58ID:???0470NAME IS NULL
2008/04/28(月) 20:34:11ID:???バッファキャッシュに乗せて恩メモリで検索させる以外に高速化するにはどういう方法がありますか
0471NAME IS NULL
2008/04/29(火) 00:38:46ID:???Oracle Text
0472NAME IS NULL
2008/04/29(火) 00:50:38ID:???分かりやすく解説のあるサイトとかないでしょうか
0473NAME IS NULL
2008/04/29(火) 01:09:14ID:???というのはどういうものなのか説明してくりゃまいか。
0474NAME IS NULL
2008/04/29(火) 01:40:12ID:???0475NAME IS NULL
2008/04/29(火) 22:45:34ID:???初期DBのXEを削除して、
文字コードをJA16SJISTILDEとしたXEを作成したのですが
Webの管理画面が見えなくなってしまいました。
同様の現象に陥っている人をチラホラ見かけますが
解決方法が掲載されているサイトは見たことがありません。
解決する方法はあるでしょうか?
0476NAME IS NULL
2008/04/30(水) 11:35:14ID:???単純にOracle Application Expressパッケージが入っていないだけでは?
http://www.oracle.com/technology/products/database/application_express/index.html
0477NAME IS NULL
2008/05/01(木) 16:09:40ID:???http://otn.oracle.co.jp/forum/message.jspa?messageID=8095323
どなたか解決策をご存知ないでしょうか?
よろしくお願いいたします。
0478NAME IS NULL
2008/05/02(金) 03:52:50ID:???まあ、バグにヒットしてるんでしょう。
TAR開くなりなんなりしないとダメっしょ。
0479NAME IS NULL
2008/05/02(金) 09:35:55ID:???やはりそうですか・・・
とりあえずREGEXP_INSTRで逃げてみることにしました。
0480477
2008/05/02(金) 14:54:47ID:???0481NAME IS NULL
2008/05/02(金) 15:16:03ID:???なぜわざわざ別の存在にしてるんだ
0482NAME IS NULL
2008/05/02(金) 15:35:50ID:???ってことをしたいのですが、どういった方法があるでしょうか?
0483NAME IS NULL
2008/05/02(金) 15:48:37ID:???手で実行orシェルスクリプト。
0484482
2008/05/02(金) 15:51:06ID:???バッチファイル等による自動実行がしたいです
起動はATコマンドでやるとして、SQLPLUS起動後にどうやってSQL文を実行すればいいのか・・・・
0485NAME IS NULL
2008/05/02(金) 16:49:24ID:???0486NAME IS NULL
2008/05/02(金) 20:30:49ID:???PSR含むバージョンとORA-600の引数までわからないと一緒の件とはわかんないでは。
まあそこわかってもTARでしょうけど。
0487NAME IS NULL
2008/05/03(土) 16:24:27ID:???オンラインREDOをアーカイブしたのが
アーカイブログだよ。
0488NAME IS NULL
2008/05/04(日) 01:42:48ID:qNX5EArIとしたら、一人だけ文句を言ってくるのがいた。
(+)を使わない理由として、Oracle以外に移植できない以外になにを言ったら
納得してもらえるだろうか?
0489NAME IS NULL
2008/05/04(日) 01:50:15ID:???0490NAME IS NULL
2008/05/04(日) 03:34:21ID:???例えば日曜日にデータファイルのバックアップ取って、火曜日にDBがクラッシュして
リカバリが必要だとしよう。
完全リカバリするために必要になるのはどれだい?
火曜日までオンラインRedoだけでリカバリー可能だと思うかい?
普通は日曜日のバックアップを戻して、そこからアーカイブログ充ててDBを
ロール・フォワードして、そしてクラッシュ直前のオンライン・リドログ充てて、完全
回復するだろう?
これで分けている意味は分かったかい?
0491NAME IS NULL
2008/05/04(日) 04:01:59ID:???規約を定める理由があるんだろうから、それを説明すればいいんじゃない?
移植性なら移植性で。
理由をきちんと説明できない規約を押し付けられんのは俺もやだ。
ここで聞いた後付けの理由を説明してもボロを出すだけだと思うがな。
0492488
2008/05/04(日) 10:19:35ID:qNX5EArIまあ、もともと言い出したのは俺じゃなくて、移植性を考えたり、のちの
バージョンで(+)がサポートされなくなる可能性もあるからってことだった。
ただ(+)表記に慣れてるメンバーにも周知させるためにはもうちょっと説得力
が欲しかったわけです。
まあ(+)って、標準化されてないから、標準化されてるOUTER JOINを使うように
って色んな技術サイトにのってるしな。
0493NAME IS NULL
2008/05/04(日) 12:06:07ID:???だったら移植性に説得力がなくなる
OUTER JOINだと文字数が多く視認性が悪い
それに見た目的に直感的ではない
また、Oracleに限って言えば(+)のほうが先に実装されていることもあり
事実上の標準的な書き方だ
後のバージョンで(+)が無くなるなんてどう考えてもありえない
ISOで標準化されていない機能が後々消えるならOracleなんて使い物にならない
0494NAME IS NULL
2008/05/04(日) 12:33:16ID:???標準化された書き方を優先させたほうがいいと思うけどね。
Oracleばかりやってる人はOracleこそ標準って思ってしまうから
困るよね。
0495NAME IS NULL
2008/05/04(日) 15:05:15ID:???どんな職場でも、標準化に反対する人間は居るよ。
結論としては、そういう人間はプロジェクトからはずすしかないと思う。
オレが関係した職場では、結果としてそういう人間はみんな消えていった。
ちなみに、標準化が進めば進む程、そういう人間の能力のなさが露呈していってたよ。
0496NAME IS NULL
2008/05/04(日) 17:10:36ID:???0497NAME IS NULL
2008/05/04(日) 20:38:30ID:???後々のマイグレーションを想定してたら
Oracleの性能をフルには活かせない。
結局は割り切りだよ。
0498NAME IS NULL
2008/05/04(日) 20:54:37ID:???標準だからという理由しか持ってこない奴は100%勉強不足
0499側近中の側近 ◆0351148456
2008/05/05(月) 10:58:36ID:jnM8X+/O(っ´▽`)っ
そうだなー。
ANSI標準の結合では、USING使えば項目名の羅列で済むし、
結合キーがわかりやすいってことだね。
(+)だと結合キーと抽出キーが同じWHERE句の中だし。
だから、結合キーが漏れてしまう可能性がある。
でも、Oracle9以前では、
(+)を使う理由としては、
ANSI標準の結合にバグが多く含まれるってことが挙げられる。
これさえ改善されればANSI標準の結合を使うんだけどなー。
信頼性が高く求められるシステムでは、
ORACLEでANSI標準の結合は怖くて使えない。
0500側近中の側近 ◆0351148456
2008/05/05(月) 10:59:29ID:jnM8X+/OOracle自体怖くて使えないってのはナシな!
0501側近中の側近 ◆0351148456
2008/05/05(月) 11:01:54ID:jnM8X+/O致命的なのはFULL OUTER JOINだね。
ORACLEでこれをやろうとすると自殺行為。
今まで(っ´▽`)っはこれのバグを3回ほど発見した。
これほど信頼できない機能はない。
(っ´▽`)っ
でも、(+)だと完全外部結合ができないんだよねー。
いちいち左外部結合と右外部結合の和集合を使わなければならない。
0502側近中の側近 ◆0351148456
2008/05/05(月) 11:04:36ID:jnM8X+/O>>501
>ORACLEでこれをやろうとすると自殺行為。
↓
>ORACLE 9でこれをやろうとすると自殺行為。
(っ´▽`)っ
ORACLE 10ではまともになったぽい☆
0503NAME IS NULL
2008/05/05(月) 11:07:25ID:???そのせいでしょうか?
0504側近中の側近 ◆0351148456
2008/05/05(月) 11:15:21ID:jnM8X+/O(っ´▽`)っ
そうそう一つ気になった。
>(+)を使わない理由として、Oracle以外に移植できない以外になにを言ったら
>納得してもらえるだろうか?
将来Oracleに移植する可能性が高いの?そういう計画が今あるの?
そりゃ未来は誰もわからないから、可能性としては少しはあるだろうけど。
もしそういう計画なければ優先度は低いよね。
むしろ>>499で言ったようにバグや信頼性、保守性のほうが優先度が高いはず。
"JOIN"でソースを検索すれば全ての結合文を拾えるってのも
保守性が高くなって優先度が高い。
ORACLEの内部結合は(+)も出てこないから結合文だかどうかわからないのだ。
というわけで、考えましょう。
0505側近中の側近 ◆0351148456
2008/05/05(月) 11:16:45ID:jnM8X+/O(っ´▽`)っ
LEFT OUTER JOINを使った文から
(+)を使った文に書き換えて実行してみれば?
もしエラーが出なかったらバグじゃないのかな?カナ?
0506NAME IS NULL
2008/05/05(月) 13:32:56ID:???>ORACLE 10ではまともになったぽい☆
http://www.eygle.com/Notes/10204_buglist.htm#BABCEHHG
0507488
2008/05/05(月) 13:35:28ID:JT7x0CLO色々詳しく教えていただき、ありがとうです。
20人くらいのプロジェクトで上(リーダークラス)が決めたことなので、
一人があがいたところでどうにもならないんだけど、そいつにも気持ちよく
OUTER JOINを使ってもらいたかったんです。
複数のテーブルの結合を複雑な条件でするので、書き忘れ、可読性とかも考慮
すると俺はOUTER JOINの方が好きなんだけど、みなさんはどうなんでしょ?
0508側近中の側近 ◆0351148456
2008/05/05(月) 15:59:52ID:jnM8X+/O(っ´▽`)っ
Oracleダメじゃん・・・
Oracle10でもANSI結合は使用不可か・・・。
>>507
(っ´▽`)っ
そのリーダークラスの人に
OracleのANSI結合でのバグの多さに対しては
どう対応するのか聞いてみて☆
0509NAME IS NULL
2008/05/05(月) 16:41:16ID:???0510側近中の側近 ◆0351148456
2008/05/05(月) 16:49:13ID:jnM8X+/Oしかも、そのバグをOTNで公開してはいけないという
わけのわからんルールだ
0511NAME IS NULL
2008/05/05(月) 17:01:31ID:???日本人として許せないよなぁ
0512NAME IS NULL
2008/05/05(月) 20:26:06ID:???0513NAME IS NULL
2008/05/06(火) 13:08:17ID:???0514NAME IS NULL
2008/05/06(火) 17:46:41ID:???0515NAME IS NULL
2008/05/06(火) 23:38:00ID:???全部とは言わんが、せめて>>4ぐらいまでは嫁。
0516NAME IS NULL
2008/05/07(水) 10:41:50ID:dyy0ePraDBA_TAB_PERTITIONS の LAST_ANALYZED は、ちゃんと日付が更新されているのに、DBA_TABLES の日付が変わらないって、ありえますか?
ちなみに、10万件程度、6パーティションで同じことをやると、DBA_TAB_PARTITIONS、DBA_TABLES 両方の LAST_ANALYZED はちゃんと更新されていました。
どうも腑に落ちなくて…。
0517NAME IS NULL
2008/05/07(水) 14:13:26ID:???Oracle10gで「oracle\product\10.1.0\Db_1\server_dbname\sysman\recv\errors\」
に大量のエラーログファイルが出力され、ディスクを圧迫しています。
このエラーログを出力しないようにする。もしくは、
定期的に削除してくれるような設定はありませんでしょうか?
宜しくお願いします。
0518NAME IS NULL
2008/05/07(水) 16:05:58ID:???バッチかWSHで定期的に削除すればいいじゃん。
0519517
2008/05/07(水) 17:06:39ID:???Oracleで定期的に削除してくれる設定がないのかなと思ったのですが・・・
バッチかWSHで定期的に削除するようにしたいと思います。
ありがとうございました。
0520NAME IS NULL
2008/05/07(水) 22:11:40ID:8dIsB95K9iからは統計情報収集は、analyze じゃなくて、dbms_stats を使うことを
推奨しているので、dbms_stats を試してみてください。
0521NAME IS NULL
2008/05/08(木) 23:16:33ID:???ポスグレでは作れるみたいですが。
0522NAME IS NULL
2008/05/09(金) 01:17:29ID:???0523NAME IS NULL
2008/05/09(金) 01:50:28ID:???0524NAME IS NULL
2008/05/09(金) 10:35:45ID:???要は任意の長さの文字列をフィールドに収まるよう切り落としてINSERTがしたいんですわ。Ora8i。
0525NAME IS NULL
2008/05/09(金) 10:51:32ID:???SUBSTRB
0526525
2008/05/09(金) 10:54:39ID:???無い
0527525
2008/05/09(金) 10:59:45ID:???DBの型って事だな…DBMS_SQLかUSER_TABLESディクショナリを見ればわかる
0528NAME IS NULL
2008/05/09(金) 23:09:21ID:???できる。
oracle ユーザー定義集計関数
でググってみ。
>>524
USER_TAB_COLUMNS
0529NAME IS NULL
2008/05/09(金) 23:22:50ID:???サンコス!
もう一度調べてみる
0530521
2008/05/09(金) 23:25:46ID:???>oracle ユーザー定義集計関数
でググったら即ハツケソ
これまで探しても見つからなかったのは、ググりかたが悪かった
0531NAME IS NULL
2008/05/09(金) 23:28:55ID:???動的SQLにしたらコンパイル通った。
WITH句ってPRO*COBOLのプリコンパイラで対応されてないのかな?
ちなみに10g
0532NAME IS NULL
2008/05/10(土) 00:46:53ID:???0533NAME IS NULL
2008/05/10(土) 07:11:43ID:???Precompiler のVersionによっては、未対応のSQLの句が
存在するので、プリコンパイル時にエラーになってしまう。
11gでSQL99構文サポートをしたようなので、
WITH句も対応するようになったかもしれない。
0534NAME IS NULL
2008/05/10(土) 08:16:56ID:???サンクスコ!
sql*plusで対応してるからって
PRO*COBOLでも対応してる訳じゃないんだね!
Oracle自体は8iからSQL92に対応した
って言ってるのにね!
0535NAME IS NULL
2008/05/10(土) 15:45:45ID:???0536NAME IS NULL
2008/05/11(日) 09:05:35ID:k9SWGyHP最近.休日は引篭,もってばかりらしい,けど一体何してはるんですかww
その偏屈な面でもマッサー.ジしてはるんですかwwご苦労なこってww.
化粧では顔面の輪郭は誤魔化せませんよww自己アピ.ールも程々にしてくださいねww
0537NAME IS NULL
2008/05/18(日) 11:11:09ID:yw8nn6DgPL/SQL内部で複数のSELECT文を流し、
その結果を配列にセットして、
その配列をOutputするプログラムを作っています。
本当はレコードに格納して返したかったのですが、
レコードは扱えないようなので配列にしました。
.NET側でOutputパラメータの設定をしていますが、
その際、ArrayBindSizeというプロパティを
設定しないといけないみたいなのです。
ところが、何件のデータがとれてくるのか分からないので、
sizeの設定をしようが無いのです。
ArrayBindSizeプロパティをどう設定すればいいのか
ご存知の方いらっしゃいましたら教えてください。
よろしくお願いいたします。
0538NAME IS NULL
2008/05/18(日) 11:19:57ID:???ドライバの種類は?ODPとかMSのでも何種類かあるけど。
0539537
2008/05/18(日) 11:26:32ID:yw8nn6Dg0540537
2008/05/18(日) 11:28:54ID:yw8nn6DgODP.NETです。
すみません。初心者なもので。
0541NAME IS NULL
2008/05/18(日) 20:17:58ID:???サーポート契約してるのにどうにかなりませんか?
0542NAME IS NULL
2008/05/18(日) 21:47:05ID:???日本語で
0543NAME IS NULL
2008/05/19(月) 15:59:33ID:???多めに見積もるしかない。
0544NAME IS NULL
2008/05/19(月) 22:49:53ID:???ユーザーっつ〜か、DBAが普通は充てるもんだけど?
0545NAME IS NULL
2008/05/20(火) 09:04:20ID:???Oracle10gです。
0546NAME IS NULL
2008/05/20(火) 12:57:55ID:???0547NAME IS NULL
2008/05/20(火) 14:06:40ID:???0548NAME IS NULL
2008/05/20(火) 23:10:16ID:???EMやら、AWRやら、ファイングレイン監査やら、幾らでも方法はあるべ。
0549NAME IS NULL
2008/05/21(水) 20:42:38ID:???v9にはバックアップ済みのアーカイブログの自動削除機能がないようなんですが、
バックアップ済みアーカイブログを削除するにはどういう手順が必要ですか?
0550NAME IS NULL
2008/05/21(水) 22:48:17ID:???0551NAME IS NULL
2008/05/21(水) 23:22:44ID:???0552NAME IS NULL
2008/05/22(木) 00:07:36ID:???RMANやらせる。
0554NAME IS NULL
2008/05/22(木) 00:22:17ID:???見間違いかな
明日もういちど見てみます
BE9とRMANで一連の作業はOKという認識でいいですか
0555NAME IS NULL
2008/05/22(木) 05:54:49ID:???ただ、そんなものを使わなくても、rmanのコマンドを垂れ流すスクリプトを書けば大概のことは事足りる。
0556NAME IS NULL
2008/05/22(木) 08:37:26ID:???ttp://mainichi.jp/enta/geinou/graph/200805/21/?inb=yt
ネット証券会社が主催するFX(外国為替証拠金)取引コンテストの発表会が21日、都内で行われた。
コンテストに特別参加するグラビアアイドルの滝沢乃南さん、山本彩乃さん、折原みかさん、山口愛実さん、佐々木梨絵さん
の5人が顔をそろえ、シストレに挑戦する意気込みなどを語った。
同コンテストは、自分で作成したトレードソフトの機能を評価する「シストレソフト部門」と、
FX初心者でも安心の仮想マネーを使った取引を体験できる「トレード部門」で賞金総額2000万円を争う。
シストレ優秀ソフトは、最高2000万円までの範囲内で買い取りの可能性もあるという。登録受付は22日から。
仮想取引は6月2日〜09年4月30日までとなっている。
▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
https://www.click-sec.com/corp/guide/demo/
ttp://www.yomiuri.co.jp/komachi/news/mixnews/20080521ok02.htm
▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
0557NAME IS NULL
2008/05/22(木) 18:02:55ID:???0558NAME IS NULL
2008/05/23(金) 02:49:44ID:???もしbackupexec9がRMANと連携できるのなら、RMANでほとんどの処理が可能。
一度Backup済みのArchivelogを消したりとか、Backup時にArchivlogを消したりとか
幾らでもその辺りは応用が効く様になっている。
0559NAME IS NULL
2008/05/23(金) 11:19:18ID:rSZhI+OjDB接続中であってもtnsnames.oraの上書きは可能でしょうか?
【目的】
tnsnames.oraに接続先が2つ定義されており、
そのうち片方のHOST欄(IPアドレス)だけを変更したいと思っています。
【対応方法】
新しいtnsnames.oraを用意して、現行のtnsnames.oraを
上書きしようとしています。
【制約】
ただし、tnsnames.oraを上書きするときに、
アプリケーションが変更対象外の接続先のDB
(上書き前、上書き後、どちらも全く同一のIP)
を参照しています。
【疑問点】
この場合、DBの接続に影響はないのでしょうか。
「コネクトの際にtnsnames.oraの接続文字列を参照するのだから
コネクトするタイミングさえはずせば特に問題ない」
と思うのですが、
「tnsnames.oraファイルを上書きする際に元ファイルが消えるから
接続が切れてしまう?」
とも思うのですが…
0560NAME IS NULL
2008/05/23(金) 12:52:39ID:???0561NAME IS NULL
2008/05/23(金) 14:33:34ID:???それ言ったらこのスレで話されてるほとんどの話題全否定だろ。
0562NAME IS NULL
2008/05/23(金) 14:37:34ID:???0563NAME IS NULL
2008/05/23(金) 15:25:41ID:???上書きするぐらい1秒でできそうな事は先にやってみればいいと思う。
0564NAME IS NULL
2008/05/23(金) 22:48:15ID:???tnsnames.oraは接続時に必要なんだから、一度接続が確立されて
しまえば後は何の役にも立っていない。
だからO/Sによっては上書きも問題ない(窓だともしかして掴んで
いるかも?)し、現行の接続も影響を受けない。
0565NAME IS NULL
2008/05/25(日) 04:01:51ID:???結構な数いるのだと知ってびびった。
0566NAME IS NULL
2008/05/27(火) 06:47:11ID:???も底が見える。
0567NAME IS NULL
2008/05/27(火) 21:30:59ID:???0568NAME IS NULL
2008/05/27(火) 22:03:24ID:???0569NAME IS NULL
2008/05/28(水) 01:41:05ID:???意味不明。
まあ、初心者スレってことなんでしょう。ここは。
0570NAME IS NULL
2008/05/28(水) 05:00:42ID:jSJWefUOまともなレベルだったら、マニュアルとkrownでほとんど解決出来る。
書くのは初心者、ただし read onlyで他人の間違いを参考にするのはOKだと思う。
0571NAME IS NULL
2008/05/31(土) 19:59:29ID:???いや 567は使って効果あるか聞いてるのでは?
パーティション表じゃないと使っても意味無いよね
0572NAME IS NULL
2008/05/31(土) 22:48:52ID:???oracle 10g のトライアル版をインストールしたら定期的にフロッピーディスクドライブ
にアクセスするようになりました。ぐぐってみたら↓同じ現象の方がおられるようですが、
明確な解決策はでていないようでした。
ttp://otn.oracle.co.jp/forum/message.jspa?messageID=2001722
この件に関して何か対処法をご存じの方はいますでしょうか?
宜しくお願いします。
0573NAME IS NULL
2008/06/01(日) 10:00:40ID:???無意味でもなんでもない。
巨大な表の全件検索とかにも十分使える。
特に10g以降ではバインドピークによって、全件が選択される事が
良くあるから、そういった場合には有効だな。
0574NAME IS NULL
2008/06/01(日) 19:25:42ID:???9の時はシーケンスに処理されると書いてあったど
10gで変ったのか。勉強たらんな俺
0575NAME IS NULL
2008/06/02(月) 00:44:23ID:???ttp://www.oracle.co.jp/interactive/Techniques/VLDB/Dss/step01.html
0576NAME IS NULL
2008/06/02(月) 07:53:07ID:???何年前の資料だろうが、基本は同じだよ。
並列化の効果を最大限に発揮するには、次の特性をすべて兼ね備えたシステムが必要です。
・ SMP、クラスタ、超並列システムなどのマルチCPU
・ 高いI/O帯域幅(高速ディスク、多数のディスク)
・ 十分なCPU処理能力
・ ソートやハッシング、I/Oバッファなどに使用できる、十分な容量のメモリー
…当たり前の事だけど、意外と満足されない罠www
0577NAME IS NULL
2008/06/02(月) 11:09:27ID:???すんげえ寂しいな、そのサイト。
Oracle-HPの方は結構充実しているのに。
0578NAME IS NULL
2008/06/03(火) 04:20:47ID:???結構ディープな検証ばかりしていたな〜。
フィードバックセミナーで何人かに会った事があるかもね。
0579NAME IS NULL
2008/06/03(火) 05:02:54ID:???0580NAME IS NULL
2008/06/03(火) 22:14:21ID:???HyperionについてORACLE大学での講習を受ける前に
事前に知識を付けておきたいのですけど
他にセミナーとか書籍とかないんですかね?
必死に調べたけど全く見つかりません;;
0581NAME IS NULL
2008/06/03(火) 22:24:58ID:1DFe2Xk7-Lオプションを使う。
sqlplus -L schema/password@sid @sqlスクリプト
sqlスクリプト内部に問題があった場合
wheneverを使う。
これらの場合はパスワードとスキーマ、接続文字列になんらかの問題があった場合やsqlスクリプト内の構文エラーのときは異常終了させエラー値を拾うことが可能なのですが、
SQLスクリプトファイルの設定や環境に問題があった場合(SQLスクリプトファイルが存在しない、ユーザに読込権限がない)、異常終了させることができません。
sql*plusの接続だけには成功するのでそのままバッチ処理が止まりっぱなしになるという事象が発生します。。
この場合に異常終了させ、エラー値を拾う方法を教えていただけないでしょうか?
0582NAME IS NULL
2008/06/03(火) 22:29:54ID:???Unix系ならshスクリプト内でファイルの存在確認や読み込み権限確認とか
そんなのしておけばいいじゃん。
何でSQL*PLUS内で処理させようとすんのさ?
0583NAME IS NULL
2008/06/04(水) 07:43:59ID:???漏れはヒアドキュメントで書いてたからSQLファイルそのものがなかった。
0584NAME IS NULL
2008/06/04(水) 20:32:41ID:???指示を与えて開発に従事できる程度まで仕上げないと
もれなく自分が死ねる状況になりそうなんですが
どんな風に調教したらいいでしょう?
きっちりMASTERをシルバーくらいまで勉強させるのが良いのか
とりあえず最低限の概念だけ教えて、後は必要な知識やテクだけ詰め込んじまうのが良いものなのか
良い知恵お授けください……
0585NAME IS NULL
2008/06/04(水) 20:58:27ID:???経営者を甘やかせるだけなので
一人で5人相手にするなら素直に死んでください
0586NAME IS NULL
2008/06/04(水) 21:55:17ID:???今アサインされてるヤツラを解雇して、
使える奴を1人連れてくればいい。
0587NAME IS NULL
2008/06/04(水) 21:56:21ID:???外に依頼すれば?
hhtp://www.jsys.co.jp/oraken とか。
0588NAME IS NULL
2008/06/05(木) 10:38:44ID:???と感じてしまうのは漆黒企業に居るからか・・・。
0589NAME IS NULL
2008/06/05(木) 21:17:01ID:OKUDql6pスタンバイデータベースを本番データベースにするには
どんな呪文が必要なのか教えてください。
SQL> startup nomount;
SQL> recover standby database;
した後で open (あるいはshutdown して startup) すると
どうも read onlyで立ちあがるようで、
先に進めなくなってしまいました。
8iぐらいの昔のバージョンだと
これで動いてた気がするんですが。
0590NAME IS NULL
2008/06/05(木) 22:39:32ID:???SQL> alter database recover managed standby database finish;
SQL> alter database commit to switchover to primary;
SQL> shutdown immediate;
SQL> startup;
0592NAME IS NULL
2008/06/06(金) 01:11:18ID:???必死に何とかしようとして2ヵ月後にはそれなりになってるさ。
とか考えてる経営者はゴロゴロいるな。
0593NAME IS NULL
2008/06/06(金) 06:30:58ID:???0594NAME IS NULL
2008/06/06(金) 07:04:59ID:???亀レスだが。
WindowsのバッチファイルでSQLPLUSを実行させてる?
だったら、
sqlplus -L schema/password@sid @sqlスクリプト < nul
とすると、あなたの言ってる問題が発生した場合でも終了してくれる。
バッチ処理が止まりっぱなし、って言ってるのは、要は待ち状態に
なっちゃってるってことなんでしょ?
また、SQLPLUSで失敗してるから、ERRORLEVELにもゼロ以外の
値がセットされてると思う。エラー値っていうのがバッチ処理のリターン
コードを指しているならERRORLEVEL拾えば問題ないはず。
0595NAME IS NULL
2008/06/09(月) 23:09:37ID:???OBJECT BROWSER のようなソフトを紹介してもらえないでしょうか。
0596NAME IS NULL
2008/06/09(月) 23:17:56ID:???全角はきもいな。
Oracle SQL Developer とか。
0597NAME IS NULL
2008/06/10(火) 04:59:32ID:???ラプター。
0598NAME IS NULL
2008/06/11(水) 21:07:43ID:???0599595
2008/06/11(水) 22:11:19ID:???595です。
遅くなりましたがありがとうございます。
Oracle SQL Developer とラプターを探してみます。
0600NAME IS NULL
2008/06/12(木) 09:48:07ID:???ありますか?
0601NAME IS NULL
2008/06/12(木) 11:24:54ID:???0602NAME IS NULL
2008/06/12(木) 17:45:31ID:???0603NAME IS NULL
2008/06/13(金) 00:35:45ID:???UNIX 系ではない。
Windowsでは良くある。
大量のロールバックが走っていて、なかなか止まらないならある。
>>602
それは経験ないw
0604NAME IS NULL
2008/06/13(金) 02:27:32ID:???つまり、自動バックアップなんかでは、必ず例外処理を入れるようにすること。
abortもWindows版に限っては、ハングする可能性がある。
(KROWNには、すべてのWindowsで起こりうるみたいに書いてあるけど、おそらく2000までの現象だと思う)
0605NAME IS NULL
2008/06/13(金) 19:52:15ID:???0606NAME IS NULL
2008/06/14(土) 01:02:05ID:???Unix版は、abortについては、そのまんまサーバプロセスにSIGKILL送っているだけだから、コケようがないけど。
0607NAME IS NULL
2008/06/14(土) 08:51:06ID:???0608NAME IS NULL
2008/06/16(月) 02:43:06ID:???oracle8の環境で、Accessのクエリを使いテーブルのインポートを試みましたら
失敗して、「最大エクステント121に達しました。」と
エラーが出ました。それで、ストレージマネージャの表領域のUSERで
エクステントの値を変えたり、スキーママネージャで
そのテーブルの値を121から無制限に変えてみたりしましたがダメでした。
他の解決策を教えて頂きたいです…。
0609NAME IS NULL
2008/06/16(月) 09:27:42ID:???ORAエラーのコードが分かるともっと良い。
メッセージからするとロールバックセグメントが
インポート対象のデータと比べて、
やたら小さいだけなんじゃないかと思うが。
クエリで実行できる程度のデータの移行だけなら、
条件つけてデータを小分けにして
ADOとかで処理するのが良いかもしれんがな。
0610NAME IS NULL
2008/06/16(月) 14:33:43ID:???ありがとうございます。
コードはORA-01631です。
0611NAME IS NULL
2008/06/16(月) 15:55:58ID:???…で、エクステントが最大に達した表はどれだ?
エラーメッセージに出てただろ?
それも余さず書けよ。
そういうのが結構大事なんだから。
これ参考にしてエラーがどのオブジェクトに対して
発生しているのかを特定しろ。
http://homepage1.nifty.com/k-umezu/oraerror/ora-01630.htm
0612NAME IS NULL
2008/06/16(月) 17:27:35ID:???リスナーにパスワードを設定することになりました。
lsnrctlからchange_passwordで設定するまではよかったのですが
そのあとにsave_configというコマンドが見つからなく(helpコマンドでも表示されない)
設定を保存することができません
オラクル9i以降じゃないとpassword保存できないのでしょうか?
オラクル7を使っているのですが、何かわかりましたら
アドバイスもらえないでしょうか
0613NAME IS NULL
2008/06/16(月) 18:27:45ID:???change_password出来るのは
8.0.xからじゃね?
0614NAME IS NULL
2008/06/16(月) 20:56:06ID:???どうもです。解決しました。
エクステント値を変更する表が同じ名前で2つありまして
その別のほうを変えてしまってました…
0615NAME IS NULL
2008/06/18(水) 20:43:05ID:???ですが、2年以上前に受けたので受験日を忘れてしまいました。
(アールプロメトリックidは分かります)
これってORACLEに問い合わせたら受験日を探して教えてくれますか?
0616NAME IS NULL
2008/06/18(水) 20:44:08ID:hlqfkmnbあげます。
0617NAME IS NULL
2008/06/18(水) 20:55:02ID:???Oracleに問い合わせるかどうかをここで聞くという神経が信じられない。
合格してるんだったら普通に聞けばいいだろうに。
0618NAME IS NULL
2008/06/18(水) 20:58:04ID:1zQxpBDXORACLEに問い合わせる。教えてくれるよ。
ただ合格したのが有効なのって3年だから、
早急に行動したほうが良い。
0619NAME IS NULL
2008/06/18(水) 20:58:31ID:???今時間外で問い合わせできないからとりあえずここで聞きました。。
0620NAME IS NULL
2008/06/18(水) 21:00:05ID:???レスありがとうございます。
受験日教えてくれるんですね!
よかったです。
教えてくださって本当にありがとうございました!
0621NAME IS NULL
2008/06/18(水) 23:23:33ID:???ここで聞いた答えを正しいと思うのか…
0622NAME IS NULL
2008/06/21(土) 12:18:14ID:???WindowsでOracle使っちゃいけないの?
0623NAME IS NULL
2008/06/22(日) 05:32:01ID:???うん。
0624NAME IS NULL
2008/06/22(日) 11:23:00ID:???ダウンロード・解凍し同じフォルダに入れた上で
sqlplus.exeを実行したのですが、下記のエラーが発生しました。
何が足りないのでしょうか?
---------------------------
sqlplus.exe - コンポーネントが見つかりません
---------------------------
MSVCR71.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
---------------------------
OK
---------------------------
0625NAME IS NULL
2008/06/22(日) 12:59:26ID:???Windowsっていうか、32bitはブロックサイズ16Kまでだったと思う。
0626NAME IS NULL
2008/06/22(日) 19:34:15ID:???MSVCR71.dllでググって見つかったDLLをsystem32にコピー。
0627NAME IS NULL
2008/06/22(日) 23:16:00ID:DVCXVAycごぞんじないですか?
0628NAME IS NULL
2008/06/23(月) 08:32:04ID:???なんの管理画面だよ。
0629NAME IS NULL
2008/06/23(月) 22:44:46ID:???オラクルのトランザクション分離レベルがシリアライザブルのときの実装って、
ポスグレのように挿入や書き換えを許してしまう実装なのですか?
それともMySQLのようにロックが掛かり挿入、書き換えが出来ない実装なのですか?
0630NAME IS NULL
2008/06/23(月) 22:50:48ID:???あくまでも読み込みにロックはかからないから前者。
後続のトランザクションの影響でトランザクションが失敗することがある。
楽観的排他と動作は似てる。
0631NAME IS NULL
2008/06/23(月) 23:04:20ID:???ということは適当なロックを掛けなければファントムの挿入、アンリピータブルな
データの書き換えを許してしまうということですね!
ありがとうございました。
0632NAME IS NULL
2008/06/23(月) 23:11:53ID:???どうすればそういう間違った理解ができるか不思議だ。
ファントムもアンリピータブルリードも起きないぞ。
0633NAME IS NULL
2008/06/23(月) 23:23:31ID:???えっ、違うのですか?
ポスグレはファントムリードもアンリピータブルリードも発生しませんが、
ファントムの挿入、アンリピータブルな書き換えは許し、当該トランザクションからは
ただ見えなくしているだけの実装なので、前者というので同じものだと理解してしまいました。
0634NAME IS NULL
2008/06/23(月) 23:27:17ID:???>ただ見えなくしているだけの実装
それがわかってるならいいよ。
更新時の失敗の可能性は置いといて、当該トランザクションから見えなければ問題ないでしょ。
この状態をシリアライザブルな状態とみなしよいかいなかは宗教論争になりやすいからおいとくけどね。
0635NAME IS NULL
2008/06/23(月) 23:45:57ID:???私の解釈は合っているってことでいいんですね?
あと、不思議なんですがトランザクションの分離レベルの実装がこんなにも違うのに
トランザクションの分離レベルを適当なものに設定すれば、あとはデータベースが
上手くやってくれるみたいにいう人や、そのように書書いてあるオラクル、ポスグレも
対象に入っているSQL本があるんでしょうか?
0636NAME IS NULL
2008/06/23(月) 23:48:16ID:???この場合の失敗はデットロックで現れる。
0637NAME IS NULL
2008/06/23(月) 23:50:56ID:???シリアライズトランザクションはどの方式でも要注意。
Oracleではread commited + select for updateがデフォだなぁ。
0638NAME IS NULL
2008/06/25(水) 00:00:23ID:???�@ノードAで「begin backup」
↓
�Aデータファイルをコピー
↓
�BノードAで「end backup」
という流れでバックアップしようと考えています。
そこで、�Aの最中にノードAがダウンした場合、
別のノードで�Bを実行することは可能なのでしょうか?
シングル構成やHA構成だと、�AでノードAがダウンした場合
MOUNTモードにして「end backup」してやらないといけなかったので
RACだとどうなるんでしょう?
0639NAME IS NULL
2008/06/25(水) 01:19:12ID:???念のため、10gR2-EE という前提で。
ノードBで alter database end backup すれば大丈夫なはず。
SE-RAC だとサポート対象外操作になるはず。
0640NAME IS NULL
2008/06/25(水) 02:10:52ID:???0641NAME IS NULL
2008/06/25(水) 04:37:31ID:???可能。
でもRACならRMAN使った方が何かと楽だぞ。
0642NAME IS NULL
2008/06/25(水) 10:25:14ID:???0643NAME IS NULL
2008/06/25(水) 10:39:53ID:???あえて言うならLONGとかCLOBだが、
使い勝手はTEXT型よりかなり悪い罠。
0644NAME IS NULL
2008/06/25(水) 12:45:43ID:???情報ありがとう。
今回は10gR2-EEなので、
MOUNTモードでのリカバリの心配はなさそうですね。
RMANに関しては
容量が大きいので見送りました。
ストレージ機能でコピーします。
0645NAME IS NULL
2008/06/25(水) 12:48:20ID:???RMANはその気になればストレージ機能を利用した方法にも
対応させる事が可能。
ちょっと面倒だけどね。
0646NAME IS NULL
2008/06/25(水) 14:40:48ID:???ありがとうございます。CLOB使ってみました。
なんか普通にinsertもselectもできるんですが
どのあたりが使い勝手が悪いのでしょうか?
0647NAME IS NULL
2008/06/25(水) 15:20:00ID:???可能です。
以上。
↓次の方どうぞ
0648NAME IS NULL
2008/06/26(木) 00:27:37ID:???何ゆえ、MOUNTモードにする必要が???
0649NAME IS NULL
2008/06/26(木) 02:52:52ID:???シングルインスタンスで
alter database begin backup;
shutdown abort;
startup;
してみれば判る。
0650NAME IS NULL
2008/06/26(木) 21:03:33ID:???メモリ256Mしかつんでないのですが。
0651NAME IS NULL
2008/06/26(木) 21:17:25ID:???動かないことはないけど、
Uses up to 1GB RAM of available memory in any size server.
ってDataSheetには書いてある訳だが。
0652NAME IS NULL
2008/06/26(木) 21:48:04ID:???0653NAME IS NULL
2008/06/26(木) 21:51:19ID:???0654NAME IS NULL
2008/06/27(金) 00:31:06ID:???っていうかORACLE動いてる気配ないんですけど
0655NAME IS NULL
2008/06/27(金) 01:17:02ID:???日本語か英語の勉強が足りない。
0656NAME IS NULL
2008/06/27(金) 04:54:53ID:???無理じゃん。
スワップしまくってアボンだと思う。
0657NAME IS NULL
2008/06/27(金) 05:14:34ID:???メモリ256でOracleを動かしているとPCをシャットダウンすると
Oracleの終了処理が済む前に電源が落ちてしまう。
そのせいで再起動のときOracleはリカバリ処理が始まる。
これに数十分かかるのだが、待ちきれずにPCをもう一回落としたり
いろいろはじめるとさらに傷口が広がり回復に数時間を要するようになる。
0658NAME IS NULL
2008/06/27(金) 05:37:00ID:???クラッシュリカバリに時間掛かってるか、
何らかのエラーで起動が失敗していると思われ。
アラートログ確認汁。
0659NAME IS NULL
2008/06/27(金) 05:52:30ID:???0660NAME IS NULL
2008/06/27(金) 05:55:53ID:???動かすだけなら良いが、
実用には向かん罠www
0661NAME IS NULL
2008/06/27(金) 08:56:52ID:???0662NAME IS NULL
2008/06/27(金) 09:47:35ID:???WinServer2003で9iを導入するのですが
Oracleが使用できる最大物理メモリはどのくらいですか?
要はOralceのためにServerに25Gの物理メモリを搭載しようと思うのですが
そこまで必要ないのかどうかが知りたいです。
0663NAME IS NULL
2008/06/27(金) 09:55:33ID:???32bitOSと32bit Oracleの組み合わせなら2GB。設定弄って3GB。
当然、64bitなんだろ?
なら20GBくらい割り当てても問題ない。
0664NAME IS NULL
2008/06/27(金) 10:03:24ID:???ありがとうございます。
割り当てるというのはSGAのことですか?
0665NAME IS NULL
2008/06/27(金) 10:57:12ID:???SGA。
0666NAME IS NULL
2008/06/27(金) 12:45:12ID:???ありがとうございます。とても参考になりました。
0667NAME IS NULL
2008/06/27(金) 14:10:07ID:???0668NAME IS NULL
2008/06/27(金) 19:37:54ID:???>32bitOSと32bit Oracleの組み合わせなら2GB。設定弄って3GB。
エッ! WindowsNTserver4.0にOracle7のサーバなんだけど、この間3GBに増設して動かしてる。
設定何も変えてないんだけど、何かしなきゃダメなんでしょうか?
0669NAME IS NULL
2008/06/27(金) 19:39:41ID:???SGA + 同時接続数 x PGA だろうな。
物理メモリに25GB(半端だね)も載せようというんだからDBもでかいんだろうし。
0670NAME IS NULL
2008/06/27(金) 19:40:35ID:???どんな釣りだよ。
プロセスが使えるメモリの最大量って知ってるか。
0671NAME IS NULL
2008/06/27(金) 19:52:07ID:???設定弄らずに32bit Windows上で
ユーザープロセスが使えるメモリの最大サイズは2GBまで。
覚えとけwww
0672NAME IS NULL
2008/06/27(金) 22:22:34ID:???9iにx64版ってあったっけ?
っていうか、Oracleのシステム要件のページってどこいったんだ・・・。
0673NAME IS NULL
2008/06/28(土) 02:05:57ID:???XE 使ったこと無いから知らないけど、結構要求すんのね。
10gR2 for Windows(32bit) の最小システム用件で 256MB なのに。
ttp://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B25255-04/reqs.htm#62274690
>>668
物理メモリ増やしても、オラクルのパラメータ変えなければ意味がない。
そして上限が 2GB 。(設定だと SGA+PGA=1.7GB程度かな)
>>669
Windowsだとローカルメモリ+SGA+PGA+最大セッション数MB で概算してる。
>>672
IPF 版なら存在する。
システム用件は Metalink に移動。
Oracle Japan のトップから不思議なリンクを辿って行ける
トップ→[タブ]会社情報→[Oracle Resources]製品システム用件
使い辛い+判り辛い
0674NAME IS NULL
2008/06/28(土) 04:13:10ID:???up to は上限。
0675NAME IS NULL
2008/06/28(土) 08:07:09ID:???管理者向けのこの手のツールはないですかね?(SI Object Browser 以外で)
10g 標準のツールってweb版のみしか無いようだし、
そもそもバージョンが変わる度にツールも変わるので複数バージョンを扱ってると不便…
0676NAME IS NULL
2008/06/28(土) 13:09:09ID:???使いやすいかどうかは保証しないけど。
0677NAME IS NULL
2008/06/28(土) 21:20:01ID:???Grid Control は複数のバージョンが混在していても管理できるよ。
0678668
2008/06/29(日) 00:06:38ID:???Oracleのプロセスが使える上限が2GBというのは、物理メモリエリアの2GB以下のアドレス
しかアクセス出来ないという意味ではないですよね。
もしそうなら全く駄目なんだけど、そうでなければOSや別アプリが使う分を含んで3GBにする
意味はあると思うのですが。
0679NAME IS NULL
2008/06/29(日) 13:43:09ID:???何のためにメモリを増やしたの?
このスレの視点だと「オラクルのため」にメモリを増やしたと判断されて
当然だと思わない?。だから設定してないなら無意味ってだけ。
オラクル以外の部分のため(例えばSWAP発生してる対策)とかなら、
メモリ増設だけで十分かもしれない。
0680NAME IS NULL
2008/06/29(日) 20:41:52ID:???いや、マシン自体が2GBしかメモリを積んでないなら、当然ORACLEは2GBよりかなり少ない
容量しか使えないから、ORACLEにフルに2GBを使いたいなら当然マシンには3GBとか積ま
ないといけないですよねっていう質問です。
0681NAME IS NULL
2008/06/29(日) 20:51:15ID:???SGAやPGAサイズがOrcaleが使うメモリのすべてと誤解して大きくとりすぎてることはあるよね。
プログラムとしてのOracleのコードやスタック、ヒープはしっかり別に必要で、
OSのファイルシステムにDBおいてるなら、
特にNT系はファイルシステムのキャッシュに目いっぱいメモリ使うから要注意だ。
0682NAME IS NULL
2008/06/30(月) 00:55:47ID:???物理メモリを 2GB → 3GB に増設した。
目的は Oracle で 2GB 使うため。
だったオラクルのパラメータ変更したの?
変更してなきゃ意味無いだろ。って言われてるの。
0683680
2008/06/30(月) 13:27:22ID:???>目的は Oracle で 2GB 使うため。
>だったオラクルのパラメータ変更したの?
2GBで使う場合でも、コンピュータに搭載されているメモリ容量を変更する度に
オラクルのパラメータ変更が必要なのですか?
それなら、そっちの担当にどうしてるのか確認してみます。
0684NAME IS NULL
2008/06/30(月) 13:50:40ID:???ttp://www.microsoft.com/japan/whdc/system/platform/server/PAE/PAEmem.mspx
boot.ini に/3GBスイッチ入れてるでしょ?
0686NAME IS NULL
2008/06/30(月) 14:17:56ID:???0687NAME IS NULL
2008/06/30(月) 20:52:28ID:???メモリチューニングは当然実施すべき内容。
0688NAME IS NULL
2008/06/30(月) 23:14:45ID:4AUDEgeg何故か6桁のパスワードに書き換えられてしまいます。
何か原因に心当たりがあればぜひ!
0689NAME IS NULL
2008/07/01(火) 04:13:53ID:???ClusterWare、Databaseを無事インストールし、EMへのログインを確認できました。
ここで、お尋ねしたいのですが、EMは、Databaseをインストール
したサーバ(rac1)で立ち上がっているようですが、、リモートインストール
したサーバ(rac2)では立ち上がっていないようです。
rac1が故障したときにも備えて、rac2でもEMを立ち上げておきたいのですが
そういったことは可能なのでしょうか?
0690NAME IS NULL
2008/07/01(火) 07:45:54ID:???はい。可能です。
0691NAME IS NULL
2008/07/01(火) 22:30:55ID:???サーバーマシン上で動作するツール(Web版)は避けたいんですよね
ツールがフリーズすると面倒だし…
やっぱりクライアント上で動作して
裏では管理用SQLをやりとりするだけで表示だけわかりやすくしてくれるってのがいいな、と
0692NAME IS NULL
2008/07/02(水) 00:19:54ID:???余裕があるのなら、3台目のサーバーにOMS立ち上げて、中央管理とか
した方がいいかもな。
rac1とrac2が動いているサーバーにはagentだけ入れておけばいい。
0693NAME IS NULL
2008/07/02(水) 00:36:49ID:???可能だけど、マニュアルに手順は載ってなかったと思う。
ちなみに rac2 で emctl status dbconsole すると rac1 と微妙に
表現が違うことに気付くでしょう。
>>691
10gから考え方が変わってるからね。
DBサーバ側で動かしたくないなら、素直にオラクルの考えに従って
Grid でも組んで Agent だけ動かすとかが正解じゃないかと。
0694NAME IS NULL
2008/07/02(水) 00:59:08ID:???0695689
2008/07/02(水) 04:21:16ID:upsbnzBw>>692
>>693
>>694
皆様、レスありがとうございました。
やけっぱちで、RAC1でEMDCのアンインストールを実行し、RAC2で
EMDCのインストールを試みましたが、インストールに失敗し、私の手では復旧不能になりましたw
とりあえず、再度オラクルをインストールしなおして、各サーバにgridのエージェントをいれ、
管理サーバとして3つ目のサーバにXEとgridを入れようと思います。
素人が出を出すもんじゃないですね。
0696NAME IS NULL
2008/07/04(金) 22:53:03ID:c2n1ia/ZPCが使い物になりません。
Windows XP Pro:メモリ1.5GB CPU Celeron 540
同様なマシン3台チャレンジしてみましたが....
気になる点は、ネットワークアドレスが固定なので
DHCPについての確認MSGはでてしまいました
0697NAME IS NULL
2008/07/04(金) 23:20:42ID:???SPECが低いんだろ。
0698NAME IS NULL
2008/07/06(日) 01:27:05ID:???0699NAME IS NULL
2008/07/06(日) 07:05:10ID:???同じマシンで10gならもう少しマシに動くはず。
0700NAME IS NULL
2008/07/06(日) 12:06:46ID:???クライアント windows XP proからアクセスしています。
いまトリガーを作っているんですが、トリガーをステップ実行できるような無料のツールはないでしょうか。
Visual Studio2005が入ってるので、「Oracle Developer Tools for Visual Studio」を入れてみたんですが、
トリガーのステップ実行はできませんでした(ブレークポイント貼っても止まりませんでしたので)
0701696
2008/07/06(日) 16:44:34ID:8/VfbbrQ11gをアンインストールして10gR2をいれてみました。
問題なくとっても快適に動きます。負荷も何もしてなければ
10%以内です。
その後11gをインストールしなおしたけど、何もしなくても
CPUは100%。
>>697
オラクルの言う最低要件はクリアしているが、スペックが低い、
ということだと、どれくらいのスペックがあればいいですか?
0702NAME IS NULL
2008/07/06(日) 17:20:02ID:???0703NAME IS NULL
2008/07/06(日) 17:21:38ID:???Object Browserをとりあえず試用してみるのが良いとオモ。
>>701
つか、最低要件はあくまで最低だからな。
32bitなら最低限Core2Duoと4GB RAMが欲しい。
0704NAME IS NULL
2008/07/06(日) 17:59:05ID:cz+zACqE類似事例が下のURLのサイトに書いてある。
ttp://www.oraxcel.com/cgi-bin/yabb2/YaBB.pl?num=1211190566
Oracle 11g causes CPU 100%
After installing Oracle 11g on a clean windows XP machine (no service packs) it maxes out the CPU.
The CPU is always 100%. I have a 2GHz PC with 2 GB of memory...
I found the cause to be the service for enterprise manager. When you stop the service OracleDBConsole
for your database the CPU drops to idle after a minute or so.
I guess I have to do without the enterprise manager...
0705NAME IS NULL
2008/07/06(日) 18:09:24ID:???0706田中さん
2008/07/06(日) 18:18:45ID:pcnIKAGY0707NAME IS NULL
2008/07/07(月) 00:53:28ID:???Oracle SQL Developer ではできないんだっけ?
0708NAME IS NULL
2008/07/07(月) 00:55:54ID:???DBconsoleサービスを止めたらどうなのだろう?
0709696
2008/07/07(月) 07:26:02ID:MBMmlGLV停止でCPU負荷は下がりました。
でOEMは使えないっす。(これは管理上痛い!)
Oracle11gもVista化しちゃったのかな?
みんな11gって使えてるの?
0710NAME IS NULL
2008/07/07(月) 08:09:07ID:???0711NAME IS NULL
2008/07/07(月) 10:04:10ID:???0712NAME IS NULL
2008/07/07(月) 10:05:35ID:???普通に考えればない罠www
0713NAME IS NULL
2008/07/07(月) 10:54:00ID:???0714NAME IS NULL
2008/07/07(月) 11:12:31ID:???バインド変数の宣言方法と使用方法(構文?)がわかりません。
Oracle9i リリース2
開発言語 .NET
ODPでOracleに接続しています
よろしくお願いします
0715696
2008/07/07(月) 12:29:35ID:MBMmlGLV先月購入した国産F製XPパソコンですので、SP2はいっています。
XPの更新などはいれましたが、SP3は入れてません。
(一般的な状態かと?)
元々NTで動いていたシステムのリプレースで、機械も客先からの指定、
そんな感じです。
メモリは積むことは出来ますが、CPUはアップ無理〜。
0716NAME IS NULL
2008/07/07(月) 12:51:16ID:???0717NAME IS NULL
2008/07/07(月) 12:52:13ID:???ダメ元でメモリ奢ってみなよ。
0718NAME IS NULL
2008/07/07(月) 20:14:20ID:???うちOracleの人は普通に使ってる条件、UpDate はtimestamp型ね
これ普通?
0719NAME IS NULL
2008/07/07(月) 20:33:25ID:???0720NAME IS NULL
2008/07/07(月) 22:29:42ID:87jAvxSSこのテーブルにトリガを設定し、UPDATE・INSERT・DELETEされたタイミングで、
更新されたCODEと同じCODEの中で最大のDATEフィールドを、DSTテーブルにINSERTしています。
トリガ内で自テーブルを参照するのでやむを得ず文トリガーにしましたが、
この場合、:NEWや:OLDが使えないため、更新(や削除)されたレコードのCODEが欲しいのにわかりません。
文トリガーの場合、どうやってどのレコードが更新(削除)されたか取得するんでしょうか?
0721NAME IS NULL
2008/07/08(火) 00:53:23ID:???0722NAME IS NULL
2008/07/09(水) 16:41:47ID:???11gの体験版をインストールし、サービス「orcl」を作成してSQL Developerからアクセスできました
次にODBC接続するためDNSを作成しようとしたのですが、
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした」
と表示され接続できません。ローカルからの接続で、設定はSQL Developerからの接続と同様です。
tnsping orcl と入力しても名前の解決に失敗しました
sqlplus user/pass@orcl と入力しても指定された接続識別子を解決できませんでしたと言われます。
おそらくODBC以前の問題かと思うのですが、こういう場合はどこを確認すればいいのでしょうか?
0723NAME IS NULL
2008/07/09(水) 16:51:50ID:???ORA-12154でぐぐる
0724NAME IS NULL
2008/07/09(水) 17:06:41ID:???もう少し調べてみます…
0725NAME IS NULL
2008/07/09(水) 18:28:20ID:???0726NAME IS NULL
2008/07/10(木) 01:06:21ID:???0727NAME IS NULL
2008/07/10(木) 01:48:21ID:???TABLE_A に NOT NULL かつ NUMBERな、COL1とCOL2 があります。
primaryなkeyとして IDX_A (COL1,COL2) が指定されてます。
これに対して SQL1 を実行すると、IDX_A の FULL SCAN になってしまいました。
[SQL1]
EXPLAIN PLAN FOR
SELECT SUM(CASE WHEN COL1=10 AND COL2=100 THEN 1 ELSE 0 END) FROM TABLE_A;
UNIQUE INDEX をフル指定してるのになぜ...と思って 念のため SQL2 を実行すると
こちらは順当に IDX_A の UNIQUE SCAN となりました。
[SQL2]
EXPLAIN PLAN FOR
SELECT COUNT(*) FROM TABLE_A WHERE COL1=10 AND COL2=100;
ひょっとして CASE の WHEN では、INDEX UNIQUE SCANしてくれないのでしょうか。
『oracle when full scan』とかでググったり、Oracle Database パフォーマンス・
チューニング・ガイドを見たりしたのですが、そのような記述は見あたりません。
ちなみに NOT UNIQUE な INDEX で同じ事をすると(っていうか発端はこっちなのですが)、
WHERE では INDEX RANGE SCAN、WHEN では INDEX FULL SCAN となり、同じ事でした。
よろしくお願いします。
0728NAME IS NULL
2008/07/10(木) 03:36:28ID:???CASE WHEN の方は全部の行を集計対象にしているから、FULL SCAN は当然では?
COL1 COL2
10 9 -> 0
10 10 -> 1
10 11 -> 0
:
:
0729727
2008/07/10(木) 04:13:43ID:???エロイ人、ありがとうございます!!
そういう事なのですね。
WHENに書く必要のない条件をWHEREに持ってきたら、RANGE SCAN になってくれました。
これで寝れます。お休みなさい。
0730NAME IS NULL
2008/07/11(金) 17:53:30ID:85FVEcl0http://mamono.2ch.net/test/read.cgi/newsplus/1215766033/
OracleとSalesforce.comが、無料iPhoneへのチケットになるかもしれない。その方法は?
上司にお金を払ってもらうのだ。
エンタープライズアプリケーション大手のOracleと、CRM(顧客関係管理)の第一線にある
Salesforce.comは、7月11日に発売されるiPhone 3G向けにアプリケーションを開発する企業
の第一陣だ。
(中略)
あなたの上司はまだiPhoneをおもちゃだと考えているかもしれない。IT部門は新しい製品の
管理を嫌がるかもしれない。iTunesが管理コンソールにあるのならなおさらだ。だが一般社員
はiPhoneを使うだろう。OracleとSalesforce.comはそれを分かっている。実際に両社はそれ
を確かめるだろう。ほかのベンダーも後れを取ってはいない。
SAPは今春、BlackBerryにSAP CRMを搭載して成功したと考えている。おそらく成功だった
のだろう。だが、iPhone対応を検討した方がいい。
あなたのチームにiPhoneを支給しなければ、ライバルに後れを取ってしまうと上司を説得する
にはいい機会だ。
0731NAME IS NULL
2008/07/11(金) 21:03:04ID:???0732NAME IS NULL
2008/07/11(金) 21:10:16ID:???9iより前には無い
0733NAME IS NULL
2008/07/11(金) 21:53:11ID:???意味不明だが、とりあえずTIMESTAMP WITH TIME ZONEにしとけ。
0734NAME IS NULL
2008/07/12(土) 21:43:42ID:8NaFBB4mひょっとしてLinuxのXEにx86_64の対応版はないですか?
0735NAME IS NULL
2008/07/12(土) 22:05:36ID:???0736NAME IS NULL
2008/07/12(土) 23:46:53ID:???つうことで、32bit版しかないんだろう。
0737NAME IS NULL
2008/07/13(日) 11:23:19ID:???0738NAME IS NULL
2008/07/13(日) 23:54:58ID:???0739NAME IS NULL
2008/07/14(月) 01:51:01ID:???成功者いますか?
0740NAME IS NULL
2008/07/14(月) 11:44:01ID:???0741NAME IS NULL
2008/07/14(月) 12:15:13ID:???http://school7.2ch.net/test/read.cgi/lic/1142637069/
http://school7.2ch.net/test/read.cgi/lic/1174101890/
0742NAME IS NULL
2008/07/14(月) 22:02:05ID:???0743NAME IS NULL
2008/07/14(月) 22:29:05ID:???(´д`)つdba_segments
0745NAME IS NULL
2008/07/16(水) 23:24:55ID:???0746NAME IS NULL
2008/07/17(木) 23:25:17ID:kAgTWgJLオラクルのフィールドに、「何も入ってないけど、NULLじゃない状態」ってありえるんでしょうか?
ACCESSでリンクして、ACCESSからオラクルに書き込んでるデータがあるんですが、
ACCESSから書き込んだあと、オラクル上(SQLPLUS)で、あるフィールドがNULLのデータを取得しようとしたら取得できず、
でもそのレコードを見ると、対象フィールドには何も入ってない、という現象が発生しまして。
0747NAME IS NULL
2008/07/17(木) 23:30:23ID:???どうやって何も入っていないことを確認したのか
0748NAME IS NULL
2008/07/18(金) 00:17:59ID:???表示できない文字が入ってるってオチだろ
chr(0)とかコントロールコードとか
ちゃんとlengthとかdumpとかみてんのか?
0749NAME IS NULL
2008/07/18(金) 01:18:07ID:???改行が入ってるとかよくあるよ
0750NAME IS NULL
2008/07/19(土) 15:06:54ID:???・副問合わせがNULLを戻すと主問合わせは1行も結果を戻さない
真か偽か、で正解が真とあります。
副問合わせをWHERE/HAVING/FROMで使う時はわかるのですが
UPDATE文のSET句で使う場合は結果を返すような気がするのですが
どこか誤解があるでしょうか。
0751NAME IS NULL
2008/07/19(土) 16:48:26ID:???SELECT文のみを想定してるんじゃ?
0752NAME IS NULL
2008/07/19(土) 18:09:42ID:???「主問合わせ」と言うとき、SELECT文のことを指すものなのですかね
どうもこの書は用語の定義の説明が省略されていて初学者には戸惑います
まあでも更新操作は確かに問合わせではないですね
0753NAME IS NULL
2008/07/19(土) 18:37:50ID:???資格試験の想定問題の場合、
厳密な用語の定義以前に
問題作成者の意図、ってのが関わってくるから、
そういうことが起きうるんだけどな。
資格試験の勉強の場合は
「まぁ、そんなもんか」としておくのが良いと思う。
0754NAME IS NULL
2008/07/19(土) 23:16:16ID:???皆さんはノートは何を使っていますか?
現在会社で使っているノートはレノボの重いノートで
ORACLEは問題なく動いているんですが出張には重い・・・
そこで出張にも大丈夫なようにノートを検討中です
Oracle10gや11gでさらにOracle自身も重くなってきていて悩んでいます
OracleはEnter PriseではなくてもStandardが動けば十分です
モバイルノートで探しているのですが参考にさせてもらいたいです
0755NAME IS NULL
2008/07/19(土) 23:38:57ID:???もちろん、Oracleは、使うときだけ起動するようにしてたけど。
0756NAME IS NULL
2008/07/20(日) 10:14:32ID:???問合せ=SELECT
ちなみに選択列で副問合せを使った場合はどうなんだろうな。
SELECT ( SELECT b.a FROM b WHERE b.c = d.c ), d.e, d.f FROM d
0757NAME IS NULL
2008/07/20(日) 11:21:42ID:???副問い合わせ=subqueryだな
0758NAME IS NULL
2008/07/21(月) 10:13:46ID:???? sub = 副 だからな
0759NAME IS NULL
2008/07/21(月) 12:22:09ID:???0760NAME IS NULL
2008/07/21(月) 12:31:55ID:???subqueryからsubを取ってみろよ
0761NAME IS NULL
2008/07/21(月) 19:54:10ID:???10gゴールドのテスト受かったんで講習受けようと
思ってるんだけど、安くて期間の少ないSQL入門を
受けようと考えてます。
ただ、自分は完全ペーパーオンリーできたため
SQLのことなんてさっぱりなので心配です。
講習とはどのようなことをするのかどなたか教えて
頂けませんか?
0762NAME IS NULL
2008/07/21(月) 20:06:46ID:???0763NAME IS NULL
2008/07/22(火) 22:16:35ID:???0764NAME IS NULL
2008/07/23(水) 07:16:10ID:???0765NAME IS NULL
2008/07/23(水) 11:50:31ID:???まっつぐいってしだり
0766NAME IS NULL
2008/07/24(木) 06:39:33ID:BudmsEYuインスタントクライアントを入れたいのですがOTNやググって見ても大した説明がなくわからないです。 パスを通しましたが繋がらないです。
基本パッケージをダウンロードし
Cドライブへ環境変数のシステムでパスを通しましたが・・・
無償版なのでサポートを受けられないことくらい分かっていますがどうしてもお金が使ってはいけない事情があるので・・・
0767NAME IS NULL
2008/07/24(木) 06:49:50ID:???何をしたか詳細に書け。
接続しようとした際の接続文字列もな。
0768NAME IS NULL
2008/07/24(木) 07:48:03ID:eOuZyKHkどうやったら接続まで辿り着けるかが記載されてなく困ってます。(文字列なんて先の話みたいです)
0769NAME IS NULL
2008/07/24(木) 08:09:41ID:???話にならんな。
マニュアルにはちゃんと書いてある。
金払ってちゃんと教えてもらえ。
0770NAME IS NULL
2008/07/24(木) 10:39:30ID:eOuZyKHk0771NAME IS NULL
2008/07/24(木) 10:58:46ID:???0772NAME IS NULL
2008/07/24(木) 12:33:38ID:eOuZyKHkもう一回見直してみましたがよくわかりません。
正直何のファイルへパスを通すのか?
どうやって接続出来るのか?
と言ったようなことがなく初心者にはわかりづらいです…
申し訳ないですがどなたか一から教えていただけないですか?
0773NAME IS NULL
2008/07/24(木) 12:43:26ID:???0774NAME IS NULL
2008/07/24(木) 12:53:39ID:???初心者を名乗るバカ野郎に答えてくれるのは
OTNに常駐している連中くらいだろう
0775NAME IS NULL
2008/07/25(金) 11:00:59ID:???環境変数についても、通常版クライアントでは使われなくなった変数を指定する必要があったり。
0776NAME IS NULL
2008/07/25(金) 11:10:47ID:???まぁ、何もしたくなけりゃ普通のOracleClientインストールしろって事だよ。
0777NAME IS NULL
2008/07/25(金) 15:11:16ID:g0Qz5Cbjどなたかわかる方いましたらご教授お願いします
xpにvirtualpcをインストールしまして
virtualpcに20003サーバーをインストールしました。
2003サーバーにオラクル10gをインストールしようとしたのですが
オラクル10gインストール時のチェック?で警告がでまして
インストールをやめてしまったのですが、これだけの情報で原因と
思われるものがわかる方いらっしゃいますか?
0778NAME IS NULL
2008/07/25(金) 15:29:05ID:???・仮想マシンの物理メモリの量が満足されていない
・ディスクの最大空き容量が満足されていない
0779NAME IS NULL
2008/07/25(金) 16:27:29ID:???0780NAME IS NULL
2008/07/25(金) 16:30:31ID:???それもあり得る。
その場合はMicrosoft Loopback AdapterインストールしてIP割り当てるか、
DHCP使わないよう既存NICにIP割り当てるかするしかない。
0781NAME IS NULL
2008/07/26(土) 10:12:44ID:???「警告」を正確に書かない時点で本当に解決したいのかどうか
0782NAME IS NULL
2008/07/26(土) 11:10:22ID:???釣りだろwww
0783NAME IS NULL
2008/07/26(土) 15:15:58ID:???クライアントにはいってないよね?
データベースのほうでok?(10g)
0784NAME IS NULL
2008/07/28(月) 00:34:37ID:???慣れないうちはフルに正確に書いたほうが良い
0785NAME IS NULL
2008/07/31(木) 00:04:14ID:iqcL6bpmとあるSQL文を投げたとき、もともとは特にヒントなしでもIDX_2を使用。
いろいろチューニングを試していたときに、ためしにアナライズをかけてみた。
そこから急にIDX_1を使うようになって、速度がめちゃめちゃおそくなってしまった。
実行計画を見ると確かにコストは低いみたいだけど、実行すると遅いんだよね。
で、テーブルのアナライズを削除してルールベースに戻したんだが、
同じSQL文を投げてもIDX_2ではなく、IDX_1を使うようになってしまい、
明示的にIDX_2または、RULEのヒントを入れないと、IDX_2を使ってくれない。
一度コストベースで統計情報作ったら、それがのこってしまうことってあるの?
0786785
2008/07/31(木) 00:07:18ID:???0787NAME IS NULL
2008/07/31(木) 08:29:21ID:???統計情報作ったらそうなるだろう。
0788785
2008/07/31(木) 12:31:11ID:???SQL文の条件部分をかえてみたり
インデックスの列をかえてみたり…
て感じです。
興味本意でアナライズかけたらこんなことに…
開発機だからまだよかったけど。
さっきDBMS_STATS.DELETE_TABLE_STATSで統計情報を削除してみた。
しかし元にはもどらん(´Д`;)
オラクル再起動とか必要?
0789NAME IS NULL
2008/07/31(木) 17:30:12ID:???データをロードする際に列名が日本語なせいか
ORA-20001: create_table エラー: ORA-20001:
Excelのロード実行でのDDLエラー: ORA-00972: 識別子が長すぎます。
っていうエラーが出る。何か回避方法ない?
0790NAME IS NULL
2008/07/31(木) 18:22:32ID:???そもそもオラクルで日本語スキーマは地雷
0791NAME IS NULL
2008/07/31(木) 21:09:56ID:???ルールベースなんて10gではサポート外なんだから極力使わない方がいい。
ヒントなりストアドアウトラインなりを使って実行計画固定しろ。
0792NAME IS NULL
2008/07/31(木) 22:16:35ID:???9iと書いてあるが…
ちなみにIDX_1とIDX_2はどちらも単一列索引or複合列索引で同じランクになる条件なのか?
あとルールベースに戻したんだが…というはアナライズを削除しただけなのか?
統計情報は完全に全部消えているのか?
0793NAME IS NULL
2008/07/31(木) 22:34:18ID:???0794785
2008/07/31(木) 23:09:12ID:???ありがとう。
自分もそう思ってヒントにインデックス指定したら早くなったよ。
>>792
ランク・・・ごめ、勉強不足でわかんない。
明日調べてみます。
ANALYZE TABLE table_name DELETE STATISTICS と
DBMS_STATS.DELETE_TABLE_STATS をやったんだけど、
これだと、アナライズが消えただけの状態なのかな?
2番目のヤツで統計情報も消えたと思ってたんだけど・・・
>>793
え!
テーブルの統計情報消したらインデックスの統計情報消えると思ってたけど違うの?
0795NAME IS NULL
2008/07/31(木) 23:36:13ID:???>SJISかEUCで作り直せ
なにいってんだ?
0796NAME IS NULL
2008/07/31(木) 23:49:38ID:???exelデータだからSJISだと思うんだよな。
とりあえず文字数削って試してみたらこんなエラーが
ORA-20001: create_table エラー: ORA-20001: Excelのロード実行でのDDLエラー:
ORA-04089: SYSが所有しているオブジェクトに対してトリガーは作成できません。
わけわかんね。何がまずいんだろ。
oracleやめて日本語使用が容易なSQLサーバに移行したほうが良いのかな。
思いつかないけど。
0797796
2008/07/31(木) 23:55:48ID:???×SQLサーバ ○データベースソフト
0798NAME IS NULL
2008/08/01(金) 00:13:33ID:???DMLじゃなくDDLでエラー出る書いてあるだろ
テーブル名が全角で11文字以上だとそうなる
XEのデータベースはデフォルトでUTF8で作成されるから
SJIS/EUCで作り直せと言ってる
ttp://www.shift-the-oracle.com/guideline/multibye-character-objectname.html
> データベースのキャラクタセットを JA16SJIS (JA16EUC) で作成した場合では日本語は 1 文字が 2(3) バイト
> AL32UTF8 でデータベースを作成すると 1 文字が 3バイトになる。
0799NAME IS NULL
2008/08/01(金) 00:25:56ID:LuTRPpIRDBMS_STATS.DELETE_TABLE_STATS でテーブルの統計情報を削除時には
cascade_indexes パラメータがデフォルトでtrueなので、INDEXの統計情報は
消えているはずなのですが、念のために聞いてみました。
念のため、user_tables や index_tables でlast_analyzed がNULLになっているかを
確認してください。NULLになっていれば統計情報は消えています。
あと、問題が発生した後にINDEXを作り直している場合には、いったん削除して、
作成順番を逆にしてみてください。
0800NAME IS NULL
2008/08/01(金) 00:43:32ID:???10gにアップグレードさせられる時が来るだろうから、将来的に廃止される
ルールベースは使わない方が良いという意味。
0801NAME IS NULL
2008/08/01(金) 02:10:31ID:???UTF8だと文字化け認識されるのに対し、
きちんと認識されるからSJISだと思うのだが。
まあそれはさておき、列名を全て半角英字にして、日本語未使用かつ
10文字以下に押さえたけど>>796のエラーが出る。
まさかデータのインポートで梃子摺るとは思わなかった。難しいね。
0802801=796
2008/08/01(金) 08:54:55ID:???別ユーザーで入ってロードしたら普通にいけました。
どうもありがとう。
0803NAME IS NULL
2008/08/01(金) 22:11:36ID:???アップグレードすることになるかどうかは人それぞれ
Oracle7を使いつづけるシチュエーションもある(ここにもいるのではないか)
バージョンアップを前提に命令形ってのもどうかと思う
それに将来的に9iから移行する場合にはルールベースだけの話ですむとも思えない
それよりも現時点での問題を回避したいのではないだろうか?
0804NAME IS NULL
2008/08/02(土) 00:00:06ID:???するなw
0805NAME IS NULL
2008/08/02(土) 08:09:27ID:???ただでさえバグだらけなのに、サポート外のものを使い続けて何か
あったらどうするつもりなんだ?
0806NAME IS NULL
2008/08/02(土) 08:19:35ID:????
サポート契約に入っていれば旧バージョンでもサポートは受けられるだろうし
最新版でもサポート契約してなければサポート外と変わらんと思うが
0807NAME IS NULL
2008/08/02(土) 12:10:39ID:???製品サポートライフサイクルというモノがあってだな。
Oracle7については、KROWNは引けるが、
新規の問い合わせやバグ対応は一切なされない。
ま、別に使い続けるのは構わないと思うよ。
Oracle7は軽くて良いRDBMSだし。
0808NAME IS NULL
2008/08/02(土) 21:26:31ID:???>>785は9iを使用している環境での質問をしていて
>>791は10gでは対応外だからその機能を使うなというレスなんだろ?
それが筋違いっていう流れではないのか?
まぁ、>>785は諦めたか解決したのか分からないけどしばらく登場していないようだから、
話を広げてもしょうがないとは思うが
0809NAME IS NULL
2008/08/03(日) 01:03:49ID:nR5uLz7cどんな時にクライアントのほうをインストールして、
どんな時にデータベースのほうをインストールするのでしょうか?
0810NAME IS NULL
2008/08/03(日) 01:15:16ID:???>>807でも指摘されてる様に、旧バージョンは何かあっても新たに
バグがファイルされる事は無い。
同様にサポート外の機能を使って何かあったとしても、新たな
パッチをリリースして貰う事は出来ない。
サポートされるバージョン、及び機能だったらちゃんとバグもファイル
されるし、パッチもリリースされる。
将来的にサポート外の機能を使うよりは、将来を見据えて現行
バージョンからパフォーマンスチューニングを行うのも、ひとつの
手と言いたいんだろ。
0811NAME IS NULL
2008/08/03(日) 01:17:50ID:???全く違う。
例えば君はクライアントが使うPCにメールサーバーやアパッチとかを
インストールしたりするのかい?
クライアント側に入れるのは、メールを送受信したりするソフトやブラ
ウザーを入れる訳だろ?
それと同じ事。
0812NAME IS NULL
2008/08/03(日) 01:17:57ID:MC5bENIFデータベースをインストールするのは、インストールした環境で
Oracle インスタンスを起動する場合。
0813NAME IS NULL
2008/08/03(日) 01:30:10ID:???ありがとうございます。データベースについてはわかったのですが、
クライアントはどのような時にインストールするのでしょうか?
0814NAME IS NULL
2008/08/03(日) 01:59:00ID:???0815NAME IS NULL
2008/08/03(日) 03:53:41ID:???クライアントはデータベースをインストールしたサーバーなりに、
データを見に行きたい時のための接続するために必要であるから、
データを見に行きたいときにインストール。
って、自分は解釈してたんだが、違う?
10gのクライアントは、コンフィグレーションアシスタントってハイってたっけ?
0816NAME IS NULL
2008/08/03(日) 04:00:54ID:???アプリケーションによっては、Oracl Clientを利用してDBに接続しに
いったりするのがある。
まあ、Thin ClientでもOkだったり、ODBCやJDBC接続経由のものも
あったりするけどね。
0817NAME IS NULL
2008/08/04(月) 21:44:39ID:fuOG4llVNamed User PlusライセンスのUserとは、何をさすのですか?
実際に使用する人なのでしょうか?
同時使用する人数なのでしょうか?
あくまでデータベースのユーザ数(アカウント数)なのでしょうか?
例えば
コンビニで、データベース上に1ユーザ分のアカウントを作り、そのアカウントをJAVAで書いたレジ2台で使用。
アルバイト20人が3人ずつシフトを組んでそのレジを使っていた場合は何ユーザ必要なのでしょうか???
0818NAME IS NULL
2008/08/04(月) 22:02:13ID:???そのケースなら、ネット2名分でいいわけだが、最低5名からしか買えないから。
11gから変わっているかもしれないし、そういうのは営業に確認しる。
0819NAME IS NULL
2008/08/04(月) 22:13:15ID:???ありがとうございます!
0820NAME IS NULL
2008/08/04(月) 23:10:16ID:???間違ってますかね?
1.ツリーダンプとる(抜粋)
branch: 0x100084c 16779340 (0: nrow: 103, level: 1)
leaf: 0x100084d 16779341 (-1: nrow: 241 rrow: 241)
2.リーフブロックをとる
SQL> alter session set events 'immediate trace name blockdump level 16779341';
ERROR:
ORA-02194: event specification syntax error 231 (minor error 286) near
'BLOCKDUMP'
バージョンは 10g Express Edition Release 10.2.0.1.0 です。
0821NAME IS NULL
2008/08/04(月) 23:23:36ID:???(PCTFREEで指定したところ)にキーが追加される場合(リーフ
分割が起こらなかったとして)、そのブロック内のキーはソート
されるのかどうか、目で見てみたいと思ったのがきっかけです。
-----
AAA
BBB
CCC
空き
空き
-----
上のブロックにAAAを追加した場合、
-----
AAA
AAA
BBB
CCC
空き
-----
こんな風にブロック内部でソートされる?
長くなってすみません。
0822NAME IS NULL
2008/08/05(火) 02:53:34ID:???20人分じゃね?
0823NAME IS NULL
2008/08/05(火) 05:56:02ID:???そのコマンドはOracle 7のやつだな。
8i以降は以下になる。
まずDBAからファイル番号を求める。
SQL> SELECT dbms_utility.data_block_address_file(116779341) "FILE#" FROM dual;
んでもって、DBAからブロック番号を求める。
SQL> variable BLOCKNUMBER NUMBER
SQL> execute :BLOCKNUMBER := dbms_utility.data_block_address_block(16779341);
SQL> print BLOCKNUMBER
上記の情報から、以下を実行。
ALTER SYSTEM DUMP DATAFILE <ファイル番号> BLOCK <ブロック番号>;
0824NAME IS NULL
2008/08/05(火) 06:55:32ID:???まちがってるぞ〜。
Named User Plusは利用者数分必要だから、
この場合は20Named User Plusライセンス必要になる。
ので、>>822でOK。
0825NAME IS NULL
2008/08/05(火) 09:13:15ID:zIFuaY1j0826NAME IS NULL
2008/08/05(火) 09:21:17ID:???MySQL側にOCI経由でOracleに問い合わせかけて、
戻り値をあたかもMySQL内のテーブルから取得したように
戻すようなラッパーがあれば可能。
Oracleから他DBならオプションがあるんだがな。
0827NAME IS NULL
2008/08/05(火) 21:20:09ID:???0828NAME IS NULL
2008/08/05(火) 22:38:17ID:???ありがとさん!見えました。
0829NAME IS NULL
2008/08/05(火) 22:47:44ID:???まさかここで確認とって
それを理由に購入数を決めようとしているとは思えないので
ライセンス数クイズ(って何だ?w)か何かだとは思うが
その使い方の場合はシフトが重ならない前提で
ライセンス数としては3人でOKである可能性が高い
(但し3ライセンスでは買えないので結果的には>>818と同じ5ライセンス購入)
正解はOracle Directへの電話でどーぞ
0830785
2008/08/05(火) 23:05:55ID:???原因がわかりました。
えー・・・お恥ずかしい話なのですが結論からいいますと、
最 初 か ら ル ー ル ベ ー ス じ ゃ な か っ た
ようです(汗
・・・といいますのも、前回の書き込みの時には関係ないと思っていたので書かなかったのですが、
実は2つのテーブル(A-売り上げ情報、B-店マスタ)をwhere条件でつなげていて
select col1,col2,・・・ from tableA,tableB
where 〜
and tableA.colX = tableB.colY
という風になっています。
自分がアナライズをかけたのはtableAだけで、こちらしか見ていなかったのですが
自分がいじる前からtableBの統計情報が存在していたようです。
(誰がやったのか、インポート時?とかは全く不明)
それで、自分がアナライズををかけたことで、実行計画がかわってしまったようです。
そのうえ、当然tableAの統計情報を消しても、tableBの情報が残っているのでルールベースにはならない。
もとの実行計画にも戻らない。
なんでだー!・・・と自分が混乱していた。というわけです。
最初のほうは手探りでいろいろやっていたため、tableBの統計情報が存在することにすら気づいていなかったんですよね。
まぁそういうわけで、ルールベースに戻すことはできました。
あと、インデックスはヒントで使うようにしました。
大変お騒がせしました。
答えてくれたみんなありがとう!
0831NAME IS NULL
2008/08/05(火) 23:27:11ID:???調査乙&報告乙
原因が分かってよかったね
よく分からないまま別の理由を持ってきて
対応そのものを変えるってのもおかしいからね
0832NAME IS NULL
2008/08/06(水) 23:23:40ID:???普通に使えてると思ってネットワークから外してノートPC単独でデモをやったら、すごく遅くなった。
再起動でdbstartやったら体感的に1-2分かかった気がする。 普通は5秒もかかってないと思う。
select も 10-15秒くらいかかった気がする。普通は1秒もかからないと思う。画面表示のほうが遅いくらい。
固定IPだし、tnsname.oraとかもIP直接書いてるし、なんでだろ。
電池駆動でもなかったのでネットワークぐらいしか違いが無いのだけど、
そういう事例ってあるの? 127.0.0.1じゃないと遅くなるとか・・・?
0833NAME IS NULL
2008/08/07(木) 00:01:33ID:???0834NAME IS NULL
2008/08/08(金) 10:00:51ID:???別のユーザー hage から、テーブル hoge.A は参照できるのですが、
hoge.B は参照できません (ORA-00942)。
権限の問題だと思うのですが、テーブル単位で参照権限を与えるには
どうすればよいでしょうか?
0835NAME IS NULL
2008/08/08(金) 10:27:14ID:???0836NAME IS NULL
2008/08/09(土) 04:59:36ID:Rz28Uwkkみなさん何を使われて接続されているのでしょうか?
0837NAME IS NULL
2008/08/09(土) 05:33:44ID:???どうも失礼しました。
0838NAME IS NULL
2008/08/09(土) 19:56:40ID:3BmvVFUi0839NAME IS NULL
2008/08/09(土) 20:16:10ID:???10分ほど放置したり、別セッションで接続しにいったりするとまた動き出すのですが原因がよく解りません。
サーバー機上でEXPした場合はこんな事にはなりません。
EXP以外でも処理に時間がかかるプログラムだと停滞することがあります。
このような症状に心当たりは無いでしょうか?
バージョンは8i Standard、
サーバーはWin2000Server、
クライアントはWindowsXP、2000両方で試しましたが同じです。
0840NAME IS NULL
2008/08/09(土) 20:35:58ID:???無問題
>>839
サポートに訊け
0842NAME IS NULL
2008/08/10(日) 18:59:52ID:???オラクル株で損しているので嫁を説得したいです
0843NAME IS NULL
2008/08/10(日) 19:18:28ID:???0844NAME IS NULL
2008/08/10(日) 19:27:23ID:???含み損見られると困るんです(郵便局に配当取り入って郵便局員に同情されるくらい損してます)
ここが素晴らしいってだから売らないって言い訳できるのをどうかひとつ!
0845NAME IS NULL
2008/08/10(日) 19:41:10ID:???今の状況なら長期塩漬けか、とっとと損切りするかどっちかだろ。
0846NAME IS NULL
2008/08/10(日) 19:45:24ID:???君はオラクルの株価推移知らないからそう言うことが・・・
0847NAME IS NULL
2008/08/10(日) 19:46:05ID:???0848NAME IS NULL
2008/08/10(日) 19:58:03ID:???知ってたところで意味無いだろ?
要は「これから」なんだから。
信じてるなら塩漬け、見切るなら損切り。
0849NAME IS NULL
2008/08/12(火) 17:26:40ID:???何時買ったのかしらんけど、20%程度含み損があるだけでしょ?
チャート的には綺麗な下落トレンドで、今はバンドの上限に来てるね。
売りで入って、以前の最安値更新しないで上昇しはじめたらナンピンする位かな。
アメリカが死んで、
他国も不況に陥りつつあるから元の価格には戻らないだろう。
0850849
2008/08/12(火) 17:33:21ID:???最安値更新しないで反転して上昇したらドテンしろってこと。
買うのはバンドの上限突破したとき。
まー株やるならテクニカルを勉強してみてくれ。
0851NAME IS NULL
2008/08/12(火) 23:33:17ID:???0852NAME IS NULL
2008/08/17(日) 12:33:34ID:wFCwE3fmなんでしょうか?新規接続をブロックするエラーとのことですが…
oracle10gを使っていますが、データの登録や参照はできますし、
バックアップソフトにもエラーは出てません。
ora-12528が全くでない日も3回ぐらい連続で出ている日もあります。
0853NAME IS NULL
2008/08/17(日) 14:28:16ID:???functionとかprocedureってどうやって実行するんでしょうか?
いつもSIオブジェクトブラウザで実行ボタン押してるので・・・
call?execute?どちらも認識されません
0854NAME IS NULL
2008/08/18(月) 08:04:57ID:???プラットフォームは何よ?
夜中にRMAN使ったコールドバックアップとかしてたり
とかしてない?
0855NAME IS NULL
2008/08/18(月) 19:38:58ID:u8+oPdxpselect
a.name,
b.name1
from
table1 a,
(
select distinct
key1,
name1
from
table2
where
param_date between from_date and to_date and
param_flag = flag
order by
key1
) b
where
a.key1 = b.key1(+)
;
↑の様な場合に、サブクエリの結果との結合は必ず全検索(?)になってしまうんでしょうか?
Oracle10gです。
オラクルが上手い事最適化してくれないでしょうか…。2分探索とか…。
0856NAME IS NULL
2008/08/18(月) 21:20:59ID:???まぁ、最適じゃなくてもある程度の最適化はされるはず。nested loop joinじゃなくて
hash joinになるとか。
多くのDBMSではこのクエリはこう書き換えれば最適化しやすくなる。
・相関サブクエリにする
・distinctを使わない
・outer joinを使わない
0857NAME IS NULL
2008/08/18(月) 23:00:06ID:u8+oPdxpそうですかあ…。
もっとパフォーマンスに関する拡張構文みたいなのって出ないんですかね。
select distinct
key1,
name1
from
table2
where
param_date between from_date and to_date and
param_flag = flag
order by
key1
↑の結果はレコード件数が少なくてkey1でユニークになるので、
「メモリ上に常駐させてソートして二分探索して」
って指示出来たら非常に嬉しいんだけど。
0858857
2008/08/18(月) 23:02:49ID:???今の職場では私は非常に下っ端で、PL/SQL禁止令とか出てるもんでして…。
0859NAME IS NULL
2008/08/19(火) 01:17:13ID:???0860NAME IS NULL
2008/08/19(火) 03:23:26ID:???0861NAME IS NULL
2008/08/19(火) 06:57:37ID:???0862NAME IS NULL
2008/08/19(火) 13:08:55ID:???低級DBAが上級プログラマに意見するのはイクないな
でも最近じゃ上級プログラマなんていないか・・・
0863NAME IS NULL
2008/08/19(火) 14:28:41ID:???糞なヒントで縛ってあったっていうのは経験があるな。
最初は >>856 のようなアプローチ
次にDBAに索引やデータ構造の相談をして
最後の手段でヒントという手順を踏んでくれたら問題ないと思うよ。
0864NAME IS NULL
2008/08/19(火) 21:51:47ID:???索引の変更には、関連する全PGの再レビューか検証が必要だろ。
0865NAME IS NULL
2008/08/19(火) 22:10:51ID:???「DB管理者が」困る理由ってのがよくわからん。
0866NAME IS NULL
2008/08/20(水) 00:06:51ID:???DBAは単なるオペレータのこともあるし上級SEやSAに準じるポジションのこともある。
索引などはサーバーのリソースにかかわってくるから
特にカットオーバー後は運用側の専権事項のことも多い。
システムの主導権を開発メンテ部隊がもってるところと、
運用部隊がもってるところで変わってくるだろ。
0867NAME IS NULL
2008/08/20(水) 20:18:07ID:???ヒントもSQLそのものも、責任の所在でいえば違いはない。
まぁ、糞SQLと同程度には糞ヒントは困りものといえるかも知れんが。
0868NAME IS NULL
2008/08/21(木) 00:01:43ID:???黒本に「監査条件が無効の場合、監査対象のオブジェクトにアクセスすると
エラーが発生する」と書いてあります。
これは、無効な audit_condition を指定した場合、
対象オブジェクトにユーザが監査対象カラム(audit_column)にDMLを
実行した際に、そのDMLがエラーになるという意味なんでしょうか。
0869NAME IS NULL
2008/08/22(金) 19:55:36ID:???システム要件を探しているのですが、見つけることができません。
申し訳ありません、ご存じの方、教えて頂けないでしょうか?
どうして、トップ頁にデカデカとリンクしないのでしょうか?
ほんとに・・・
0870NAME IS NULL
2008/08/22(金) 20:26:58ID:359qtKYDすぐ探せるだろが。
http://www.oracle.com/technology/support/metalink/index.html
保証はされてない。計画中だそうな。
Operating System: Microsoft Windows 2008 (AMD64/EM64T) Version 2008
Oracle Database - Enterprise Edition Version 10gR2 64-bit
N/A Version N/A
Status: Projected
Product Version Note:
None available for this product.
Certification Note:
Projected for CY2008
0871NAME IS NULL
2008/08/23(土) 11:41:06ID:???大量の技術資料も以前のURLに残ってるけどサイトからは到達不可能になったし・・・
0872NAME IS NULL
2008/08/23(土) 13:35:25ID:???素直にwindows 64bit版を使うべきでしょうか
0873NAME IS NULL
2008/08/23(土) 14:20:26ID:???自分は OTN-J の会員なんですが、本家にはログオンできずダウンロードできません。
どうしようもないんでしょうか。
(できれば単体版が欲しい)
0874NAME IS NULL
2008/08/23(土) 14:52:30ID:???この機会に向こうにアカウント作ればいい
0875NAME IS NULL
2008/08/23(土) 16:45:07ID:???0876NAME IS NULL
2008/08/23(土) 19:51:05ID:???だからー
アカウント作れと >>874 が言ってるだろうが。
お前はアホか。
0877NAME IS NULL
2008/08/24(日) 18:04:12ID:???0878NAME IS NULL
2008/08/24(日) 23:31:26ID:???_l≡_、_ |_ (
(≡,_ノ` ) )
<__ヽyゝヽy━┛
/_l:__|
´ lL lL
0879edge
2008/08/25(月) 12:24:48ID:???どこで買い取りをして頂けるでしょうか?
0880NAME IS NULL
2008/08/25(月) 12:45:54ID:???0881NAME IS NULL
2008/08/25(月) 21:17:54ID:???余ったチケット買うよ〜、買うよ〜。
0882NAME IS NULL
2008/08/26(火) 00:03:03ID:6R2m9/Oc0883NAME IS NULL
2008/08/26(火) 08:16:20ID:???0884NAME IS NULL
2008/08/26(火) 08:31:52ID:???難易度云々よりコストが掛かりすぎるのが問題。
0885NAME IS NULL
2008/08/26(火) 14:21:17ID:???0886NAME IS NULL
2008/08/26(火) 15:07:01ID:???ODP.NET を使った ASP.NET アプリが IIS x64 上で動かねぇ
0887NAME IS NULL
2008/08/26(火) 17:59:01ID:???サポートに訊け
0888NAME IS NULL
2008/08/26(火) 21:14:17ID:???宣伝効果もろもろを含めたら安いもんだと思いますよ
そんなことより勉強にかけた時間はプライスレス
0889NAME IS NULL
2008/08/26(火) 21:40:53ID:???使えないプラチナの代打依頼は良くある話
手下がいて口だけ出して手は出さないような場合や
組織的なバックアップ体制があるなら相乗効果があるけど
フリーや派遣、中小が持つと痛め目見る確率の方が高いね
0890NAME IS NULL
2008/08/27(水) 08:25:53ID:???既に衰退開始してるよな
新規案件は全て SQL Server で提案してる。
客がどうしても Oracle を希望すれば従いはするけどね
0891NAME IS NULL
2008/08/27(水) 10:28:00ID:???パッチの無償提供があっても保守契約してないところに誰も適用しにいかないだろ
下手にエンドユーザーにやらせても動かなくなるとかあるから面倒が増えるだけ
それにサポート契約はSIerにとって良いスケープゴートになるって事でもある
ま、あんたの場合新しい機能に手を出したら時限付き地雷を踏んでいて大目玉くらった口だろう
0892NAME IS NULL
2008/08/27(水) 11:00:41ID:???ORA-600でたらしく、
「サポート入ってないんだけど何とかならないの?」
と泣きつかれたことはあるなぁ。
「無理!」って回答したけどwww
0893NAME IS NULL
2008/08/27(水) 21:23:46ID:???>>855
それが担当の人が失踪してるんでわからないんです。自分もオラクルなんて触ったこと事ないし。
平日はバックアップ取ってるとは聞いてるんですがどういった方式かはわからないです。
原因があるとしたらバックアップなんでしょうかね?
0894NAME IS NULL
2008/08/27(水) 22:54:14ID:ZF/Q06Pyどうすればいいでしょうか?
開発で、自分のスキーマが与えられていて、これをクリアしたいです。
普段は DBA の人にやってもらうのですが、夏休みでお休みです。
system のユーザ名、パスワードがわかっていれば drop user hoge cascade; とやればよいですが、
自分の権限しかありません。
(
SELECT OBJECT_NAME, OBJECT_TYPE, 'drop '||OBJECT_TYPE||' '||OBJECT_NAME||' ' ||'cascade constraints;'
FROM USER_OBJECTS
WHERE OBJECT_TYPE not in('PROCEDURE','PACKAGE','SEQUENCE','INDEX','PACKAGE BODY')
)
union all
(
SELECT OBJECT_NAME, OBJECT_TYPE, 'drop '||OBJECT_TYPE||' '||OBJECT_NAME||';'
FROM USER_OBJECTS
WHERE OBJECT_TYPE in('PROCEDURE','PACKAGE','SEQUENCE','INDEX') and OBJECT_TYPE!='PACKAGE BODY'
)
自分の権限でこのような SQL を実行すると drop *** が出力されるので、
これを sql*plus にコピペして消したのですが、以下のようなオブジェクトだけ、
drop INDEX PARTITION BIN$VWkukiiqlgzgQLAKFEsF8w==$0 cascade constraints;
drop TABLE PARTITION BIN$VWkukiirlgzgQLAKFEsF8w==$0 cascade constraints;
実行すると、ORA-00933: SQLコマンドが正しく終了されていません。と表示されて削除できません。
INDEX PARTITION と TABLE PARTITION を消せれば、
select * from user_objects; したときにすべてからの状態にできるのですが、どうしたらいいでしょうか?
0895NAME IS NULL
2008/08/27(水) 22:55:11ID:???Oracle 10g R2 です。
よろしくお願いします。
0896NAME IS NULL
2008/08/27(水) 22:59:22ID:???ここでのやりとりに時間が掛かっているうちにDBAの夏休み明けってオチだろうし
で、休み明けDBAに「勝手にそんなことすな!」って怒られたりして… orz
0897NAME IS NULL
2008/08/27(水) 23:03:59ID:???そのオブジェクトはdrop済みのオブジェクトだから
purge user_recyclebinすれば終わり
0898894
2008/08/27(水) 23:15:11ID:???purge user_recyclebin;
を実行したあと、select * from user_objects; をやったら空になりました!
どうもありがとうございました。
INDEX PARTITION、TABLE PARTITION は初めて見たのですが、これは
PostgreSQL や MySQL にある、ひとつの大きなテーブルを分割させる機能だったんですね。
削除の正しい方法については↓を見つけました。
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19224-02/partiti.htm#466621
>>896
確かにおっしゃるとおりなのですが、何かあったら怖いので、ユーザ権限で行いました。
というか開発が緊迫しているのに DBA は休んでしまうので、休みの前日に一応確認は取りました。
(自分も火が吹いているプロジェクトにヘルプで放り込まれてまだ1週間なのですが、大急ぎで直さないといけないので・・・)
0899NAME IS NULL
2008/08/28(木) 00:25:07ID:???0900NAME IS NULL
2008/08/28(木) 21:17:27ID:???緊縛されていたら開発できないじゃん
0901NAME IS NULL
2008/08/29(金) 10:38:54ID:???0902NAME IS NULL
2008/08/29(金) 11:43:35ID:???全く同じ構成の別インスタンスを作成するのに
exp、impではなく、テーブルスペースの
コピー(バックアップから戻すイメージ)
操作で行う方法をご教示下さい。
SQLServerだと、バックアップから別の
データベースに復元するという
ことで可能ですが、同じことがしたいです。
ちなみにデータベースコンフィグレーションで
複製元と同一構成でインスタンスを作成し、
コピー元のテーブルスペースファイル・ログファイル等を
複製先のファイル群に上書きしたところ、
起動自体は出来ましたが、ログインが不可能でした。
エラー12528が出て、「該当するインスタンスは全て
接続をブロックしています。」
というエラーがでます。
環境はWin+10gです
0903NAME IS NULL
2008/08/29(金) 12:55:36ID:???「トランスポータブル表領域」でググれ
0904NAME IS NULL
2008/08/29(金) 13:24:32ID:???どうもありがとうございます。
調べてみます。
0905NAME IS NULL
2008/08/29(金) 19:18:38ID:???SIDサービスを作って起動させるだけ。
0906NAME IS NULL
2008/08/29(金) 23:35:08ID:???RMANを使ったduplication。
1. RMANを使って現存DBのバックアップを作成。
2. oradim使ってコピー先のインスタンス(サービス)を作成
3. 現存DBのinit.oraなどを元に、コピー先のinit.oraを作成(当然SIDは違う)
4. orapwd使ってコピー先インスタンス用にパスワードファイルを作成
c:\> orapwd file=%ORACLE_HOME%\dbs\orapw<コピー先SID名> password=xxxx entries=10
5. コピー先インスタンスをnomountモードにて起動
6. rmanを起動して現存DBとコピー先インスタンス(Auxiliary)の両方に接続
(ちゃんとtnsnames.oraに両方の接続先書いておけよ)
c:\> rman
rman> connect target sys/xxxxx@hoge
rman> connect catalog xxx/xxx@boge (もしcatalog DBを使っていれば)
rman> connect auxiliary /
7. リストア先のパスをset new nameにて指定しなおして、duplicationコマンドを
発行。
rman> run {
allocate channel ch1 type disk;
allocate auxiliary channel ch2 type disk;
set newname for datafile 1 to 'd:\hoge\boge\system01.dbf';
set newname for datafile 2 to 'd:\hoge\boge\sysaux01.dbf';
set newname for datafile 3 to 'd:\hoge\boge\undo01.dbf';
set newname for datafile 4 to 'd:\hoge\boge\users01.dbf';
duplicate target database to コピー先SID名
group 1 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 2 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 3 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
}
datafile番号は現存DBのselect file#,name from v$datafile;に対応しているから
適当に変える様に。
0907NAME IS NULL
2008/08/29(金) 23:38:50ID:???redologの再作成の所で間違えていた(・A・)
正しくは
group 1 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 2 ('d:\hoge\boge\redolog02.dbf') size 300m reuse,
group 3 ('d:\hoge\boge\redolog031.dbf') size 300m reuse,
それとrman使うとtempはコピーされないから、コピー先のDBが
上がったらcreate temporary tablespace文打って、一時表領域を
追加しておくように。
0908NAME IS NULL
2008/08/29(金) 23:45:47ID:???それだとコントロールファイルに登録されているDBとサービス名が
違うからDBは上がらない。
controlファイルの再作成してDB名を変更する必要がある。
CREATE CONTROLFILE set DATABASE "コピー先DB名" RESETLOGS....
0909NAME IS NULL
2008/08/30(土) 00:25:42ID:???0910NAME IS NULL
2008/08/30(土) 00:35:14ID:???日本語、読めますか?
>>902
>同じマシンに現存するインスタンスと
>全く同じ構成の別インスタンスを作成するのに
0911NAME IS NULL
2008/08/30(土) 02:32:47ID:???なんかまた間違えて、最後にセミコロン入れるの忘れているし・・・orz
group 1 ('d:\hoge\boge\redolog01.dbf') size 300m reuse,
group 2 ('d:\hoge\boge\redolog02.dbf') size 300m reuse,
group 3 ('d:\hoge\boge\redolog03.dbf') size 300m reuse;
逝ってくるわ・・・。
0912NAME IS NULL
2008/08/30(土) 05:51:34ID:???Raw Device上のRAC => ファイルシステム上のSingle Instance
Raw DeviceやASM上のRAC => クラスターファイルシステム上のRAC
と言った様に自在にクローニングが出来る。
後はset until time句とかと組み合わせれば、過去の特定の時点
までDBのリカバリとか出来るから、ちょっとしたフラッシュバック
DB代わりになったりする。
0913NAME IS NULL
2008/08/31(日) 03:10:25ID:m1/SMdi2http://edin.no-ip.com/content/100-cpu-usage-overhead-running-em-dbconsole-11g-debian-sid
0914NAME IS NULL
2008/08/31(日) 03:28:03ID:m1/SMdi2こっちの方がいいか。
http://forums.oracle.com/forums/thread.jspa?messageID=2614209
0915NAME IS NULL
2008/09/01(月) 23:25:44ID:???ociw32.dll がらみのエラーがでて接続できません。
instant client のディレクトリにパスは通しているだけじゃ、
無理なんでしょうか。
0916NAME IS NULL
2008/09/03(水) 20:57:21ID:boZafWCioemにつなげたいんだけど、何でだろう。つながらない
oracle 11g enterprise edition
osはxp pro sp3
url http://127.0.0.1:1158/em
なんか、「「」」見たいな変な文字が表示される。
virtual pc で環境構築、接続してるんだけど、昨日は確か繋げることできた。
何でだろう。サービスは起動してるよ。
0917NAME IS NULL
2008/09/03(水) 21:00:09ID:boZafWCioemにつなげたいんだけど、何でだろう。つながらない
oracle 11g enterprise edition
osはxp pro sp3
url http://127.0.0.1:1158/em
なんか、「「」」見たいな変な文字が表示される。
virtual pc で環境構築、接続してるんだけど、昨日は確か繋げることできた。
何でだろう。サービスは起動してるよ。
0918NAME IS NULL
2008/09/03(水) 21:00:18ID:boZafWCioemにつなげたいんだけど、何でだろう。つながらない
oracle 11g enterprise edition
osはxp pro sp3
url http://127.0.0.1:1158/em
なんか、「「」」見たいな変な文字が表示される。
virtual pc で環境構築、接続してるんだけど、昨日は確か繋げることできた。
何でだろう。サービスは起動してるよ。
0919NAME IS NULL
2008/09/03(水) 21:18:22ID:EOhEi18I0920NAME IS NULL
2008/09/03(水) 21:27:21ID:boZafWCiお前wwwwwwwwww
好きだwwwwwwwww
そこか!!!!
ちょっと自己紹介してくれよ><
0921NAME IS NULL
2008/09/03(水) 21:28:18ID:boZafWCi本当にありがとう><
0922NAME IS NULL
2008/09/04(木) 14:04:03ID:???返事が遅れてすみませんでした。
>>903-904
ご回答ありがとうございました。
調べておお!と思い、
実際にトランスポータブル表領域で
別のインスタンスにコピーして追加しました。
テーブルはコピーOKでしたが、
それ以外のオブジェクト(ストアド・ファンクション等)
がコピーされていませんでした。
表領域をOSからコピーして、
コピー先のインスタンスでユーザ作成して
exp、impでメタデータをコピーしました。
よく見ると、expで出力したメタデータが
テーブルしかはき出されていませんでした。
exp、impは
exp 'sys/パスワード@コピー元sid as SYSDBA'
transport_tablespace=y
file=データファイル.dmp
tablespaces=(コピーの表領域1,コピーの表領域2)
imp 'sys/パスワード@コピー先sid as SYSDBA'
transport_tablespace=y
file=データファイル.dmp
datafiles=(表領域ファイル1,表領域ファイル2)
です。
ストアド・ファンクションはexpのユーザ指定でないと
出力されないのでしょうか?
rmanの方法も今悪戦苦闘中です。
0923NAME IS NULL
2008/09/04(木) 14:21:42ID:???トランスポータブル表領域の制限事項として、
「SYSTEM表領域またはユーザーSYSが所有するオブジェクトはトランスポートできません。
これに該当するオブジェクトは、PL/SQL、Javaクラス、コールアウト、ビュー、シノニム、
ユーザー、権限、ディメンション、ディレクトリ、順序などです。」
とあるが、心当たりはないか?
0924NAME IS NULL
2008/09/04(木) 14:46:42ID:???即レスありがとうございます。
>これに該当するオブジェクトは、PL/SQL
これですね
調べてみると
ストアドやファンクションって
system表領域に作成されるんですね。
ということは、もう一度expでrows=nにして
ユーザ単位でimpしなければ
いけませんね。
0925NAME IS NULL
2008/09/04(木) 19:39:22ID:???だって、やりたかったのは表領域単位の移行であって、
SYSTEM表領域に格納されたスキーマオブジェクトを含めての移行じゃなかっただろ?
0926NAME IS NULL
2008/09/04(木) 22:21:49ID:???であれば、
>>905+908でいいわけだ。
0927NAME IS NULL
2008/09/04(木) 22:48:09ID:???DBを止めていいんだったら、905+908が楽。
全てをオンラインで出来るのがRMANの強み。
気をつける点としては、RMANのバックアップ先を
ディスク上にしておいて、クローニング先からもそれを
見れる様にしておかないとならない事かな。
後はset until time句を使う場合には、そのuntil句で
指定した時間よりも後になるソースDBのアーカイブ
ログもRMANによってバックアップされていなければ
ならない。
例えばset until time "to_date('Sep 04 2008 20:10:00','Mon DD YYYY HH24:MI:SS')";
と指定していた場合には、RMANのバックアップピースに
Sep 04 2008 20:10:00以降のソースDBのアーカイブログが
無ければならない。
0928NAME IS NULL
2008/09/05(金) 08:17:37ID:???0929NAME IS NULL
2008/09/05(金) 10:41:05ID:???exp/impはsysのオブジェクトが転送されねぇべ。
0930NAME IS NULL
2008/09/05(金) 20:25:00ID:???やったこと無いけど exp_full_databaseとimp_full_databaseロールを持ってれば
いけるんじゃないか?
0931NAME IS NULL
2008/09/05(金) 22:34:22ID:???だから、exp/imp及びdatapumpではsys関連のオブジェクト・権限は
移行されない仕様になってんだってば。
マニュアル嫁。
0932930
2008/09/06(土) 04:07:28ID:???そんな事マニュアルのどこら辺に書いてある?
expdpじゃなくてオリジナルのexp/impでヨロ
USER単位でしか使わないから、俺の知ってるだけの範囲なら
> 全体エクスポートでは、スキーマSYS が所有する**トリガー**はエクスポートされません
> **システム・オブジェクト**を全データベース・エクスポート・ファイルからインポートする場
合は、IMP_FULL_DATABASE ロールを使用可能にする必要があります。エクスポート・
ファイルが全体エクスポートの場合にパラメータFULL を指定すると、次のシステム・オブ
ジェクトがインポート対象に含まれます。
・・・・・
> 他のユーザーに付与されている権限をインポートするには、インポートを開始したユーザー
がそのオブジェクトの所有者であるか、With Grant Option 付きのオブジェクト権限を所
有している必要があります。
あたりなんだが、本当にシステムオブジェクトをインポートできないのか?
0933NAME IS NULL
2008/09/06(土) 16:07:28ID:SPQMBvJG使いどころがわかりません
0934NAME IS NULL
2008/09/06(土) 20:28:05ID:???別スキーマの表をスキーマ修飾せずに使用するときとか、
DBLINK先の表をDBLINKの修飾せずに使用するときとか。
0935NAME IS NULL
2008/09/06(土) 20:45:55ID:???ちゃんとググル先生に聞いたか?
> シノニムとは、ある スキーマオブジェクト、非スキーマオブジェクト へのエイリアス(別名)である。
> 主にセキュリティや別スキーマ(リモート含む)オブジェクトに対して透過的にアクセスするために使用される。
> プライベート・シノニム
> プライベート・シノニムとは、ある特定ユーザーだけに所有された別名である。
> シノニムを使用する基本的かつ有効で代表的な利用方法のひとつに、表のオーナ(管理者)とユーザー(閲覧者)を切り分ける、
> または、複数ユーザーでスキーマを共有するという使用方法がある。
0936NAME IS NULL
2008/09/07(日) 00:08:24ID:???接続しようと試みましたが、インストール終了後にSQL*PLUSとSQL WorkSheetと
Enterprise Managerを立ち上げようとすると強制終了してしまいます。
ランタイムでインストール→カスタムでOracle Windows Interfacesを追加でインストール
しNet Configration Assistantで接続テストを行った時は正常に接続できてますが、
上記の3つが落ちてしまう原因は何なのでしょうか?
0937NAME IS NULL
2008/09/07(日) 06:08:11ID:???0938NAME IS NULL
2008/09/07(日) 10:28:06ID:???接続テストを行った時は正常に接続
0939NAME IS NULL
2008/09/07(日) 16:23:02ID:???0940NAME IS NULL
2008/09/09(火) 22:13:53ID:???データベースのアクセスって出来るんでしょうか?エラーが出たりするんでしょうか?
データベースに繋げている開発環境のシステム自体は24H動いたままにしているので
バックアップモードの設定はどうしようかと悩んでいます。
通常バックアップ時はシステムのサービスも止めてオフラインバックアップに設定して運営しておくべきなんでしょうか?
0941NAME IS NULL
2008/09/09(火) 22:55:07ID:???オンラインバックアップが意味している様に、当然DBにはアクセス
出来るぞ。
データベースファイルをオンラインバックアップモードにした時点で
それ以降のブロックの変更に「バックアップ中」というフラグが立つ
から、通常よりもRedoの量が増える。
まあ、あとバックアップが走っていれば、I/Oは影響受けるが、それ
以外は普通と同じ様に使える。
0942NAME IS NULL
2008/09/11(木) 00:50:18ID:???即レス感謝。参考になりました
0943NAME IS NULL
2008/09/11(木) 05:29:59ID:h9BT3j3I製品版は今までの白いCLIなの?
まぁ、どっちも使いづらいけどさ。
それと11g評価版で作成したテーブルに「add column not null default 0」でカラム追加して
そのテーブルをエクスポートしたんだけど、インポート時に「not null制約違反でデータ移行失敗」
これって既知バグ?
製品版ではないよね?こんなん恐ろしくて顧客に提案できねぇよ・・・
0944NAME IS NULL
2008/09/11(木) 22:16:00ID:???まぁ使いづらいならSQL Developerを…
って結局 SQL*Plus に帰ってくるかもw
0945NAME IS NULL
2008/09/11(木) 22:33:22ID:???エクスポートってexp(オリジナルのエクスポート)の事か?
0946NAME IS NULL
2008/09/11(木) 22:38:54ID:???もしかして、「白いCLI」っていうのは、昔Windows版にのみ付属していた
GUI版のSQL*Plusのことだろうか?
それなら10gから廃止されたと思うんだけど。
0947NAME IS NULL
2008/09/11(木) 23:01:23ID:???0948NAME IS NULL
2008/09/11(木) 23:46:37ID:???それは完全無欠のGUI
0949NAME IS NULL
2008/09/12(金) 01:11:31ID:???それって11g以前ではおきないのか?
あとづけの列に0が入ってるんか?
0950NAME IS NULL
2008/09/12(金) 01:27:44ID:???11gって、そこに新しい機能が追加されたんで
昔のオリジナルのexp/impだと怪しそうな雰囲気
0951NAME IS NULL
2008/09/13(土) 09:48:19ID:???0952NAME IS NULL
2008/09/14(日) 14:50:46ID:???作業中にログバックアップのサービスを落としたままにして
容量一杯になってしまいDBに接続できないという
情けない事態になってしまいました。
これってOracle落としてフォルダの中を掃除するだけじゃだめなんでしょうか?
0953NAME IS NULL
2008/09/14(日) 17:32:31ID:???それともUSER_DUMP_DESTとかの、プロセスが吐くトレースファイルの領域?
どちらにせよ、ディレクトリに空きができればOracleはまた動き出すとおもうけど。
0954NAME IS NULL
2008/09/14(日) 18:07:04ID:???エラー詳細が分からんけど、
取り合えず、>>953がいうように、
アーカイブログ用のディスクに空き作ればいいんじゃね?
直近のログをいくつか残した上で、
古いログから削除すればいいと思われ。
で、正常起動したら、いったんコールドバックアップ取得しておけば、
今までのアーカイブログは不要になるから。
0955NAME IS NULL
2008/09/14(日) 23:33:51ID:???コメントありがとうございます。
トレースファイルの領域だったと思います。
メーカーの人間がリスナーを止めてもoracleがファイルがどこに
何のファイルが有るか管理してるからリスナーを止めてファイル
を消しても駄目なんですよ、確かーとか言っていたので...
(DB周りの設計はoracle技術者がしていてその人は詳しくないようでしたが)
当方Oracle7位の頃の知識しかないのでそんなものかとその場
は思ったんですが、ここで聞いてみれば真偽がはっきりするかと
思ったもので。
0956NAME IS NULL
2008/09/14(日) 23:57:18ID:???ttp://www.shift-the-oracle.com/oerrs/ora-00257.html
0957oracleどころかunix素人
2008/09/21(日) 23:37:25ID:???emctl.plの中で
ps -p $PID -o cmd --cols 1000 |grep DEMDROOT
というコマンドを使用していてemctl start dbconsoleをすると
psの使い方がおかしいと怒られます。
これを
ps -p $PID -o args | grep DEMDROOT
で書き換えたのですがこれで同じ動きをしてくれますか?
そもそも最初のpsコマンドが通るpsはどこのpsなんでしょう。
もしスレ違いでしたら誘導おながいします。
0958NAME IS NULL
2008/09/22(月) 00:16:30ID:???そのpsは、環境変数いじってなければ、/usr/bin/psだろう。
10にはgnuツールがはじめから入っているから、そっちを使う方が確実だろうな。
/usr/sfw/bin/ps -p $PID -o cmd --cols 1000 |grep DEMDROOT
以上、適当。
0959943
2008/09/22(月) 23:37:36ID:???なので長文レスになります。
>>946
え〜?あの使いづらくも愛らしいsql/plusはなくなったの???
あれはGUIっていうのか?コマンドラインを入力するための画面だから
GUIというべきかCLIというべきか迷ったらDOSのことGUIとか書いちゃって不統一になっちゃったのw
まぁなくなっても困らないけどねw
一番使いやすかったのは8についていたsql/worksheetだったなぁ・・・
9iになったらとたんに劣化しちゃったねw
>>945
エキスポートは昔ながらのオリジナルのexpのこと(8まではexp80とかだったけど)
テーブル作成後にファイルレイアウト変更でカラム追加するときに、
ついでに、そのカラムにデフォルト値を設定してやることができるんだけど、
それが「add column not null default expr」オプション(確かこんなんだった)
これって10gにはついていた機能だけど、
つまり、追加したカラムに値は入っているはずなのに、expすると中身が空で出力される模様(11g評価版でのこと)。
>>949
10以前では不明っす。
つまりはexpdpしなさいってことかしらね?
新しいコマンドのスイッチ覚えるのめんどくさいなぁ・・・
0960NAME IS NULL
2008/09/23(火) 00:43:48ID:WKl6pFyhハードディスク一杯まで表領域を拡張することが可能ってことなんでしょうか?
ログなども出力してるから、仮にそうだとしても空き容量全部が使えるとは思ってないのですが。
0961NAME IS NULL
2008/09/23(火) 02:21:52ID:???1つの表領域は1022個のデータファイルを持てるので、8KBブロックなら32GB*1K=32TBだね。
0962NAME IS NULL
2008/09/23(火) 06:34:29ID:???CREATE {SMALLFILE|BIGFILE} TABLESPACE ...
(デフォルトはデータベース作成時に設定される)
BIGFILE表領域の欠点は「データファイルを一つ」しか持てない事。
Diskが一杯になったら終わり。
0963あ
2008/09/23(火) 10:49:40ID:3Nf8blkzスレ違いであればすみません
0964NAME IS NULL
2008/09/23(火) 14:56:05ID:???日本語でOK
0965NAME IS NULL
2008/09/23(火) 22:19:51ID:???ありがとう!拡張しようと思えば凄い量になるんですね。
参考になりました
0966NAME IS NULL
2008/09/27(土) 22:09:25ID:iV73fY6A2分くらいかかるマテビューの完全リフレッシュを、RMDB_MVIEW.REFRESH()でやってるのですが、
関数を抜けてくる時間とEnterprise Managerの最終リフレッシュ時間がずれます。
EMの最終リフレッシュ時間が、REFRESH関数を抜けた30秒後くらいになります。
REFRESH関数を抜けた=リフレッシュ完了とならないのでしょうか?
0967NAME IS NULL
2008/09/27(土) 23:28:11ID:???というか、普通、いつ時点のデータか(つまり始まった時間)を表示してくれる方が、都合いいと思うけど?
0968NAME IS NULL
2008/09/30(火) 01:51:44ID:7RG/MF7oそんなに大きいデータは入れてないと思ったんだけど
毎日2・3MB増えてるとのことで、どこのテーブルにそんなにデータが入れられてるのかなーと
0969NAME IS NULL
2008/09/30(火) 03:37:13ID:???「使用サイズ」ってのが微妙な表現だが、とりあえず USER_EXTENTS かな。
0970NAME IS NULL
2008/09/30(火) 21:55:13ID:???こんなんでイケるんじゃね?
select
segment_name,sum(bytes),segment_type,tablespace_name
from dba_segments
group by segment_name, segment_type,tablespace_name
having segment_type='TABLE' and tablespace_name='&Tablespace_Name'
0971NAME IS NULL
2008/10/01(水) 01:05:24ID:???その having の中身は where に書くべき。
0972NAME IS NULL
2008/10/02(木) 08:19:48ID:???APEXにWebブラウザからログインする段階で詰まってます。
次は何の設定が必要でしょうか?
0973NAME IS NULL
2008/10/02(木) 21:14:35ID:???えらいまた抽象的な質問だな。
DADの設定やhttpd.confの設定とかちゃんとやったのか?
0974NAME IS NULL
2008/10/02(木) 21:57:32ID:???Oracle Management Server ローカルデータベース
OEMREP を削除したいのですができません。
Enterprise Manager Configuration Assistantから
リポジトリの削除をしても OEMREP は残っています。
Database Configuration Assistant には出てこないんですが
正常なんでしょうか?削除する方法はありますか?
0975NAME IS NULL
2008/10/02(木) 23:26:18ID:???プラットフォームは?
そもそもDBなんてマニュアルで削除すればいいじゃん。
0976974
2008/10/03(金) 00:32:24ID:???Windows2000 で Oracle10g も入っています。
マニュアルで削除というのはSql*Plus からの削除のことでしょうか?
sysdba で 接続して drop database OEMREP とやってみたら
失敗したんですがもうちょっと調べてみます。
0977NAME IS NULL
2008/10/03(金) 00:48:29ID:???OSの方でファイルを削除するってことだw
ただ、windows版はレジストリ使ってるから、その後にサービスを削除したりする必要があるが。
0978NAME IS NULL
2008/10/03(金) 03:37:18ID:???つーか、drop databaseコマンドは10gからだ。
マニュアルでファイル削除して、oradim使ってサービス消して、後はレジストリから
余計な情報消せばいいべ。
0979974
2008/10/03(金) 06:45:29ID:???もう oracle9i をアンインストールするしかないかと
悩んでましたがその手があったんですね。
ありがとうございました。
0980NAME IS NULL
2008/10/06(月) 01:22:49ID:odTAjKt2私の持ってる書籍はempテーブルで色々SQLを試していくものなんですが、ExpressEdition
にはempテーブルがないみたいです(´;ω;`)どこかにempテーブル落ちてないですか?できればインポートしたいんですが。
0981NAME IS NULL
2008/10/06(月) 04:44:49ID:???ほらよ( ・∀・)つhttp://www.oracle.com/technology/sample_code/tech/sql_plus/htdocs/demobld.html
レス数が950を超えています。1000を超えると書き込みができなくなります。