Oracle 総合 Session6

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

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

■前スレ
Oracle 総合
http://pc5.2ch.net/test/read.cgi/db/1056940159/
Oracle 総合 Session2
http://pc8.2ch.net/test/read.cgi/db/1091508494/
Oracle 総合 Session2 (実際はSession3)
http://pc8.2ch.net/test/read.cgi/db/1111185428/
Oracle 総合 Session4
http://pc8.2ch.net/test/read.cgi/db/1132407420/
Oracle 総合 Session5
http://pc8.2ch.net/test/read.cgi/db/1147922010/
2NAME IS NULL:2006/10/30(月) 22:48:14 ID:???
■トライアル版のダウンロード
ttp://otn.oracle.co.jp/software/index.html

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

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

■関連スレっぽい
Oracleの30日間トライアル版について
http://pc8.2ch.net/test/read.cgi/db/1137897918/l50

Oracle>>>>>>SQLServer
http://pc8.2ch.net/test/read.cgi/db/1057151330/l50

Oracle 儲かって儲かって、うはうは
http://pc8.2ch.net/test/read.cgi/db/1057074520/l50

oracleの信憑性について
http://pc8.2ch.net/test/read.cgi/db/1057104131/l50

ORACLEの一風変わった使い方の事例
http://pc8.2ch.net/test/read.cgi/db/1088123938/l50

Oracleがベンチマーク結果を隠したがる理由
http://pc8.2ch.net/test/read.cgi/db/1057759566/l50

【レア技術者】 ORACLE DEVELOPER R6i 【狂え!】
http://pc8.2ch.net/test/read.cgi/db/1077801021/l50

今時Oracleを使ってない企業は貧乏人(w  
http://pc8.2ch.net/test/read.cgi/db/1062386250/l50

【Oracle】 オラクルマスター 【Master】
http://pc5.2ch.net/test/read.cgi/db/1059136831/
3NAME IS NULL:2006/10/30(月) 22:49:39 ID:???
質問テンプレっぽいもの

■どの様な問題が起きて、どんな結果を得たいのか?
■フロントエンド、バックエンドどちらの問題か?
■フロントエンドのプラットフォームは何か?
■バックエンドのプラットフォームは何か?
■フロントエンドはどの様なドライバ/ソフトウェアを使用してアクセスしているか?
■Oracleのバージョンは?(バージョンと一言で言っても、フロントエンドなのかバックエンドなのか色々ある)
4NAME IS NULL:2006/10/31(火) 00:01:21 ID:???
>>1

乙。

毎回の事だけど補足ね。

OTNからダウソ出来るソフトは、使用期限がついているものの、これは紳士協定に
なっていて、機能的に使えなくなるというものではない。
5NAME IS NULL:2006/10/31(火) 06:22:54 ID:???
データファイルや制御ファイル、ログファイルって、
どれかひとつでRAWデバイスにすると、全てのファイルをRAWデバイスにしないといかんの?
6NAME IS NULL:2006/10/31(火) 12:39:10 ID:???
>>5

別に全部を統一する必要は無い。
7NAME IS NULL:2006/10/31(火) 13:41:23 ID:???
おけ、さんくす
8NAME IS NULL:2006/10/31(火) 23:22:45 ID:???
まあ、混合はあんまりやらんけどね。
9NAME IS NULL:2006/11/01(水) 00:03:59 ID:???
制御ファイルやspfileは普通のファイルの方がいいだろ。
10NAME IS NULL:2006/11/02(木) 09:29:01 ID:???
ASMって、未知の機能で、なんか面倒だったんだけど
実際に使ってみたら、簡単で便利だってことがわかった。
ついでにRMANも覚えることができたし。
自分のPCで動かしてるORACLEもASMにしてみようかな。
11NAME IS NULL:2006/11/02(木) 09:52:11 ID:???
WindowsとLinuxでは積極的に使うべきだね。
Unixでは、好みでいいと思うが。
12NAME IS NULL:2006/11/02(木) 11:31:31 ID:???
どういう理由でASMをインスタンスにしたのか?

米オラクルの開発エンジニアと納得のいくまで議論したいね。

英語? 英検4級だから大丈夫だと思うけど、だめ?
13NAME IS NULL:2006/11/03(金) 02:39:51 ID:???
ASMらくちんだけどなぁ、トラブルとマンドクセ
それよりOSX版10gR2マダー?チンチン
14NAME IS NULL:2006/11/03(金) 11:07:36 ID:???
ASMで管理した場合、データファイル(普通のOS管理)の出し入れって
簡単にできるのですか?それができないとなんか不安で。
15NAME IS NULL:2006/11/03(金) 12:12:31 ID:???
普通のO/Sコマンドは通らんよ。
RMAN使えばコンバージョンは出来るけどね。
16NAME IS NULL:2006/11/03(金) 12:24:36 ID:???
>>14

10g R2 の asmcmd を使えば管理はできるよ。
17NAME IS NULL:2006/11/03(金) 17:10:34 ID:4bUUtL+9
ExpressEditionでNLS_CHARACTERSET を変更するにはどうしたらいい
ですか?
色々やってみましたがわかりません。
18NAME IS NULL:2006/11/03(金) 17:20:27 ID:???
> 色々やってみましたがわかりません。

何をやったの?
19NAME IS NULL:2006/11/03(金) 18:17:11 ID:???
それより、Express Editionの制御ファイルってデータファイル(dbf)になってて
v$datafileにも含まれてる理由がわかんないよー。
20NAME IS NULL:2006/11/04(土) 01:01:25 ID:???
>>18
drop databaseしてcreate databaseしてみました。
そしたら、ORA-01092が発生してデータファイル等は作成されているんですが
ちゃんと最後まで処理が完了していないようです。

出来てる人っています???
21NAME IS NULL:2006/11/04(土) 08:17:50 ID:???
XEは単純に「最大仕様の制限」だけにしてほしかったな。
機能的な違いがあると勉強にならない。
22NAME IS NULL:2006/11/04(土) 08:21:40 ID:???
勉強用には、普通のバージョンを使う。

XEは機能的な制限があるけど、業務にもただで使えるバージョンだから。
23NAME IS NULL:2006/11/04(土) 14:04:21 ID:???
>>20
漏れのところ(WinXP SP2, CPU Pen3)では問題なくSJIS DBを作れたよ。
ただし漏れの場合はデフォのDB(XE)を消さずに新たに作成した。
手順はこんな感じ。

1. XEサービス停止、XEサービスの起動を手動にしてからマシン再起動。
2. admin/NEWDB/{adump,bdump,udump,cdump,pfile}フォルダ作成
3. oradata/NEWDBフォルダ作成
4. iniファイル作成 (とりあえずadmin/NEWDB/pfile/init.ora に置いた)
(以降、コマンドプロンプトで作業)
> SET ORACLE_SID=NEWDB
> cd C:\oraclexe\app\oracle\product\10.2.0\server\database
> orapwd file=PWDNEWDB.ORA password=change_on_install entries=5
> oradim -NEW -SID NEWDB
> sqlplus "/ as sysdba"
SQL> CREATE SPFILE FROM PFILE=pfile='C:\oraclexe\app\oracle\admin\NEWDB\pfile\init.ora'
SQL> STARTUP NOMOUNT
SQL> CREATE DATABASE NEWDB …
SQL> @?/rdbms/admin/catalog
SQL> @?/rdbms/admin/catproc
SQL> quit
> sqlplus "/ as sysdba"
SQL> STARTUP

ちなみに 1.だけど、expressEditionってサービスが複数立ち上がらないように
物理的に制限されてるようだね。
しかも不便なことにサービス停止だけじゃダメで、再起動しないともう片方を
使用することができない。
2420:2006/11/04(土) 17:47:40 ID:???
>>23
マジでありがとう。
やってみます。
2520:2006/11/04(土) 19:43:09 ID:???
ダメだった(TT
create database時にORA-01092が発生してしまう。
-----------------------------------------
CREATE DATABASE NEWDB
USER SYS IDENTIFIED BY sys
USER SYSTEM IDENTIFIED BY system
LOGFILE GROUP 1 ('c:\oraclexe\oradata\NEWDB\redo01.log') SIZE 100M,
GROUP 2 ('c:\oraclexe\oradata\NEWDB\redo02.log') SIZE 100M,
GROUP 3 ('c:\oraclexe\oradata\NEWDB\redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
character set JA16SJISTILDE
national character set AL16UTF16
DATAFILE 'c:\oraclexe\oradata\NEWDB\system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'c:\oraclexe\oradata\NEWDB\sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE tbs_1
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE 'c:\oraclexe\oradata\NEWDB\temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE 'c:\oraclexe\oradata\NEWDB\undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
-----------------------------------------
これどっかマズイ??

>23
止めるサービスってOracleServiceXEだけでよいんですよね??
26NAME IS NULL:2006/11/04(土) 22:22:05 ID:???
>>25
ごめん。具体的にどこが悪いのかはよくわからない。
(tbs_1のDATAFILE指定がないのは記述漏れだよね?)
とりあえず、漏れのほうはこれで作れてる。
-- iniファイル
*.compatible='10.2.0.1.0'
*.db_name='NEWDB'
*.audit_file_dest='C:\oraclexe\app\oracle\admin\NEWDB\adump'
*.background_dump_dest='C:\oraclexe\app\oracle\admin\NEWDB\bdump'
*.user_dump_dest='C:\oraclexe\app\oracle\admin\NEWDB\udump'
*.core_dump_dest='C:\oraclexe\app\oracle\admin\NEWDB\cdump'
*.DB_RECOVERY_FILE_DEST_SIZE=10G
*.DB_RECOVERY_FILE_DEST='C:\oraclexe\app\oracle\flash_recovery_area'
*.job_queue_processes=4
*.open_cursors=300
*.os_authent_prefix=''
*.pga_aggregate_target=40M
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=20
*.sga_target=140M
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS'
*.control_files='C:\oraclexe\oradata\NEWDB\control.dbf'
*.db_block_size=8192
-- create db 文
CREATE DATABASE NEWDB
LOGFILE GROUP 1 ('C:\ORACLEXE\ORADATA\NEWDB\REDO01.DBF') SIZE 20M,
GROUP 2 ('C:\ORACLEXE\ORADATA\NEWDB\REDO02.DBF') SIZE 20M,
GROUP 3 ('C:\ORACLEXE\ORADATA\NEWDB\REDO03.DBF') SIZE 20M
MAXLOGFILES 10
MAXLOGMEMBERS 2
MAXLOGHISTORY 0
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET JA16SJIS
NATIONAL CHARACTER SET AL16UTF16
DATAFILE 'C:\ORACLEXE\ORADATA\NEWDB\SYSTEM.DBF' SIZE 256M
EXTENT MANAGEMENT LOCAL
UNDO TABLESPACE "UNDOTBS"
DATAFILE 'C:\ORACLEXE\ORADATA\NEWDB\UNDO.DBF' SIZE 60M
DEFAULT TABLESPACE "USERS"
DATAFILE 'C:\ORACLEXE\ORADATA\NEWDB\USERS.DBF' SIZE 10M
SYSAUX DATAFILE 'C:\ORACLEXE\ORADATA\NEWDB\SYSAUX.DBF' SIZE 60M
DEFAULT TEMPORARY TABLESPACE "TEMP"
TEMPFILE 'C:\ORACLEXE\ORADATA\NEWDB\TEMP.DBF' SIZE 40M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 640K
/
あと、止めるサービスだけど、XEサービス止めないとNEWDBのサービスが
起動しないというだけだからORA-0192とは関係ない。
27NAME IS NULL:2006/11/09(木) 01:54:53 ID:V4gf/njK
8Gもメモリあればオラクルもサクサク動くかな?
ttp://www.hikakuserver.com/
28NAME IS NULL:2006/11/09(木) 03:11:32 ID:???
>>27

96GBぐらい積んでおけ。
29NAME IS NULL:2006/11/10(金) 19:24:44 ID:???
来年早々、会社でRACを導入する予定なんだけどさ、
本屋に行ってもRACに関する本って2冊しかないんだ。
しかも、どっちも内容がいまいち。(値段は高いけど)
OTNからマニュアル落とすしかねえか。
30NAME IS NULL:2006/11/10(金) 23:44:30 ID:???
( ´∀`)つ ttp://hp.oracle.co.jp/
3129:2006/11/11(土) 12:40:21 ID:???
>>30
ありがと!
32NAME IS NULL:2006/11/16(木) 05:36:16 ID:???
osxなんて変態環境で動かすくらいなら、XPでいいよ。
おまいら、RACは何のOSで組んでる?

HP-UXぐらいしか選択枝無い?
今更ソラリスって感じ?
33NAME IS NULL:2006/11/16(木) 05:45:04 ID:???
オイラの実経験としては、こんな感じ。

HP-UX => 9i RAC (最大4ノード)、10g RAC (最大2ノード)
Linux => 9i RAC (最大2ノード)、 10g RAC (最大2ノード)
AIX => 9i RAC (最大2ノード)
Windows 2000 => 9i RAC (最大6ノード)、10g RAC (最大2ノード)

太陽系は使ったことないや('A`)
34NAME IS NULL:2006/11/16(木) 06:45:55 ID:klQ0Bo0L
WindowsServer2003にOracle8.1.7クライアントを入れて使いたいのですが、実際に入れてみると
WindowsXPと認識しています。
もちろん、Oracle8.1.7のサポート対象にWindowsServer2003は入っていないということはわかっているのですが
実際の問題としてどのようなことが起きるかご存知の方、いらっしゃいますでしょうか。
35NAME IS NULL:2006/11/16(木) 08:16:46 ID:???
>>32
「いまさらSolaris」いうなら、「いまさらHP-UX」も同じことだ。

これからは、RAC使うんならx86系(Linux、Windows、Solaris)ってことになるんだろうな。
SEのコア数上限が少し大きいとか、ライセンス料が安いとか。
36NAME IS NULL:2006/11/16(木) 20:06:31 ID:???
ここで聞くのもどうかと思うのだが、元Oracleの木○さんて
現在、何をされているのでしょう!!
37NAME IS NULL:2006/11/17(金) 00:40:01 ID:???
AIXなら無条件にDB2って訳でもないのか。

富士通とか日電に組ませると、自動的にHP-UXになるって訳でもないのか。
x86が安いのは分かってるけど、苦労することを考えると高くてもx86は避けたいのが現場の本音。

ミラクルとオラクルで組んでオラクル専用機器と割り切って扱うのが良いのかな?
38NAME IS NULL:2006/11/17(金) 06:46:51 ID:???
自動的にHP-UXになるとは限らんと思うが。

多分、こちらから頼めばLinux(redhat等)にしてくれるとオモ。
友人が言うにはHPの鯖だとOSのインスコが楽らしいから、組む側からすると微妙ラシーク

ただ、そのOracle組んでる友人からすると「Oracleのどこがいいか解らん、
設定めんどいし。DB2でいいだろ、っていうかむしろAS400を買ってくれ」らしい。(w

まあ、漏れもOracleならソラリスだろ、って思うけどな…。
39NAME IS NULL:2006/11/17(金) 13:30:49 ID:???
どなたか、centos4.3にInstantClientをいれて、perlのDBI+DBD::Oracleを入れる方法
教えておくれ。
DBD::Oracleのperl Makefile.plでうまくいかないんですよね〜。
40NAME IS NULL:2006/11/17(金) 23:28:13 ID:???
>39
仮にも技術系板で
>うまくいかないんですよね〜
などと書いて答えが返ってくると思ってるのか?
いいからMakefile.plの実行結果晒せ。
41NAME IS NULL:2006/11/17(金) 23:28:34 ID:???
>39
仮にも技術系板で
>うまくいかないんですよね〜
などと書いて答えが返ってくると思ってるのか?
いいからMakefile.plの実行結果晒せ。
42NAME IS NULL:2006/11/17(金) 23:31:22 ID:???
二重カキコスマンカッタorz >39
4339:2006/11/18(土) 10:21:07 ID:???
でけた。

http://www.issociate.de/board/post/250435/Recipe_to_build_DBD::Oracle_against_Instant_Client???.html
ほぼここの記載通りにしたらOK。
instantclientは10.2.0.2を使用。
DBD::Oracleは例にあわせて1.16まで落とした。

Makefile.PLの改変も必要で、さらにはこのページには書いていないんだけど
perl Makefile.PL -m /usr/local/src/instantclient_10_2/demo/demo.mk -l
最後の「-l」が必要。(じゃないとMakeできなんだ。)

>>41 ありがとう。気にかけてくれるだけでも嬉しい。
44NAME IS NULL:2006/11/19(日) 17:21:09 ID:M2XHbJ0g
重いSQLが動いても、システム全体が遅くならない方法ってありますか?
45NAME IS NULL:2006/11/19(日) 20:05:25 ID:???
SQL鯖を停止させれば?
46NAME IS NULL:2006/11/19(日) 20:07:16 ID:5l7MVBKi
上と同じ質問ですが
Viewで10以上UNION ALLとSelectでFuctionをたっぷりつけてるアホsqlどうすればいいんでしょか?
Viewを小分けにしろ?それは結構工期がかかってできない...
47NAME IS NULL:2006/11/19(日) 20:59:39 ID:???
>>44

だーかーらー、RAC!!
48NAME IS NULL:2006/11/19(日) 21:32:28 ID:44SU/418
Oracleって時間のかかるクエリは実行させないって機能ないの?
DB2にはあるんですけど。

で、DB2使いから素朴な質問なのですが、
HP-UX+Oracle8.1.6でS-JISなDBがあるのですけど、
バイナリで0x20(' 'ASCIIコードで半角ブランク)なデータをCHAR(1)なカラムに送ると
そのカラムはnullになるんですか?

業務でOracleの人がCOBOLで生成したようなパック十進数とASCII文字が
混在の固定長バイナリ送ってきたんですけど、Oracleで上記のデータを
ロードするとnullになるらしく、DB2でロードすると' '(半角ブランク)になって
イヤーンな状態なのですが…。
49NAME IS NULL:2006/11/19(日) 21:48:17 ID:???
>>48

DB2なんか使うから悪い。己の不幸を呪うが良かろう。
50NAME IS NULL:2006/11/19(日) 22:03:07 ID:???
>>49
え、いや悪いもなにもこの場合はOracleの動作がおかしいのでは?
一瞬、「これなんてMS Access?」って挙動に思えるのですが。

insert into hoge(CHAR_1_COLUMN) VALUES(' ');

insert into hoge(CHAR_1_COLUMN) VALUES(null);
とが同じ結果になっていると言う状況なんですけど。
51NAME IS NULL:2006/11/19(日) 22:14:36 ID:???
>>50
Oracleのchar形についてはそういう動作をします。
空文字とnullの区別が無い。(こう書くと突っ込まれるけど)

DB2は嫌いだけど、この辺に関してはOracleが間違っていると思う。
52NAME IS NULL:2006/11/19(日) 22:31:06 ID:???
ちなみに、NUMBER型に対しても、''(長さ0の文字列)でNULLとして代入できる。

しかし、Oracleでも半角ブランクは半角ブランクで、決してNULLではない。
5348:2006/11/19(日) 22:40:41 ID:???
DB2は融通がきかないので嫌いな人も多いだろうとは思いますけど
にしてもOracleのCHARの挙動は違うと思いますが。

そもそもDB2はNUBMER(DECIMAL)型に対して''ってinsertしようなら
クエリが例外返すけど。

ちなみにCHARが半角ブランク(null?)のテーブルに
select count(*) from hoge whre CHAR_1_COLUMN = ' ';
って照会したら見事に0件でしたけど…。ナニコレ。
54NAME IS NULL:2006/11/19(日) 22:59:38 ID:???
Oracleは、''(長さ0の文字列)はNULLなんだって。
つまり型に関係なく(CHARだろうがNUMBERだろうが)代入できてしまう。
NULLで代入されているから、where hoge = '';で検索されない。
これはそういう仕様なのでしょうがない。あきらめるしかない。

で、それとは関係なく、
insert文が作られた時点ですでに半角ブランクが、''になってしまっている可能性が高いんだから、
ロードするプログラムをまず見直してみる必要もある。
っていっているわけだが。
5548:2006/11/19(日) 23:11:24 ID:???
>>54
説明ありがとうございます。

いや、不思議なのはお客の要望と言うかコード表には
'1':区分1
'2':区分2
' ':その他区分
null:null

と定義つけられていて、顧客から投入されるデータは半角ブランク
なので、そのとおりにデータをロードしたら、Oracleだけが結果が
違うので、ハァ?と思ったしだいです。

しかし普通nullってnull領域にフラグを持つかカラムを0x00でフィルするのが
一般的(?)だと認識していたので、Oracleの仕様には驚きです。

まあ、半角ブランクをコードに使用するテーブル設計も頭悪いとは
思うのですが、昔ながらの人は結構好きっぽいので悩みます。

VARCHARでそういう挙動は納得できない事もないですけど…。

ロードするプログラムはこっちで見直します。と言うかOracleに
CSV作らせます。(w
56NAME IS NULL:2006/11/19(日) 23:39:08 ID:???
>>55

'' と ' ' の区別がついてない?
5748:2006/11/19(日) 23:47:42 ID:???
>>56
いや、Oracleの仕様は理解しました。
ただOracleが現状間違った仕様(?)でも、もう実稼動に入っており、
今更Oracleのテーブルに対してどーこー言っても仕方ないので
DB2をOracleにあわせます。

今回は顧客から「OracleトロいからDB2で動かせない?」が発端の
案件なので、顧客がOracle慣れしているのでなるたけOracleに
合わせる事にします。
58NAME IS NULL:2006/11/19(日) 23:50:32 ID:???
たしかMS-Accessのフォームからブランク1つを入力しようとしても勝手に右側がTrimされて結果NULLになってしまう。
そういう話をしてるんじゃないの。プログラムから操作すればブランク1つは入力できる。
5948:2006/11/19(日) 23:59:22 ID:???
えと、顧客の環境はまず基幹システムのホストがあって、ホストに本来のデータが
あり、サブシステムとしてOracleとかDB2があり、そしてサブシステムである
Oracleに対して顧客がAccessで簡単なクエリを投げてデータを分析する
と言う流れです。

で、ホストの時点で半角ブランクが入っているはずなのに、Oracle(だけ)で消えている。
と言うのが今回の事象です。Accessからデータを投入する事はあまりありません。
まあ、Accessも半角ブランクと思ってnull送っているから、今のところ問題が
出てないのだと思います。たぶん。
#まあ、そこのOracleチームはよくデータセット間違えるのでそもそもが信用ならないですが(w
60NAME IS NULL:2006/11/20(月) 00:02:01 ID:???
char形だったら
insert into XXX (COL1) values('');
insert into XXX (COL1) values(' ');
insert into XXX (COL1) values(NULL);

は同じ動きするでしょ

6148:2006/11/20(月) 00:22:41 ID:???
>>60
試しに家のDB2で実行してみますた。

select count(*) from hoge where COL1 is null;
結果:1
select count(*) from hoge where COL1 = '';
結果:2
select count(*) from hoge where COL1 = ' ';
結果:2

です。
ここら辺は方言だと思いますがDB2はクエリ投入時に
値を省略されると前もって設定されたデフォルト値が
セットされるので、デフォルトのデフォルト値(?)が
CHAR型の場合はブランクなので空白ブランクがセットされます。

CSVで見てみたら
-----ここから----
" "
" "

-----ここまで----
でした。

まあ、そういう事で。
62NAME IS NULL:2006/11/20(月) 00:26:45 ID:???
SQL> CREATE TABLE test
2 ( M0101 number (2,0),
4 M0102 varchar2 (3) ,
5 M0103 char (3) );

表が作成されました。

SQL>
SQL> INSERT INTO test VALUES ('','','');

1行が作成されました。

SQL> INSERT INTO test VALUES (1,' ',' ');

1行が作成されました。

SQL> SELECT * FROM test WHERE M0101 = '';

レコードが選択されませんでした。

SQL> SELECT * FROM test WHERE M0102 = '';

レコードが選択されませんでした。

SQL> SELECT * FROM test WHERE M0102 = ' ';

M0101 M0102 M0103
---------- ------ ------
1

SQL> SELECT * FROM test WHERE M0103 = '';

レコードが選択されませんでした。

SQL> SELECT * FROM test WHERE M0103 = ' ';

M0101 M0102 M0103
---------- ------ ------
1

SQL> SELECT * FROM test WHERE M0101 IS NULL;

M0101 M0102 M0103
---------- ------ ------


SQL> SELECT * FROM test WHERE M0102 IS NULL;

M0101 M0102 M0103
---------- ------ ------


SQL> SELECT * FROM test WHERE M0103 IS NULL;

M0101 M0102 M0103
---------- ------ ------


SQL>
6360:2006/11/20(月) 00:33:03 ID:Gzz+3k/K
>61
うん、DB2はそうなるよね。

やっぱりこの辺はOracleが変だと思う。
(とか言ってOracleでテストしたら>60の通りにならなかったら恥ずかしいけど)
6448:2006/11/20(月) 00:35:20 ID:???
>>62
実験ありがとうございます。
ちゃんと' 'もinsertしselectされる場合もあるのですね。
しかし、nullと''の挙動は個人的には好きくないです。

で、もう寝ます。おやすみなさい。
6560:2006/11/20(月) 11:08:55 ID:Gzz+3k/K
以下oracle10gでテスト

create table TESTTBL1
(
KEY1 numeric,
COL1 char(1)
)

insert into TESTTBL1 values (1,null); ・・(1)
insert into TESTTBL1 values (2,''); ・・(2)
insert into TESTTBL1 values (3,' '); ・・(3)

■CSVで出してみた
-------------------
"1",""
"2",""
"3"," "
-------------------

■検索してみた
select * from TESTTBL1 where col1 is null
→(1),(2)がHIT
select * from TESTTBL1 where col1 = ''
→検索結果0
select * from TESTTBL1 where col1 = ' '
→(3)がHIT

おいら、勘違いしてました。orz
6648:2006/11/20(月) 22:40:06 ID:???
と言いますかOracleにNUMERIC型があることも驚きだったり。

しかも数値項目なのに""付きでCSV作るんだ…。
#解らなくもない仕様ですけど、

しかしCOBOLerやホスト上がりの人がOracle使うと
独特の世界に驚くだろうなぁ。

と言いますかだからウチのOracle管理チームはOracleの全カラムが
NULL可で主キーなしでテキトーにindex貼ってあるだけなのか…。
67NAME IS NULL:2006/11/20(月) 23:09:45 ID:???
Oracleを含め、RDBMSから入った人間にとっては階層型DBの方が
訳分からないけどね。
ホスト上がりの人が、そのまま設計すると、ひとつの表にカラムが
50ぐらい作ってあって、それがすべてVarchar2で出来ていたなんて
話もザラ。
それでパフォーマンスが出ないとかってキティな事を言う。
68NAME IS NULL:2006/11/21(火) 00:19:58 ID:???
うちの奴はひとつのテーブルに100ぐらいカラムがあって全部Numberだな
速度でねぇよwといつもいってるよw
69NAME IS NULL:2006/11/21(火) 01:10:59 ID:oMxqKf+1
客が、間違ってデータを消した。
今朝までのデータバックアップは残ってるんだが、昼過ぎからのデータが重要だったらしく、どうにかならないかと言って来た。
誰が、何時に消したかも知りたいらしい。

わかるもんなの?
70NAME IS NULL:2006/11/21(火) 02:00:39 ID:???
>>69

( ・∀・)つArchivelog Mode + Logminor
( ・∀・)つRMAN + Point-In-Time Recovery
71NAME IS NULL:2006/11/21(火) 02:45:30 ID:???
俺、一度表の定義を変えてパフォーマンスがめちゃくちゃ悪くなった事があってさ。
誰が変えたのかを探すよう俺が言われてしまって・・・Σ(゚д゚lll)ガーン
犯人は当然分かっていたんだけど、Logminor使って分からなかったら、黙って
おこうと思ったんだけど、実際に使ってみたらものの見事に俺の使っていた
端末が出てきてしまって、仕方なく観念したよ・・・。
72NAME IS NULL:2006/11/21(火) 08:14:07 ID:???
>>69

flashback query とか。
73NAME IS NULL:2006/11/21(火) 09:10:02 ID:???
>>69
10gじゃなかったら、難しいかな?
74NAME IS NULL:2006/11/21(火) 09:53:37 ID:0SmuBuhM
>69です。

バージョンは9iです。
9iでもログが見れるかどうか試して見ます。

ありがとうございました。
75NAME IS NULL:2006/11/21(火) 12:01:44 ID:???
>>74

9iでもLogminorは使えるよ。
面倒なツールではあるけれど、バージョンとプラットフォームさえ同じなら、
テストインスタンスにArchivelogをコピーして解析とかも出来る。
76NAME IS NULL:2006/11/21(火) 21:51:34 ID:???
log-miner
77NAME IS NULL:2006/11/22(水) 00:03:39 ID:OVUyKwp6
フリーのLinuxにoracle10gを入れたいと思います。
簡単に入るディストリビューションは何でしょうか?
78NAME IS NULL:2006/11/22(水) 00:09:54 ID:???
>>77

White-Box、Centでは9i/10g RACまで組めるのを確認したことがある。
79NAME IS NULL:2006/11/22(水) 06:36:51 ID:???
>>78
Centは大丈夫なんですね。
ありがとうございます。
80NAME IS NULL:2006/11/22(水) 20:14:02 ID:???
共有ディスクは

FireWire? SCSI?

RACに挑戦してみようかな?
81NAME IS NULL:2006/11/22(水) 21:24:18 ID:???
SCSIだったよ。

まあ、それとその気になればVMWareでもCentとWhiteBoxでRAC組める。
遊び環境として、4 CPUのLinux鯖上にVMWare入れて2 Nodes RAC組んで、
VMWare動かしているLinux鯖上にはデータガードのロジカルスタンバイ作った。
一台でRAC+データガードが出来るから、遊ぶには十分。
82NAME IS NULL:2006/11/22(水) 22:48:03 ID:???
VMWare より Xen のほうが軽いかな。

RAC + DataGuard + GridControl とか。
ここまでくると趣味だね。
83NAME IS NULL:2006/11/23(木) 02:18:58 ID:???
>>54
NUMBER型にnullが入っている行を select した場合
この値は null で返ってくるの?

Java からDB接続していて、取得したNUMBER型の列を数値型でキャストしてるんだけど
nullが入っているデータは、キャストエラーが発生しちゃってる。
空文字で返ってくるって事はないよね?

MySQL だと同じデータでも null が返ってくるので、それをキャストしても例外は発生しないんだけど。
(代わりにその後の処理でヌルポが発生してるけど・・・)
84NAME IS NULL:2006/11/23(木) 08:20:44 ID:???
俺もVMwareでRACにチャレンジしようと思ってるんですけど
ORACLE10gだと1GBのメモリが必要になるんですね。

ってことはですよ、2ノードだと2GB必要で、ホストOSの分も
合わせると、3GB位は実装する必要があり。。。。

そんなにメモリ増設する金がないです。
85NAME IS NULL:2006/11/23(木) 09:56:30 ID:???
>>84
これでも読んで糞して寝ろ、馬鹿。

ttp://otndnld.oracle.co.jp/products/database/oracle10g/clustering/pdf/VMware-LinuxVer1.40.pdf
ttp://otndnld.oracle.co.jp/products/database/oracle10g/clustering/pdf/VMware-Win32Ver1.20.pdf

こ、これ読んでも出来ないんだったら知らないんだからねっ
8684:2006/11/23(木) 12:05:18 ID:???
10gのR1だと512MBでインストール可能なんですけど
10gのR2だと1GBのメモリがいるわけで。。。。

それから、寝る前は糞じゃなくてオナーニしてます。
最近は、安藤サヤカの画像で抜いてます。いいですよ〜!
87NAME IS NULL:2006/11/23(木) 13:55:46 ID:???
安藤サヤカってKOTOKOや椎名へきると似てますよね。かわいい。
88NAME IS NULL:2006/11/23(木) 13:57:08 ID:???
オラクル10gを使用しているのですが、バックアップはRMANでするのが一般的なのでしょうか?
89NAME IS NULL:2006/11/23(木) 15:25:42 ID:???
うんにゃ。
90NAME IS NULL:2006/11/23(木) 17:24:22 ID:???
RACって、どういったシステムに使うんですか?
91NAME IS NULL:2006/11/23(木) 17:27:03 ID:3WEZ3cLu
管理を楽(RAC)にしたいシステム
92NAME IS NULL:2006/11/23(木) 17:29:50 ID:???
そりゃラックマウントサーバに使うに決まってるじゃん。
93NAME IS NULL:2006/11/23(木) 19:53:14 ID:???
普通に4GBぐらいメモリ積むよな。

DB2はゴミ。
Oracleで遅いって、ハードが遅いとかRACにしてない悪寒。
9448:2006/11/23(木) 20:14:42 ID:???
>>93
そんなのHP-UXでOracle8.1.6を使いつづけているチームに言ってください。w

ウチのはDB2と言ってもUDBでないRS/6000の微妙なヤツなんで
そんなに早くないと言うかトランザクションが100個くらい走っても重くならんだけだし。
そこそこのDBAがカリカリにチューンしたOracleだと最大瞬間風速(?)
はOracleの方が上だと思う。

ただ、なんにせよDBの速い遅いはいいチューナーとDB設計の方が
比重が大きいと思う。

正直、そこのOracleチーム相手だったら漏れがカリカリにチューンした
MySQLの方が速度出せると思うし。
95NAME IS NULL:2006/11/23(木) 20:30:34 ID:???
MySQLやPostgresなら無料で利用できるのに
数百万もするOracleを使う理由って何ですか?
単に安心感だけ?

まぁ、大企業にしてみたら、Oracle費用なんて
屁みたいなもんか?
96NAME IS NULL:2006/11/23(木) 20:43:47 ID:???
サポート面、機能面が大きいと思うけど。
フリーじゃ安心して使えない。
サポートは高いけど、すごく親切だしね。
97NAME IS NULL:2006/11/23(木) 20:46:36 ID:???
有償ものだとオラクルとSQLServer、DB2が有名が有名ですが
なぜ、オラクルが圧倒的人気なんでしょうか?
SQLServerはWindowsだけなので、環境によっては使えないと思いますが、
DB2とオラクルはよく似てると思います。
差は何ですか?
9848:2006/11/23(木) 20:52:42 ID:???
>まぁ、大企業にしてみたら、Oracle費用なんて
>屁みたいなもんか?

その後の開発費用とか保守費用とかでウン百万、ボッているから
Oracle費用が屁とは言わんが、システム全体を数年使う事を
考えるとたいした額でもないな。

あと、フリーが安心して使えないとは思わんけど、困ったときに
自力で解決できる兵(つわもの)でないと使えないのはあるな。

とは言えDB2使っているとあまりの情報の少なさに、
サポート無くてもいいのでMySQL使いたいと思う事は激しくある。(w

あとMySQLも今はエンタープライズ商売しているので
お金払えばサポート受けれる。受けた事ないけど。
99NAME IS NULL:2006/11/23(木) 20:59:59 ID:???
Oracleが一番早くUnixに目をつけてスタートダッシュに成功したってことじゃないかな?
10048:2006/11/23(木) 21:04:31 ID:???
>DB2とオラクルはよく似てると思います。
>差は何ですか?

正直、似てない。
思想が違うとオモ。
以下は個人的な意見

DB2は基本的にIBMのハードと技術員込みで買うモノ。
そしてIBMの関連子会社の営業はムカつくヤツが多い。
ただ贔屓目もあるが大抵の会社にOracleは必要ない。
DB2の方が値段安くて使いやすい。そして安定しているとオモ。
オマケもいっぱいつけてくれる。

Oracleはソフトウェアベンダーが良く指名してくるのが
人気の秘訣だと思う。あの資格商売は個人的にどーかと思う。
なんにせよとりあえずユーザーが多いのが強みで
営業も「Oracleにしとけば大丈夫」と魔法の呪文の様に
使うし、営業的に数字が大きいので売る気がでるらしい。
納品する技術者からすると「DB2(OS/400)の方が楽でいい」と
言うくらい初期導入がマンドクセらしい。
101NAME IS NULL:2006/11/23(木) 21:13:15 ID:???
オラクルゴールド所持者が、バックアップの取り方も知らなかった。
あの資格って意味あるのかどうか。
102NAME IS NULL:2006/11/23(木) 21:23:07 ID:???
>>98

> あとMySQLも今はエンタープライズ商売しているので

今は?
ずっと昔からやってるが。

まぁ俺は Oracle 使うけどね。SE One とか SE なら安いし。

103NAME IS NULL:2006/11/23(木) 21:24:02 ID:???
>>101

旧Goldとか。
10448:2006/11/23(木) 21:27:59 ID:???
>>102
>ずっと昔からやってるが。
http://itpro.nikkeibp.co.jp/article/NEWS/20061025/251807/

漏れはこのニュースでエンタープライズだと思いますた。
105NAME IS NULL:2006/11/23(木) 22:08:16 ID:???
>>103
いや、10g。
RMANとか何も知らなかった。
本だけで受かって、実務経験は無いんだって。
簿記のように、実務に沿った試験にすればよいのにね。
106NAME IS NULL:2006/11/23(木) 22:27:26 ID:vAKY1SSE
俺もGoldもってるけど、開発なんでバックアップはしらんな。。
Goldもってることをプレッシャーに頑張るためにとったって感じかな。
107NAME IS NULL:2006/11/23(木) 22:48:47 ID:???
ユーザが多いってのは実績があることであり、ノウハウ持ってる香具師が多いってことでもある。
DB2なんてマイナーDBではIBM方面しか選択しないし、競争も無いから延々ボラレ続ける。

業務システムとかだと、企業の根幹の金絡みだから、システムが止まりましたとか、数字が合いませんじゃ駄目だと思う。
そういうときに、すぐエンジニアが飛んでこないMySQLと、SIerのエンジニアが飛んでくるオラクルでは、金出してくれる決済者の経営者の評価も違うでしょ。
10848:2006/11/23(木) 23:07:28 ID:???
>>107
まー、世間ではそのように評価されているのでOracleが突っ走っているワケだが、
真にユーザーが多く実績がありノウハウ持っている香具師が多いなら、
DB2使いの漏れがOracleのシステム開発&指揮をとらされる事もないんだが。w
今、あいつらの開発中のソースの90%はDB2/400で出来てるよ…。

MySQLはまー、その通りだが、ウチのOracleチームは普通で数字間違えるし、
JOBは平気で半日ほど止めるしな。デスマ続きで正常な判断力がないんだろうが。

ある程度まともトコからDB2(IBM)を仕入れればそんな事はIBMの意地にかけて
止まる事もないしシステム的な障害はOracleに比べれば少ない、つーか無いに近い。
ハード込みのシステムだから当たり前だが。

ただ、IBMのボラれる辺りは真実だな。
技術畑連中はいいんだが本家IBM以外の営業関連のヤツは寝言が激しい。
109NAME IS NULL:2006/11/23(木) 23:30:51 ID:???
MySQLはなんか変な方にいっちゃったな。
わざわざ金出して、MySQLなんか使いたくないし。
かといって、Communitiy版(実験版)なんか絶対使いたくないし。
お手製のやつは、根こそぎPostgreに乗り換えるか。
110NAME IS NULL:2006/11/23(木) 23:38:36 ID:???
Fedoraとredhatみたいなモンだしなぁ。

まあ、漏れは使い方が甘いのかFedoraでもカーネルパニック
なんかお目にかかったことないけど。
111NAME IS NULL:2006/11/24(金) 01:20:43 ID:???
>>88

RMANを使いこなせるのなら、楽でいいと思うぞ。
俺も最初は「なんだ、この糞ツールは?」と思っていたけど、
DuplicationやらDB Block Verify機能とか意外と役に立った
経験があり。

まあ、DB止めてもいいのなら、何にも考えずにコールドバック
アップが楽なのかも知れないけど、不完全回復してDBを
open resetlogsで開く時に、ドキドキするなんて事があっても
いいんじゃないか思うw

俺の8年に渡るOracle DBの実務経験でも、Production環境を
Open resetlogsで上げた事は3回しかないけどねw
112NAME IS NULL:2006/11/24(金) 01:24:08 ID:???
>>90

高い鯖を買えないけど、中くらいや小さい鯖を複数買って大規模ユーザーを
サポートしたい人達や、一個インスタンス死んでも大丈夫なようにHAを重視
したい人達が使っているね。
ゲームのFF IXの鯖もRACだった記憶があるよ。
113NAME IS NULL:2006/11/24(金) 06:42:37 ID:???
IBMの意地にかけてまともなシステム作ってくれる ある程度まともトコってどこ?
オラクルの維持にかけて(以下略
114NAME IS NULL:2006/11/24(金) 07:34:32 ID:???
>>113
目の前の金か、あとに続く甘い汁がないと(以下略
115NAME IS NULL:2006/11/24(金) 14:09:07 ID:???
Ver8.1.7です。

MAX関数を使用するときに、カラム名にAS区を使用し、MAX値を
取得したカラム名と同じ名前をつけると、上手く処理ができません。

例:
テーブル:T
カラム:C

SELECT MAX(C) AS C FROM T

のような場合に、MAX値ではなく、全レコードを取得してきます。

私の環境に依存しているのでしょうか?
116NAME IS NULL:2006/11/24(金) 14:17:38 ID:???
>>115
自己レスです。

oo4oの場合のみでした。

もう少しぐぐってみます。
117NAME IS NULL:2006/11/24(金) 14:57:12 ID:???
Cを""でくくってみるとか?
もしくはasはずしてみるとか?

一応参考までに9iでの結果を載せる。


SQL> select max(bytes) from v$datafile;

MAX(BYTES)
----------
2097152000

SQL> select max(bytes) as bytes from v$datafile;

BYTES
----------
2097152000

SQL> select max(bytes) "Bytes" from v$datafile;

Bytes
----------
2097152000

SQL> select max(bytes) as "Bytes" from v$datafile;

Bytes
----------
2097152000
118NAME IS NULL:2006/11/24(金) 15:15:59 ID:???
ASMつかうとRMANでしかバックアップできねーっつうのもアレだな
まあRMAN楽だとは思うよ。最初だけ激しくダルいけど、覚えちゃえば便利
11948:2006/11/24(金) 18:42:55 ID:???
>>113
まともな営業がいて、まともな開発がいて、まともな運用がいる会社。(w
IBM特約店かどーかはあんまし関係ないとオモ。
漏れの運が悪いだけかもしれんがJBCCですら半数以上はアフォがいる気ガス。

Oracleはパートナーとか特約店とかあるんだっけ?
120NAME IS NULL:2006/11/24(金) 22:27:24 ID:???
win版Oracle9iのバックアップとリストアについて質問です。
マシン入れ替えで現在ドライブD:で動いているデータベースを別のマシンのドライブC:にコピーしたいんですが
どうすればいいでしょうか。
oracleはまったくの素人でどこから手をつけていいかわかりません。
121NAME IS NULL:2006/11/25(土) 00:22:30 ID:???
Cドラにコピーするのもあれだが、そもそもウィンドウズの時点で(ry
122NAME IS NULL:2006/11/25(土) 00:24:45 ID:???
素人にH/WのMigrationをさせるというのもなんだねぇ・・・。
現実的なものとしては、オラクルのソフトウェアをインストールした後に・・・

a. 新しい鯖上で新規DB作成後にExport/Import (簡単だけど時間はかかる)

b. oradim使ってサービスを作成後、全データファイル、コントロールファイルをコピーして
  DBをマウントモードで起動してから、ファイルの位置をRename (まあまあ、簡単)

c. .oradim使ってサービスを作成後、データファイルだけをコピーしてコントロールファイルの
  再作成 (まぁまぁ簡単だし早い)

d. RMAN Duplication (使われていないブロックはコピーされないから早いけど難易度は高い)
123NAME IS NULL:2006/11/25(土) 11:04:13 ID:???
Cドラにデータ置いたらさ、システムのスワップファイルが作られるたびに書き込めなくなったり速度落ちたりしないか?
124NAME IS NULL:2006/11/25(土) 18:41:44 ID:my0eYT2b
>>123
それ、ノートン先生入れてないか?
125NAME IS NULL:2006/11/26(日) 00:39:20 ID:???
コールドバックアップならRMANは必要ないんですか?
いつも、DataPumpExportで取得してるんですけど。
126NAME IS NULL:2006/11/26(日) 11:25:07 ID:???
必要ないね。
大体RMANはインスタンスがマウント状態以上でないとバックアップは取れない。
127NAME IS NULL:2006/11/26(日) 14:59:13 ID:???
RMANってGUIで使えると書いていたんですが、マニュアルはあるのでしょうか?
128NAME IS NULL:2006/11/26(日) 16:01:20 ID:???
ウィンドウズにウイルスソフト入れるのは鉄則。つーか社内規定で決まってる。
オラクルってウイルスソフトで駆除されたりするの?
129NAME IS NULL:2006/11/26(日) 16:03:38 ID:???
>>128
Anti VirusとVirusの区別をつけられる呼び方した方が良いぞ。
130NAME IS NULL:2006/11/26(日) 16:13:30 ID:bCvUbFDN
>>128
 うちの会社じゃウイルスソフト入れておいて、Oracleのデータを入れるパーティションは検索対象外に
していますよ。
 だから、どうしてもCドライブには入れておけないんですよね。
131NAME IS NULL:2006/11/26(日) 23:06:12 ID:???
>>127

OEMの話か?
132NAME IS NULL:2006/11/27(月) 19:46:08 ID:???
>>122
ありがとうございました。
無事aの方法で移行できました。

>>123
そうなんですか。まあ、あまり使わないテスト環境なので大丈夫でしょう。


133NAME IS NULL:2006/11/27(月) 20:19:41 ID:???
Solaris on x86版のOracle10gってOTNのアメリカのほうにしかない?
134NAME IS NULL:2006/11/29(水) 09:33:10 ID:???
普通はsparcしか使わないからねえ。
x86でよければミラクルで良いじゃん。日電でも富士通でも丸ごと面倒見てくれるよ。
135NAME IS NULL:2006/11/29(水) 15:44:40 ID:???
MAX(DISTINCT 列名)

ってどういう意味ですか?

重複しない、最大値を取得??
136NAME IS NULL:2006/11/29(水) 20:17:00 ID:???
>>135
それであってる。実用性はなさそうだけど。
よく使うのは COUNT(DISTINCT 列名) とか。
137NAME IS NULL:2006/11/29(水) 20:31:11 ID:9HeSHKfV
UNIX版Oracle7.3.4をLinuxで動かしたいのですが、どなたかご経験ありませんか?
138NAME IS NULL:2006/11/29(水) 20:47:37 ID:???
>>135
ありがd

既存の根幹SYS改修中で、何か意味があるのかと思って
子一時間悩んだ・・・。
139138:2006/11/29(水) 20:48:25 ID:???
アンカーミスッタ

>>135 → >>136
140NAME IS NULL:2006/11/29(水) 20:54:40 ID:???
最大値を取るのに DISTINCT するかしないかは無関係だと思うけど。
作った奴はよほどのアホだね。

141NAME IS NULL:2006/11/30(木) 01:12:01 ID:???
漏れは、
SELECT DISTINCT a,b,c
FROM tbl
ORDER BY a,b,c
というものを突きつけられて悩んだ。
ORDER BY は 必要か不要か?

142NAME IS NULL:2006/11/30(木) 01:27:04 ID:???
必要。
無くてもOracleを含め大抵の処理系はその順番で並んでいるが、
ORDER BY なしで並び順は保障されないのが建前。
143NAME IS NULL:2006/11/30(木) 02:40:02 ID:???
>141
DISTINCT a,b,cってことは「a,b,cの組み合わせで一意」だお
だからa列だけ見れば同じ値が複数行に現れる可能性だってあるお
144NAME IS NULL:2006/11/30(木) 05:46:35 ID:???
>>141
ORDER BY と書かれていても処理がスキップするから
ORDER BY と書くのが大人のマナー

自殺と通知されても保険金支払いには
自殺と通知しないのが高利貸しのマナー
145NAME IS NULL:2006/11/30(木) 19:59:37 ID:+EMnfi/S
ちょっとトラブルです。ver9iです。

DB構築しようとCREATE DATABASE文実行したら、エラーが出て失敗。
オラクルエラーと一緒にOSのエラーも出たので見てみると、
キャラクタデバイスの権限がないみたいな事を言っているので
ひとまずアクセス権を与えて、再度sysユーザで入ろうとしたら、
入れません。
ちなみにプロセス上がってます。
再作成するにもsysユーザでログイン出来ないことには。。。
どなたか対処法をご教示お願いします。
146NAME IS NULL:2006/11/30(木) 21:21:42 ID:sCDWundV
今度オラクルシルバー受けようと思ってるんですけど
ゼロからだとどのくらい勉強すれば合格しますか?
147NAME IS NULL:2006/11/30(木) 21:50:24 ID:YQx+oXB3
ORA-XXXXに何がでてるかわからんが。。。 >>145
148NAME IS NULL:2006/11/30(木) 22:13:00 ID:YQx+oXB3
プロセスを停止してみる。(shutdown abort) と書いてみた。
149NAME IS NULL:2006/11/30(木) 22:40:11 ID:+EMnfi/S
確か
ORA-301
ORA-1503
ORA-27041
OSのエラー
だったと思います。

いろいろ試しても埒があかなかったので、
無茶と承知で対象プロセスをkill、制御ファイル削除、
パスワードファイル再作成してみたのですが
sysユーザでログイン出来ませんでした。。
自分ではDB作成前の状態に戻り、再ログイン出来るかと思ったのですが。。。
そもそもキャラクタデバイスのアクセス権が無かっただけで
何でログイン出来なくなるんでしょうか?
150NAME IS NULL:2006/12/01(金) 04:19:24 ID:???
DB作成前なんだろ?
そんなお上品なことしないで、プロセスKillっちまえばいいじゃん?
151NAME IS NULL:2006/12/01(金) 04:20:24 ID:???
全プロセスKillって、それからstartup nomountであげれないのか?
152NAME IS NULL:2006/12/01(金) 09:50:40 ID:eA/dAjrd
いやそれが、
環境変数ORACLE_SID設定
sqlplus /nolog

connect sys/dba as sysdba

とやっているのですが、つながりません。。
パスワードをchange_on_installに変えてもダメです。
失敗したインスタンス名は認識してくれないのでしょうか?
153NAME IS NULL:2006/12/01(金) 10:19:52 ID:???
つながりませんだと分からないからエラーとか書いてもらえると
共有メモリ上にプロセスが残ったぽいから、1度リブートしてみるとか。
154NAME IS NULL:2006/12/01(金) 10:20:53 ID:???
connect時のエラーメッセージを書け
dbaグループ osdbaグループに属しているアカウントではどうだ?
OSは何だ
155NAME IS NULL:2006/12/01(金) 10:38:27 ID:eA/dAjrd
>>153
サーバリブートは他で試験しているのでちょっと無理です。
共有メモリに残っているかってどうやったら見れます?

>>154
接続時のエラーは権限が不足していますが出てます。OSはHP-UXです。
CREATE DATABASE実行するときにはsys/dbaで入れました。
156NAME IS NULL:2006/12/01(金) 11:05:24 ID:???
>>155
dbaグループ osdbaグループに属しているアカウントではどうだ?
157156:2006/12/01(金) 11:13:03 ID:???
osdba は Windows だけで 名前も oradba の間違いだった。
スマソです。

HP-UX なら dba グループに所属するアカウントを使って
OS認証でログオンする

% sqlplus /nolog
SQL> connect / as sysdba
158NAME IS NULL:2006/12/01(金) 11:49:37 ID:???
>>155
ipcsで残っているか確認、ipcrmで削除出来る。
ipcrm oracleでぐぐったり、manページで確認。
159NAME IS NULL:2006/12/01(金) 13:35:17 ID:eA/dAjrd
元々、複数のインスタンスが起動しているので、
ipcs実行してもどれがどのインスタンス
なのか見極められません。
全部所有者はoracleと表示されてしまうので、、、

今とりあえず、インスタンスに割り当てようとしてたディレクトリ、lvolを削除してみました。

一番はじめからやってみようかと。
160NAME IS NULL:2006/12/02(土) 10:30:27 ID:???
oraアカウントじゃないのか。。。

リナックスで動かしてる時点で信頼性を損なう。
161NAME IS NULL:2006/12/03(日) 08:21:51 ID:jHKXe0y/


ORACLE 10Gの値段っておいくRぐらいですかね....
162NAME IS NULL:2006/12/03(日) 08:49:40 ID:hjLK3wUG
>>161
CPUライセンス?
1CPU500万くらいじゃないの?
163161:2006/12/03(日) 12:20:25 ID:jHKXe0y/
11G待ちにしようか やめようか会社として悩み中です
10Gにないものが多い気がする
164NAME IS NULL:2006/12/03(日) 13:23:47 ID:???
>>161-162

10g SE One
http://www.oracle.co.jp/products/price/dbse_one.html

10g SE
http://www.oracle.co.jp/products/price/dbse.html

10g EE
http://www.oracle.co.jp/products/price/dbee.html

こんな感じだ。

SE なら RAC がついてくるし、要らなければ SE One でいいのでは。


165NAME IS NULL:2006/12/03(日) 15:01:17 ID:???
個人的な見解ですが、使えるのはR2から
特に新機能
166NAME IS NULL:2006/12/04(月) 05:21:20 ID:???
10Gって、外部結合がらみでバグ多くないですか?
マスタとJOINしてコードから名称持ってくるようなときにレコード数がおかしかったり・・。
SELECT句に持っていけば良いみたいなんだけど。
167161:2006/12/04(月) 23:31:28 ID:MYOQKPHk
>>164,165
どうもです SEでいいかな... しかし高いな
Oracleで見積もりとか出したことないけどuser 分とられるの?
200人規模で実使用者は130人ほどどうでしょ??
168NAME IS NULL:2006/12/04(月) 23:53:11 ID:???
金額が気になるならとりあえずpostgresかMySQLでも使っとけ。
貧乏でもOracleがいいっていうんならExpressEditionって選択肢もあるぞ。
まぁサポート料とか安心とかの金額だけどな。
169NAME IS NULL:2006/12/05(火) 00:24:57 ID:???
>168 残業中か?プッ
170NAME IS NULL:2006/12/05(火) 21:12:08 ID:QKTSK6i8
すいません、初歩的な質問ですが、セミコロンで区切って複数のSQLを実行するにはOracleでは
どう記述するのでしょうか?なぜか検索しても出てきません。
171NAME IS NULL:2006/12/05(火) 21:46:36 ID:???
> セミコロンで区切って複数のSQLを実行するには

意味がわからないんだけど。
172170:2006/12/05(火) 22:08:57 ID:???
>>171
すいません、マルチプルステートメントとかバッチクエリとか言われてるものです。
ずっと検索していたらやっと見つかりました。。orz

>PostgreSQL、Microsoft SQL Serverなどがこれをサポートしている。

173NAME IS NULL:2006/12/05(火) 22:43:43 ID:???
無名プロシージャはどう?
174NAME IS NULL:2006/12/05(火) 23:15:26 ID:???
オラクル9iGoldを持ってるんだけど10gに移行すべきなの?
175NAME IS NULL:2006/12/06(水) 00:10:20 ID:k+sphHjH
RAWデバイスについてお聞きします。
RAWデバイスは、UFSのファイルシステムに比べて、どれだけパフォーマンスが向上するかベンチマークで試された人はいますか?

Oracleのインストレーションガイドでは、RAWについての記述はあるのですが
RAWを使用時の注意点ばかりで、具体的なパフォーマンスについては記述されてませんでした。
また家にあるショボイUNIX機器で試してみたのですが、特に変化が見られないのです。

RAWの効果は目に見えないくらい微小なものなのでしょうか?
よろしくお願いします。

--------------------------
Oracle10.0.1.0
Solaris8
176NAME IS NULL:2006/12/06(水) 01:35:36 ID:???
RAW Devicec使用時にパフォーマンス向上が見られる状況というのは
当然I/Oバウンド及びCPUバウンドの時だけで、それ以外の時では
大差がないのは当然。
TPC-CベンチをHP-UXで取った時には、RawとFile Systemでは平均
して5〜10%ぐらいしか違わない。
ただしダブルバァッファのオーバーヘッドが無い分、同じプログラムでも
CPUの使用率が5%近くは下がる。
177NAME IS NULL:2006/12/06(水) 01:38:09 ID:???
RAWかその他かの違いなんて今はたいした問題じゃないよ。
ディスクドライブのランダムI/Oの遅さが先に問題になる場合が多い。
178NAME IS NULL:2006/12/06(水) 05:38:58 ID:???
HPのプラットフォームでinit.oraの中でhpux_sched_noageをセットしている人ってどれくらいいる?
179NAME IS NULL:2006/12/06(水) 20:59:54 ID:???
トリガでDB起動時にtruncateしたいんですがなんとかできませんかね
トリガでプロシージャ呼び出してもだめっぽいしなんとかできない?
180NAME IS NULL:2006/12/06(水) 21:07:56 ID:???
DB起動時に発生するトリガ内でできなかったってこと?
181NAME IS NULL:2006/12/06(水) 21:30:49 ID:???
そう。
create trigger startup
の中で
hoge.プロシージャを呼び出す。
プロシージャ内部ではtruncate tableとalter rename tableを行っているが
truncate実行時に失敗する。
なんとかしてDB起動時にテーブル内を削除したいわけだが・・・。
なんとかならんものか
182175:2006/12/07(木) 00:11:43 ID:J9p9JP33
>>176, >>177
ありがと。
CPUやディスクIOのリソースが十分なうちは、効果がはっきりとは表れないということですね。

しかし、聞いていた以上にRAWデバイスは管理し難いですね。
DBだけでなくOS絡みでも玄人でないと、RAWはやらない方が良いかと思いました。
183NAME IS NULL:2006/12/07(木) 00:43:09 ID:???
>>182

そんなにRAWを毛嫌いする必要はないと思うけどね。
基本的にO/Sではdd、DBではRMANがあればあんまり意識しなくてもいいかと。
RMANさえあれば、RAW<=>ファイルシステム<=>ASMも簡単にコンバートできるし。
184NAME IS NULL:2006/12/07(木) 01:13:48 ID:QBumZw87
RMANの使い方を詳しくのってるマニュアルか本を教えてくれませんか?
お願いします。
185175:2006/12/07(木) 01:15:59 ID:???
>>183
>そんなにRAWを毛嫌いする必要はないと思うけどね。

個人的にはやってみたいんだけどねw

ただパフォーマンスも大きく変わるわけでは無いし、
システムを収めてからは、Oracleには詳しく無いインフラサポートチームが運用していくことになる。
それを考えた場合、果たしてRAWを選択して良いものかと思いまして・・・・。
(ちゃんとドキュメントを作れば良いことかもしれませんが。)

私自身がRAWについて、まだまだ無知なところがあってナーバスになってるだけかもしれません。
OracleでのRAWの扱い方について記述されたマニュアルなり本などがあれば良いんですけど、なかなか無くて手探りな状態です。

というか、UNIXについてすら初心者状態なんで、道は険しいですね^^;
何とか足掻いてみます。
186NAME IS NULL:2006/12/07(木) 01:24:39 ID:???
確かにlsやcpなどの一般のUnixコマンドが通らないというのは、
ハンデかもね。
RACでもクラスターファイルシステム使うのが多くなってきているし。
ただDB+Unixで、RAWを使う方法も経験しておいて損はないと思うよ。
187NAME IS NULL:2006/12/07(木) 01:25:58 ID:???
>>184

ほれ( ・∀・)つttp://hp.oracle.co.jp/

RMAN+RACだけど、基本は一緒だ。
188NAME IS NULL:2006/12/08(金) 12:29:45 ID:wvKUaQJA
10gで表領域を新たに30GB確保しようとしてるんだが、これどれぐらい時間かかるものなんだろう。
現在EnterpriseManagerで作成ボタン押して、反応待ってるんだがぜんぜん返ってこない。

ずーっとHDDカリカリ動いてるから、何かやってるとは思うんだが・・・。
ちなみにスペックはアスロン 2.5G メモリ1GBぐらい。

Oracleの環境構築って初めて過ぎてワケワカメ。
189NAME IS NULL:2006/12/08(金) 19:33:57 ID:???
ん?
勉強用の環境作ってんのか?なら、そんな30GBなんてよくばりすぎ。1GBも必要ないな。
190NAME IS NULL:2006/12/08(金) 19:38:10 ID:???
>>188
別のディスクに30GBのファイルをコピーするのと同じくらいかかる。
191NAME IS NULL:2006/12/08(金) 22:40:39 ID:???
ディスクの性能によるよ。
OS上のコマンドでサイズがドンドン増えていくのが解る
それで完了時間を見積もるくらいしかないかも?
192NAME IS NULL:2006/12/09(土) 22:57:29 ID:Z0otFmfn
strutsでwebシステム作るんですがデータベースの文字セットはsjiSなんですね
「〜」が化ける問題がありますが
 ・文字セットをSJISTILDEにする
 ・アプリで変換する
のとどっちがいいでしょう
193NAME IS NULL:2006/12/09(土) 23:56:19 ID:AtT7YiO8
>>192

struts関係ないような気もするが、、
アプリ(fileter)で変換したほうがいいと思う。
194NAME IS NULL:2006/12/10(日) 07:19:09 ID:???
データベースをUTF-8にしとけ
195NAME IS NULL:2006/12/10(日) 10:49:04 ID:???
その程度も解決できずに。orz
SIerに丸投げした方が良いよ。
196NAME IS NULL:2006/12/11(月) 08:38:07 ID:???
system領域ってどういう時に拡張するの?
197NAME IS NULL:2006/12/11(月) 09:43:53 ID:???
足らなくなったとき。
198NAME IS NULL:2006/12/11(月) 12:16:41 ID:???
リモートでrmanを実行しようと思ってるんですけど、
バージョン違いで、「大は小をかねる」方法ってできないんですか?
10.2のクライアントで9.2や10.1への接続でエラーが出てしまう。
199NAME IS NULL:2006/12/11(月) 13:25:47 ID:???
>>198

プラットフォームとエラー番号ぐらい書けよ。
普通は下位互換で問題なく取れるはずだぞ?
まそかその10.2にはクライアントしかインストールしていないなんて事はないよな?
200NAME IS NULL:2006/12/11(月) 13:47:04 ID:???
うん。クライアントしか入ってない。
なんか入れない缶の課。
201NAME IS NULL:2006/12/11(月) 14:20:09 ID:???
せめてそこでDB作れるぐらいのバイナリは入れておけ。
202NAME IS NULL:2006/12/12(火) 00:50:38 ID:Uzndc809
Javaで複数結果の帰ってくるselect文のストアドプロシージャ(オラクル)をよんで
ResultSetに入れようとしています。
オラクルのストアドはselectで結果が返せないので、カーソルを返すしかないのでしょうか?
また、カーソルをストアドに宣言するとエラーになってしまいます。
パッケージの宣言句に書くと大丈夫でした。
これはオラクルの決まりなのでしょうか?

よろしくお願いします。
203NAME IS NULL:2006/12/12(火) 03:35:50 ID:xBdwFmsj
>>202
マルチ。
204NAME IS NULL:2006/12/12(火) 05:34:11 ID:???
特定プロセスのPGA_ALLOC_MEMを増やすことは可能でしょうか?
たとえばhoge1には常にPGAを100M以上割り振りたいのですが・・・。
205NAME IS NULL:2006/12/12(火) 06:06:53 ID:???
なんでそんなことする必要があるの?
pga_aggreagate_targetがセットされていてWORKAREA_SIZE_POLICY = AUTOで
適当に管理させればいいじゃん?
206NAME IS NULL:2006/12/12(火) 08:54:09 ID:???
>>182
事前の設計がちゃんとできてれば、RAWはそんなに難しくないよ。
ストレージのレプリケーション機能を使う場合はファイルシステム使用不可
(またはオプション要)なんて場合もあるしね。
207NAME IS NULL:2006/12/12(火) 23:26:53 ID:RfvhNHUe
Listener.ora 、sqlnet.ora が定義されている状態かつリスナーが立ち上がっている状態で、
tnsnames.ora に定義がなくても SQL*Plus から、インスタンス接続って可能なのでしょうか?
SQL*Plus リファレンスを見ると、それっぽいことが書いてあるものの、いまいちうまく
行かないです。
(ORAエラーが何回かでたが、失念してしまいました m(_ _)m )
tnsnames.ora に記述してあるインスタンスには当然接続できるのですが…。

<環境>
Solaris 9
Oracle 9.2
DB接続は、telnet で Solarisサーバにログインし、ttyから SQL*Plus を実行。
208NAME IS NULL:2006/12/12(火) 23:44:32 ID:???
必要な環境変数が設定されていれば、リスナーすら要らんわけだが。
209NAME IS NULL:2006/12/12(火) 23:48:33 ID:RfvhNHUe
>>208
もしかして、ORACLE_SID ?
210NAME IS NULL:2006/12/12(火) 23:48:48 ID:???
環境変数oracle_sid設定しろyo
211NAME IS NULL:2006/12/12(火) 23:54:53 ID:RfvhNHUe
>>208,210
情報どうもです。

>>210
確かに、env を確認したときに、ORACLE_SID がなかったので気にはしてましたが…。
1サーバに20個もインスタンスがあがってるので、あえて記述してなかったんかなぁ
(環境作ってないので、その辺はわからないが)。
いずれにしても、setenv して確認してみます。
どうも、IPアドレスで接続制限もしていたようなので、ORACLE_SID 入れてみてだめなら
IPアドレス追加してもらうしかないなぁ。
212NAME IS NULL:2006/12/12(火) 23:57:11 ID:???
すげーw
213NAME IS NULL:2006/12/13(水) 10:37:45 ID:???
>>208
BEQ接続?
214NAME IS NULL:2006/12/13(水) 14:46:48 ID:???
>>207
tnsnames.oraがなくてもsqlplusに接続文字列を直接書ける。
---
ローカル・ネーミング(・メソッド)
TNSNAMES.ORA ファイルを使用して、ネットサービス名から接続記述子
(接続文字列≠{ネットサービス名、接続識別子})を取得する方法
# sqlplus hoge/hoge_pass@接続記述子(接続文字列) と書くのが面倒なための
エイリアス名と考えるとわかりやすい。
実際に # sqlplus hoge/hoge_pass@接続記述子(DESCRIPTION = 〜 tnsname.ora の長い接続文字列....)
は有効な接続書式です。
--

>>208
今はBEQ接続って言わないと思った。IPCだったかな?違うかもしらんから確認してくれ。
215NAME IS NULL:2006/12/13(水) 15:09:33 ID:???
BEQ接続とIPCは別物だな。
前者がPIPEでリスナー不要、後者がUnixDomainで要リスナー。
216NAME IS NULL:2006/12/13(水) 15:25:40 ID:???
>>215
ごめん、UnixDomainってどいうこと?
217214:2006/12/13(水) 15:40:27 ID:???
>>215
最近のオラクルではBEQ接続がなくなったと思ってたが勘違いのようですね。
218NAME IS NULL:2006/12/13(水) 19:07:29 ID:???
TCP/IPのような、ソケットを使用した内部的なプロセス間通信(IPC)
219NAME IS NULL:2006/12/13(水) 21:11:37 ID:???
>>218
TCP/IPのような、ソケットを使用した内部的なプロセス間通信(IPC)
とUnixDomainって関係ないよね?
220NAME IS NULL:2006/12/14(木) 00:40:35 ID:???
IPとは別個。
221NAME IS NULL:2006/12/15(金) 02:03:02 ID:???
ある期間内に、どのテーブルが頻繁にアクセス・更新されたかを知りたいのです。

色々と調べた結果、Statspackを利用すれば表領域単位での物理・論理I/Oサイズを取得することが可能
というのは解りましたが・・・・、テーブルまでに落とした情報の取得は出来るものでしょうか?

宜しくお願いします。

Oracle10.2.0.2
222NAME IS NULL:2006/12/15(金) 07:36:06 ID:???
>>221
「Oracle 監査」でググれ
223NAME IS NULL:2006/12/15(金) 09:20:39 ID:???
>>235

ファイングレイン監査だとSQLレベルで取れるけどね。

後は湯水の様に金使っていいのなら、シマンテック社が出している
「i3」というサードパーティツールはそういった情報をレポジトリDBに
収集してくれる。
224NAME IS NULL:2006/12/16(土) 15:16:42 ID:???
DBのキャラクタセットがJA16SJISTILDEだと、Windows Vistaで
使えるようになるUnicode文字はきちんと保存できないって
ことでいいんでしょうか?
225NAME IS NULL:2006/12/16(土) 19:54:23 ID:???
utf8を使え。
電子メール(jis)が絡んだり、sjis携帯が絡むと化けるが。
226NAME IS NULL:2006/12/16(土) 20:36:56 ID:???
utf8では解決できんだろ
227NOT IN( 224, 225):2006/12/16(土) 21:34:59 ID:???
>>226
UTF8 じゃむりぽだけど
AL32UTF8 ならいけるのではないか?
228NAME IS NULL:2006/12/16(土) 22:22:17 ID:4ZspRBrb
すまね。
X$表とかって、マニュアルのどこらに載ってるの?
229NAME IS NULL:2006/12/17(日) 00:15:07 ID:???
>>242

DBの内部で暗黙的に使われるものだから、載ってないんでないの?
230NAME IS NULL:2006/12/17(日) 01:14:29 ID:???
V$系はリファレンスに載ってるけどX$系は無かったね
231NAME IS NULL:2006/12/18(月) 08:25:46 ID:9qdEhnfx
>229-230
ありがとう。やっぱ載ってないのかぁ。
232NAME IS NULL:2006/12/18(月) 23:33:13 ID:pDPTAIzI
オラクルマスター9iGoldって10gGoldより難しくね?
233NAME IS NULL:2006/12/20(水) 08:28:36 ID:???
V$SQL_WORKAREA_ACTIVEで
IDX MAINTENANCE (SOR
LOAD WRITE BUFFERS
GROUP BY (SORT)
GROUP BY (HASH)
HASH-JOIN
辺りがでてくるのだがIDX MAINTENANCE (SOR
とGROUP BY (HASH)ってなにをやってるの?
また、GROUP BY (HASH)のセッションがTEMPSEG_SIZEの値を持つのだが
これをメモリ内で行わせるためにはPGAを大きくするでよい?
234NAME IS NULL:2006/12/20(水) 08:58:51 ID:???
>>233

見たまんまだろ?
IDX MAINTENANCE (SOR => Indexの作成・再作成のためにSort処理が走った。
GROUP BY (SORT) => Group By句でSort処理が走った
GROUP BY (HASH) => Grouop By句でHash-join処理が走った。

pga_aggregate_targetを大きくすればin-memory sortが行われる可能性は
高くなる。
235NAME IS NULL:2006/12/21(木) 15:39:06 ID:DKSBuEic
oracle 10gにてEnterpriseManagerを使用した
レプリケーションの設定方法についてお聞きしたいです。
PC2台にてメインサーバ(Linux)、バックアップサーバ(Window 2003Server)
[共にoracle 10g EnterpriseManager]の形式で指定時間にメインサーバのDBを
バックアップサーバに反映するレプリケーションの設定を行おうと思っています。
(streamsの表領域レプリケーション・ウィザードを行い「成功」となって
 いるのですがお互いのDBが一致されておりません。資料を読んでいると
 取得、伝播、適用、とあるのですが、EnterpriseManageにて設定する
 場合にどの手順にて何を設定すれば良いのかお教え下さると助かります。)
初心者なのでお手数ですが手順をおってご説明して頂けると助かります。
236NAME IS NULL:2006/12/26(火) 08:37:06 ID:???
トリガーを一時的に無効にすることは可能でしょうか?
その場合、どのようなSQLで可能でしょうか?

よろしくお願いします。
237236:2006/12/26(火) 09:04:42 ID:???
じこかいけつしました。
238NAME IS NULL:2006/12/26(火) 09:48:33 ID:dl+xTnma
自己解決したら解決方法書けやー
239236:2006/12/26(火) 10:32:58 ID:???
ぐぐったら一発で出てきました。
240NAME IS NULL:2006/12/26(火) 20:26:31 ID:???
GPL厨みたいなこというなw
241NAME IS NULL:2006/12/27(水) 00:35:26 ID:???
>>235

OEMなんか使わないでマニュアルでやってみたら?
それで駄目だったらここでもう一回聞いてみるとか?

OEMのウィザードなんて使った事が無いという人がここではほとんど
だと思うよ。
242NAME IS NULL:2006/12/27(水) 02:12:57 ID:???
EnterpriseManagerか〜・・そんなのあった様な・・・
男ならsqlplusでそ。
dos版のsqlplusは使いやすいよ。
243NAME IS NULL:2006/12/27(水) 02:35:45 ID:???
普通、LinuxかSolaris。
WindowsならMSDBとかMDBで充分。
244NAME IS NULL:2006/12/27(水) 04:45:39 ID:???
>>243
クライアントの話ジャロ
245NAME IS NULL:2006/12/27(水) 04:56:22 ID:???
もう鯖なんて要らない。
クライアントの方がスペック高かったりしますよ。
246NAME IS NULL:2006/12/28(木) 00:25:46 ID:gdA8dnab
C#を使ってオラクルにアクセスしたいんですが、クライアントマシンにオラクルクライアントを入れずに接続する方法ないでしょうか?
Web等で紹介されてるのはオラクルクライアントがインストールされていることが前提の例ばかりなんですが・・・
247NAME IS NULL:2006/12/28(木) 02:32:25 ID:???
それは、一切のソフトウェアをインストールなしに?ってこと?
それとも、君のオラクルクライアントってのは、10gなら300MBくらいあるファイルのこと?
248NAME IS NULL:2006/12/28(木) 08:14:07 ID:???
Aスキーマに対してBスキーマにある全てのテーブルにSELECT権限を与えたい。
(今後Bスキーマに作成されるテーブルも含めて)
でもBスキーマ以外のスキーマのテーブルには権限を与えたくない。
こんなことできますか?
249NAME IS NULL:2006/12/28(木) 10:12:14 ID:???
できる。

さらに、ユーザBに対して、対象オブジェクト権限(SELECT)がWITH GRANT OPTION付きで、
付与されているれば、ユーザBが直接ユーザAに対して、権限を付与することも出来る。
250NAME IS NULL:2006/12/28(木) 10:55:05 ID:???
>>246
せめてインスタントクライアントくらい入れろやwww
251NAME IS NULL:2006/12/28(木) 21:48:19 ID:1E2uWzGC
>>249
できる?

質問者はオブジェクト単位に与えるのはいや、って書いているように見えるけど。
252NAME IS NULL:2006/12/29(金) 09:15:43 ID:???
ああ、「全て」っていうところが重要なのかw
253NAME IS NULL:2006/12/30(土) 23:52:56 ID:FqA3m+Sg
analyzeってどのくらいの周期で取るべき?
また何がどーなったら再編すればいいんでしょうか?
254NAME IS NULL:2006/12/31(日) 00:11:11 ID:rI2bYw3P
>>253
テーブルのレコードがどれだけ変わるかによる。
不変なら初回だけでOKだし、内容がガラリと変わるなら
その都度やらないと。
255NAME IS NULL:2006/12/31(日) 08:32:39 ID:???
>>253
RBOなら不要www
256NAME IS NULL:2007/01/03(水) 13:47:15 ID:???
>>253

表の再編は行連鎖、行移行が発生していたり、もしくは
Delte文などによって1ブロックの中にかなり空きが発生
したりしている場合かな。
257NAME IS NULL:2007/01/05(金) 04:54:05 ID:syH8zhZ/
Age
258NAME IS NULL:2007/01/05(金) 17:15:31 ID:???
oracleのゴールドが取れたら新卒の就職活動ではどれぐらい有利になりますか?
259NAME IS NULL:2007/01/05(金) 17:39:18 ID:???
すごいけど、あんまり意味ないだろう。
学生が持っててももろペーパーだって疑われるだけだし。
情報処理の方が遥かに受けがいいと思うよ。
260NAME IS NULL:2007/01/05(金) 17:59:26 ID:???
>>259
やっぱり思ったほど役に立たないんですかね・・
261NAME IS NULL:2007/01/05(金) 18:01:32 ID:???
>>258
少し鍛えるだけで安上がりに現場に投入できるから
配属先が入社前から運用管理系になる可能性が相当高い

会社に入りたいだけならメリットはあるけど
大手で開発やコンサルがしたい場合には出足でつまづくかも
262NAME IS NULL:2007/01/05(金) 18:48:51 ID:???
>>261
なるほど。まさに開発がしたいんですけど、まずは会社に入れないと意味がないので
とりあえずゴールド目指します。 
ありがとうございました。
263NAME IS NULL:2007/01/05(金) 23:29:16 ID:???
>>262
就職の面談で取得流を聞かれたらどう答えるつもり?
264NAME IS NULL:2007/01/05(金) 23:44:22 ID:???
それに、Oracleなどのベンダー系の資格は取得の補助がある会社が多いしね。
265NAME IS NULL:2007/01/06(土) 04:33:39 ID:???
>>262
お金持ちだなー。
266NAME IS NULL:2007/01/06(土) 08:41:50 ID:???
>>263
普通にスキルアップのためとか・・・
>>265
バイトしてるんで
267NAME IS NULL:2007/01/06(土) 12:28:30 ID:???
>>266
15万くらいの費用が必要だけどちゃんと講習費を見積もってる?
コナカやアオキのスーツなら1年分買えそうだ
268NAME IS NULL:2007/01/06(土) 13:11:11 ID:???
>>267
試験だけ合格して、履歴書には 「オラクルマスターゴールド(講習未受講)」
って書こうと思ってるんですけど、駄目ですかね?
269NAME IS NULL:2007/01/06(土) 13:12:11 ID:???
>>268

そりゃダメだ。さすが学生は考えることが違うな。
270NAME IS NULL:2007/01/06(土) 13:20:13 ID:???
>>269
まじですか。
さすがに講習費は自腹じゃ無理です。
271NAME IS NULL:2007/01/06(土) 13:47:35 ID:???
でも、面接で試験が受かってることをアピールので大丈夫です。
272NAME IS NULL:2007/01/06(土) 13:51:38 ID:???
いやいや、業務で使える見込みが無い香具師は採らない。
CCNA持ってますよって2514しか弄れない香具師と同レベル。
273NAME IS NULL:2007/01/06(土) 14:02:33 ID:???
>>272
新卒なんで、初めから業務では役に立たないことは面接官も分かってると思います。
勉強してることを伝えたいだけなので
274NAME IS NULL:2007/01/06(土) 15:16:44 ID:???
それならシルバーでも十分だろう。シルバーまでなら講習無しで取れる。
275NAME IS NULL:2007/01/06(土) 15:23:02 ID:???
開発目指したいならGoldなんていらないな
正直SQLをしっかりかける方がよいからブロンズとシルバー
のSQLだけあればいいよ。資格欄には書きにくいけど
276NAME IS NULL:2007/01/06(土) 16:21:25 ID:???
試しに設計してみて、自分なりの仕様書でも持参してアピールしてみれば?
どういうユーザを想定しているか。
発生するであろう問題点の予測。
日々の使い勝手についての予測。
種々様々な要求仕様に対する解決のための実装案
とか、出せると実践で使えそうかなとは思うかも。
実機で実際に組んでみてパフォーマンスとかも考察できるといいけど、これは実務経験が無いと辛いな。
277NAME IS NULL:2007/01/06(土) 16:38:57 ID:???
>>276
学生にゃ無理だろw
278NAME IS NULL:2007/01/06(土) 17:15:11 ID:???
>>276
新卒の内容ではない

無理というより、新卒でそこまですると専門でない面接官には特別視される
技術畑の偉い人が別枠で内線で呼ばれて面接にやってくる
即効でメッキが剥がれて、見透かされた気分になる

--- そんな苦い思い出もあったw
279NAME IS NULL:2007/01/06(土) 17:24:48 ID:???
資格をもつ事が不毛ってワケでもないのだが、
実務の経験のない人間の資格なんか技術畑の人間からすれば
価値はまったくないので、そこそこにしとけ。

営業畑の人間からすると名刺を埋める文字が増えるので
資格というのはそこそこに価値があるんだが。

どっちかと言うと開発に必要なのは一般的には奴隷根性とか
無限の体力だろうから、体を鍛えておいた方がいいぞw
280NAME IS NULL:2007/01/06(土) 20:28:22 ID:???
あと会社で寝袋とかで眠れる逞しさ。
床の上で寝ると全身筋肉痛ですよ。むちゃくちゃ汚れるし。

うまくプロジェクトが進んでるうちは良いけど、うまく逝かないときは時間かけるしか無いし。
281NAME IS NULL:2007/01/06(土) 20:47:13 ID:???
体力だけは自身があるので、他の学生に遅れをとることは無いと思いますw
282NAME IS NULL:2007/01/06(土) 21:19:13 ID:???
ここで、レスしてるやつもあんま人を見る目ないというかもってないな。
実務経験のない人間の資格は確かに技術畑の人間からすれば、価値は全くないかもしれんが、
自発的に資格をとったということで、少なくとも努力できるという事の証明にはなる。
だから、プラスには働くだろう。
283NAME IS NULL:2007/01/06(土) 21:31:38 ID:???
なんつーか、技術職なんかは「努力」なんて事は出来て当たり前だな。

そして学生のペーパー資格程度で「プラスに働く」なんて判断できる
ほどおめでたい職種じゃない事は技術畑の人間なら身に染みてるんだが。
284NAME IS NULL:2007/01/06(土) 21:47:22 ID:???
>>282
効果を考えず無駄な金と努力、時間を使う典型

この手の人間はプロマネやらしたら根性論でデスマする
超バカマネっぷりで優秀な中堅主力プログラマを潰して
周りにも会社的にも迷惑かけるタイプ
285NAME IS NULL:2007/01/06(土) 22:02:38 ID:???
まあ、学生さんは早いうちに自分の将来を決める事をせずに、
開発なんてヤクザな業種を選択する前に色々と経験してから
開発なり営業なり事務なり運用なり選択していけばいいと思う。

つか、開発ってマジでお勧めしない職種だと思うんだが・・・。
286NAME IS NULL:2007/01/06(土) 22:28:15 ID:???
学生なら情処系でいいんでは?ベンダー系までは不要な気がするな。
287NAME IS NULL:2007/01/07(日) 00:05:37 ID:???
まぁ取りたいという人を無理に否定することはないのでは。
損にはならないだろうし。
288NAME IS NULL:2007/01/07(日) 11:09:44 ID:???
俺の言うと通り>>284が一番人目を見る目がないね。
289NAME IS NULL:2007/01/11(木) 18:24:52 ID:???
SQL Serverにはプロファイラがついていて、DBで実行されたクエリとか、その時間などを
追うことが出来るのですが、Oracle10ではこういった事は行えますか?
290NAME IS NULL:2007/01/11(木) 21:26:29 ID:???
はい。できますよ。
291NAME IS NULL:2007/01/12(金) 12:13:30 ID:???
>>290
Oracleより自分自身を一度プロファイルされたらいかかでしょうか??
危険水域のような気がします。
292NAME IS NULL:2007/01/12(金) 16:28:37 ID:???
>>291
番号間違える辺り、あなたも危険水域のような気がしますよ。
293NAME IS NULL:2007/01/12(金) 16:32:46 ID:???
>>292
そういうつっこみをするあなたも相当きてますよ。
294NAME IS NULL:2007/01/13(土) 08:24:07 ID:???
少なくとも努力できるって、技術を切り売りして飯食ってる技術職なら当たり前だしなあ。
努力でき無い香具師は、切り売りする技術が尽きて、オペレータとかで夜中に働いて時間給の仕事で飯食うしか無くなるだけ。
295NAME IS NULL:2007/01/13(土) 14:32:38 ID:???
>>291-294
>>288 みたいなバカが、また湧くからもうやめてくれ
296NAME IS NULL:2007/01/13(土) 23:28:52 ID:???
DBサーバのキャラクタセットがJA16EUCで、
クライアントがJIS2004のWindowsVistaのとき、
クライアントがVista以前のWindowsである場合と比べて
何か問題発生する?
297NAME IS NULL:2007/01/14(日) 10:33:22 ID:???
>>296
それはOiSCに訊いた方が良いと思われ
298NAME IS NULL:2007/01/14(日) 17:53:39 ID:???
>>295=>>288
乙。
299NAME IS NULL:2007/01/14(日) 23:13:14 ID:???
>>298 IN ( >>291-294) and >>298 = >>288
巣にカエレ
300NAME IS NULL:2007/01/15(月) 18:32:33 ID:???
>>299 ( >>291-294) and >>298 = >>288
巣にカエレ
301NAME IS NULL:2007/01/15(月) 19:46:40 ID:uGcaj6KT
だれか助けてください・・
HDDの容量チェックしてなくて
いつの間にかオラクルの領域の容量使い切ったようで
DBの起動が出来なくなりますた。。

容量減らそうにも、どのファイルを消せばよいのか分かりませぬ・・
管理者権限で入ろうにも

ORA-09817: Write to audit file failed.
Linux Error: 28: No space left on device
ORA-09945: Unable to initialize the audit trail file
Linux Error: 28: No space left on device

とエラーが出てログインできません。
こういう場合にはどうすれば良いのですか?
302NAME IS NULL:2007/01/15(月) 21:17:52 ID:???
とにかく、auditファイルのあるディスクのスペースを空けろw
initファイルのAUDIT_FILE_DESTパラメータで、どこに保存されているかわかるだろう。
303NAME IS NULL:2007/01/15(月) 21:19:34 ID:???
自分がけすのは$ORACLE_BASE/admin/dbname/配下のdumpファイルから消すな。
304NAME IS NULL:2007/01/15(月) 22:44:38 ID:???
>>299 に該当するバカは1件帰巣しました。
>>300 に該当する書き込みは選択されませんでした。
305301:2007/01/16(火) 00:29:44 ID:???
>>302-303
dクス!
おかげで帰れた.・・
本当に助かった。。

306NAME IS NULL:2007/01/16(火) 00:48:20 ID:???
教えて下さい。
いまさらですが8iはどうすれば入手出来るでしょうか?
Oracleのサイトからはダウンロード出来ませんよね?

307NAME IS NULL:2007/01/16(火) 02:28:28 ID:???
>>306

そういった質問はOracleに聞くしかあるまい?
しかし何でいまさら8iよ?
308306:2007/01/16(火) 13:51:32 ID:???
レスありがとうございます。
やはりOracleに問い合わせですかね....
客先でいまだに8iが動いてるんですが、それと同じ環境を用意する必要があるんですよー。
309NAME IS NULL:2007/01/16(火) 14:53:41 ID:???
>>299 に該当するバカは1件帰巣しました。
>>304 に該当する書き込みは選択されませんでした
310NAME IS NULL:2007/01/16(火) 16:02:41 ID:???
>>309=>>288
乙。
311NAME IS NULL:2007/01/16(火) 16:27:26 ID:???
>>309
コピペするのはお前の汚いソースの中だけにしろ
312NAME IS NULL:2007/01/16(火) 17:55:46 ID:???
313NAME IS NULL:2007/01/16(火) 19:51:31 ID:???
>>306
WindowsかLinux版なら古いOracle本の付録CDにあるかも。
他のプラットフォームについては、昔のOOW等のイベントで配布された
メディアを探すとか。
314306:2007/01/16(火) 19:52:07 ID:???
>>312
あ、本当だ。
情報ありがとうございます。
中古でも探そうかな....
315306:2007/01/16(火) 19:53:11 ID:???
>>313
レスありがとうございます。
本の付録は考えたんですが、私が発見出来たのは全てPersonal Editiionでした。
316NAME IS NULL:2007/01/16(火) 20:54:26 ID:???
>>310=>>288
乙。
317NAME IS NULL:2007/01/16(火) 20:55:15 ID:???
>>310
コピペするのはお前の汚いソースの中だけにしろ
318NAME IS NULL:2007/01/16(火) 22:29:42 ID:???
同じ環境なら、中古の同型機種買ってきて、dump/restoreで同一環境作るしか無いと思う。
一応10g買って、10g構成も提案してあげたら?
319NAME IS NULL:2007/01/16(火) 22:50:39 ID:???
>>288 = 自他共に認めるバカ
乙。
320NAME IS NULL:2007/01/16(火) 23:38:14 ID:???
>>315
客先のメディアを拝借できないの?
Oracle専用本でなくても、古いLinux雑誌や
DBプログラミング本に着いてる場合もある。
321306:2007/01/17(水) 01:16:13 ID:???
レスありがとうございます。

>>318
9iと10gは購入済みで、近未来に客先も10gに上げる予定です。
それまでの間は出来るだけ同様の環境を用意したいと考えてます。

>>320
拝借したいのですが「貸して」って言いにくいですよね....

とりあえず書籍や雑誌を漁ってみます。
皆様、御助言ありがとうございました。
322NAME IS NULL:2007/01/17(水) 03:37:28 ID:???
>>321

窓版の8i EEのインスコメディアなら多分家に帰ればありそう・・・。
323NAME IS NULL:2007/01/17(水) 19:49:01 ID:???
>>321
>拝借したいのですが「貸して」って言いにくいですよね....

自分が客の立場だったら貸すよ。もちろん、運用前には消してもらうけど。
同じ Oracleバージョン+パッチリリース、同じプラットフォームで開発するメリットは大きいから。
ユーザへ言ってみたら?
324NAME IS NULL:2007/01/18(木) 09:07:36 ID:???
ライセンス違反の可能性を指摘せずに借用を気軽にいうのは如何なものかと。
325NAME IS NULL:2007/01/18(木) 21:10:17 ID:???
それを言うのに、雑誌付録のソフトで開発することは何も言わないというのは
一貫性がない気がするが。
326NAME IS NULL:2007/01/18(木) 22:44:33 ID:???
代理店言って借りれば?
10gへの移行を前提としての貸出しならしてくれるだろ。
327NAME IS NULL:2007/01/19(金) 13:54:12 ID:???
>雑誌付録のソフトで開発することは何も言わないというのは一貫性がない気がするが。
別に雑誌付録のソフトで開発することに何も言ってないとは一言もここに書いてないが。

328NAME IS NULL:2007/01/19(金) 21:13:26 ID:???
>>324

10gのライセンス買ってんだから、違反にはならんでしょ。
ライセンスのダウングレードは保障されていたはず。
329NAME IS NULL:2007/01/19(金) 22:17:38 ID:???
変な業者には貸したくないなあ。
せいぜい開発環境作って提供するぐらい。つまり客先作業前提。
330NAME IS NULL:2007/01/20(土) 11:30:49 ID:csJ+CraU
Database Configuration Assistantを使ってデータベースを作成するときに、
グローバル・データベース名とSIDを指定するのですが、両者の違いがよくわかりません。
グローバル・データベースの下に、複数のインスタンスを作れるのでしょうか?

+グローバル・データベース1
  +SID_1
+SID_2
+SID_3

みたいに。
331NAME IS NULL:2007/01/20(土) 13:05:59 ID:???
>>330
> グローバル・データベース名とSIDを指定するのですが、両者の違いがよくわかりません。
グローバルデータベースはネットワーク上で一意なサービス、SIDはマシン内で一意な識別子

> グローバル・データベースの下に、複数のインスタンスを作れるのでしょうか?
= RAC
332NAME IS NULL:2007/01/24(水) 02:07:28 ID:???
質問ですがソフトパースが発生し動的サンプリングが動かないときって
あるのでしょうか?
ソフトパースが発生するということは共有SQLに対象SQLがない
ということはハードパース発生で動的サンプリングが動きそう
なきがするのですが。この認識で問題ないでしょうか?
333NAME IS NULL:2007/01/24(水) 08:15:09 ID:???
皆、fast_start_mttr_targetってどれくらいにしている?
今管理しているDBってトータルのサイズが1.2TB超えたんだが、
どれくらいに設定しようかと迷っている。
334NAME IS NULL:2007/01/24(水) 09:09:33 ID:???
>>332
> ソフトパースが発生・・・ということはハードパース発生で・・・
この時点から理解不能
335NAME IS NULL:2007/01/24(水) 14:38:27 ID:???
だなぁ。
どこのDBの言い回しなんだろ。
「動的サンプリング」が「トレース」みたいなもの?
「共有SQL」が「ライブラリキャッシュ」のことかな?
336NAME IS NULL:2007/01/24(水) 15:56:33 ID:???
共有SQLは共有SQL領域のことじゃねぇ??
337NAME IS NULL:2007/01/24(水) 16:43:16 ID:rfZgmRGG
へんな社内用語使ってる会社って言えばH?
338NAME IS NULL:2007/01/24(水) 17:20:40 ID:A7vL61Fv
ソフトバングにバースが入って、ハードゲイがタンパリング?
339NAME IS NULL:2007/01/25(木) 01:27:01 ID:???
どこの人なんだろうな。
汎用機方面?
340NAME IS NULL:2007/01/25(木) 01:45:56 ID:???
あぁ、ごめん。
すごく意味を間違えていたみたい。

> ソフトパースが発生・・・ということはハードパース発生で・・・

確かに意味不明だ。
ごめんよ。忘れてくれ
341NAME IS NULL:2007/01/25(木) 01:52:32 ID:???
>335

動的サンプリングは
>どこのDBの言い回しなんだろ。
といわれるほど特殊な言い回しなのか
すいません。

別名はダイナミックサンプリング?
共有SQLは共有プールSQL
これも社内独特の言い回しなのかな。
342NAME IS NULL:2007/01/25(木) 08:37:24 ID:???
> これも社内独特の言い回しなのかな。

どこの会社かは知らないが
もっと中身を理解して一般的な言葉で話してくれないと
宇宙語にしか聞こえないよ。

343NAME IS NULL:2007/01/25(木) 09:01:47 ID:???
>>341
せめてOracle語でヨロwww
344NAME IS NULL:2007/01/25(木) 09:28:35 ID:+UvU2D1r
社内とかいうなら、会社名か何処系の仕事がメインか みか、H、N、F・・・。をさらすべきだろ?
あと何をメインDBとしてやってるか。
正直、きいたことねー。
345NAME IS NULL:2007/01/25(木) 09:30:23 ID:???
>>332
の人気に嫉妬だが少々脊髄反射ぎみでないかい。要はCBTの話だろ?
公式の日本語訳はしらないけどdynamic samplingやら
soft, hard parse の単語は普通に出てくるぞ。
共有SQLは>>335のいうとりライブラリキャッシュのことだろうな。

で質問の件だがこんな感じだと思う。
ライブラリキャッシュにSQLがある(soft parse) キャッシュされたプランはそのまま使用される。
ない(hard parse) 
   静的な統計情報があればそれが使われる。(オプションで調整可能)
   なければ動的に収集(dynamic sampling)

346NAME IS NULL:2007/01/25(木) 09:32:48 ID:???
>>345
ちょいミス
×CBT  ○CBO コストベースオプティマイザ
347NAME IS NULL:2007/01/25(木) 09:43:04 ID:???
>>345
うーん、おれのエスパー日本語解析によると違う答えになるな
動的サンプリングの統計情報は共有プールにキャッシュされる・・・以下略

つーか、質問する前に「動的サンプリング」とかでググルないか?
3番目くらいにそのまんま出てくるんだが・・・

動的サンプリングはパフォチューマニュアルにちゃんと出てくる用語だよ
348NAME IS NULL:2007/01/25(木) 18:48:21 ID:???
SQL投入→Parser→(ライブラリキャッシュなし)ソフトパース
            →(ライブラリキャッシュあり)ハードパース
という流れの中のものを

332の時点ではソフトパースという物を
Parserで共有プールにSQL情報がないときに起こる処理
と勘違いしていたため

SQL投入→Parser→(ライブラリキャッシュなし)ソフトパース→ハードパース
            →SQL情報が存在するためキャッシュを利用

というような流れと勝手に判断していた。
ハードパース時に動的サンプリングは行われるはずなのに・・
で332のような発言になってしまった。
質問が自分の認識間違いから起きた物だから忘れてくれ、正直すまんかった。

>345、347
背景はそんな感じです。あの宇宙語からそこまで読み取ってくれたのは乙です。
349NAME IS NULL:2007/01/26(金) 00:55:35 ID:???
オマイラ的にJPAってどうなん?
350NAME IS NULL:2007/01/26(金) 23:37:47 ID:???

オマイラ的に11gってどうなん?
351NAME IS NULL:2007/01/28(日) 09:57:48 ID:???
すいません質問です。

9iで一時表領域TEMPの拡張したいです。
最初に確保したのが1000Mなんですが
MINEXTENTSが1でMAXEXTENTSが指定されておらず実質1Mしか使えてません。
ALTERでMAXEXTENTSを設定したいのですがどうもうまくいきません。
どうしたら良いでしょうか?
よろしくお願いします。
352NAME IS NULL:2007/01/28(日) 11:38:08 ID:0/NH0qqR
>>351
うまくいかないなら、うまくいかなかったDDLくらい晒せよ。
353351:2007/01/28(日) 12:33:55 ID:???
すいません

alter tablespace TEMP
storage(INITIAL 1M NEXT 1M MINEXTENTS 1 MAXEXTENTS 121 PICTINCREASE 50
)

だと駄目でした。
354NAME IS NULL:2007/01/28(日) 22:53:31 ID:???
TEMPORARYなら一回消しても大丈夫だべ
355351:2007/01/28(日) 23:54:33 ID:???
ってことは消して再作成が一番スマートってことですね?
ありがとうございます。
356NAME IS NULL:2007/01/29(月) 01:20:52 ID:???
>>351

1MBしか使っていないってどうやって判断したの?
Sort処理やHash処理とかが行われていなければ、当然Temp領域か゛
使われる事はないし、インスタンス起動直後はTemp領域が解放されて
いるから、見た目にはエクステントが一個しか使われていないように
見えたりするけど?
もしそれで騒いでいるとしたらかなり痛いよ?
357NAME IS NULL:2007/01/29(月) 01:24:43 ID:???
1000MB指定って、メモリは4GBとかフル増設してるの前提だよな?
256MBとかしか積んでなくて出来ないとかほざいてたりして。orz
358NAME IS NULL:2007/01/29(月) 02:01:03 ID:???
>>353
ALTER TABLESPACE文はローカル管理の一時表領域に使用できません。
で検索しる
359NAME IS NULL:2007/01/29(月) 23:48:51 ID:Rr7+0KD9
データベースリンクごしにストアドプロシージャ呼べる?
360NAME IS NULL:2007/01/30(火) 00:21:46 ID:???
>>359
361NAME IS NULL:2007/01/30(火) 01:57:57 ID:70KAxeF4
>>360

ARI
362351:2007/02/01(木) 00:34:24 ID:???
>>358
ありがとうございます。
そこに乗ってるDDLで解決できました。
>>353のDDLではデフォルトの1Mでしか出来ないようでした。
363NAME IS NULL:2007/02/10(土) 00:00:24 ID:???
10.2.0.2 の DVD-ROM って作られないのかなぁ。
10.2.0.1 から Patch あてんの辛すぎ。。。
364NAME IS NULL:2007/02/10(土) 00:55:10 ID:???
いまは 10.2.0.3 じゃないのかな。
365NAME IS NULL:2007/02/10(土) 01:24:49 ID:???
10.2.0.3 がもう出てるのか。orz
366NAME IS NULL:2007/02/10(土) 04:47:17 ID:???
>>363
パッチあてるような現場に行ったこと無いけど
そんな辛いもんなの?
367NAME IS NULL:2007/02/11(日) 00:16:10 ID:???
何か当てなきゃ困るパッチあったっけ?
問題なければ弄らないが、安定運用の基本だしなあ。
ファイヤウォール噛ませて防御しとけばセキュリティの類いはそう問題にならないし、もし侵入されても個人情報とかは漏れないように分離したシステム構成にして、何十にも危機管理の対策済み。
368NAME IS NULL:2007/02/11(日) 11:50:24 ID:???
CPUとPSRを混同してるみたいだね。修行不足だな。
369NAME IS NULL:2007/02/11(日) 12:40:43 ID:???
修行とか言うと新興宗教臭い。
オラ教信者の巣窟ですか?
370NAME IS NULL:2007/02/11(日) 13:27:53 ID:???
修行するぞ〜修行するぞ〜
371NAME IS NULL:2007/02/12(月) 15:04:10 ID:???
尊師の御名を教えてください。
372NAME IS NULL:2007/02/12(月) 15:59:17 ID:???
>>371
Donald K. Burleson
373NAME IS NULL:2007/02/17(土) 02:18:06 ID:Q2XtoUUD
oracle 9i archivelogモードでrmanのバックをアップを試してみています。
インスタンスがオープンした状態で
rman > backup database format 'C:/backup/full1';
としてバックアップは作成されました。
これをもどそうと
rman> shutdown immediate
rman> startup nomount
rman> restore controlfile from 'C:/backup/full1';
とここまでうまくいきました。
しかし、
rman> alter database mount;
rman> restore database from 'C:/backup/full1';
RMAN-03002: failure of restore command at 02/17/2007 02:13:41
RMAN-06509: only SPFILE or controlfile can be restored from autobackup
で、データファイルが戻りません。
カタログというのは作っていないのですが、データはもう戻せないのでしょうか?
374373:2007/02/17(土) 03:23:26 ID:Q2XtoUUD
先に制御ファイルを潰しているからバックアップ情報が消えてるというのは分かりました。
restore controlfile...をせずに、
restore database;
でリストアはできました。

カタログなしで制御ファイルを潰した場合はRMANではリストアできない?
oracleのdbms_backup_restore.RestoreDatafileToパッケージで
データファイルを個別に取り出して手動での復元はできたのですが、
RMANから簡単戻す方法ってあるでしょうか?
375NAME IS NULL:2007/02/17(土) 04:12:37 ID:???
どういう単位でリストアしたいの?
ってか、それがはっきりしてるなら、それに対応するrestoreを発行すれば。
376NAME IS NULL :2007/02/17(土) 07:23:10 ID:???
>>374

確かにControl Fileを上書きした場合にはそうなるかもね。
そのために通常はバックアップセットにコントロールファイルのバックアップを
含めると思ったが?
というよりも、コントロールファイルをリストアする状況なんてミラー化してさえ
いればほとんど無いと思うが?

そもそも現行のRedoログファイル、現行のコントロールファイルが残っている
のならば完全回復目指すのが普通だしさ?
377NAME IS NULL:2007/02/17(土) 07:49:43 ID:???
>>374
取り敢えず、
configure controlfile autobackup on;
で制御ファイルのオートバックアップを
取得しておく事をお勧めする。
378373:2007/02/17(土) 21:32:53 ID:Q2XtoUUD
>>375
backup databaseとしました。
コントロールファイル、データファイル、
SPFILEがとられているみたいです。
>>376 >>377
わかりました。
が、仮に
元の制御ファイルが無い場合は、RMANが作ったバックアップファイルから
RMANだけでは復旧できないと思っていいのでしょうか?
379NAME IS NULL:2007/02/18(日) 01:01:41 ID:???
>>378

RMANが取ったControl Fileのバックアップを利用して
recover database using backup control file until cancel;で
最後はopen resetlogsでDBをopenする事になる。
380NAME IS NULL:2007/02/18(日) 09:37:33 ID:???
サーバがあって、ローカルセグメントのクライアントAと
ADSL・IPSec越しのクライアントBがあります。
Aは無通信で放置しててもなんともないですが、
Bは無通信で10分ほどたつと接続が切れるそうです。
サーバからセッションが消えているそうですが、
クライアントがそれを知らなくてエラーになるとか。
BがINS越しだったころはAと同様だったそうです。
こんなことってあるんですかね?
相談されたんですが想像もつきません。
381NAME IS NULL:2007/02/18(日) 09:59:40 ID:???
>>380

IPSecの設定じゃないのかな。
382NAME IS NULL:2007/02/18(日) 11:37:07 ID:???
ちゃんとルーティング設定せずにNATで誤摩化してる悪寒。
まあちゃんとネットワーク分かる業者に頼むなり、自分で勉強してなんとか汁!

AからBにネットで繋がらないでしょ?
383NAME IS NULL:2007/02/18(日) 11:50:49 ID:???
>>381
回線かIPSecとは言ってみましたけど、確信はないんですよね・・・
機器変えてテストしないとだめでしょうかね。

>>382
Bからサーバは、放置中もずっとpingが通ったそうです。
他は聞いてみないとわからなそうですけど、
図を見る限りは3台の間で相互に通るはず・・・
384NAME IS NULL:2007/02/18(日) 14:15:17 ID:???
アイドル状態のTCPコネクションを切断するやつが経路の途中にいると思われ。
ファイアウォールとか。

385NAME IS NULL:2007/02/18(日) 14:25:51 ID:???
>Bからサーバは、放置中もずっとpingが通ったそうです。
そりゃpingは永続的なセッションではないからな。
たとえば、sqlplusじゃなくて、telnetでBからサーバに接続放置してみ。
おそらく同じように切れるはずだから。
であれば、Oracleは全く関係なしで、ネットワーク設定の問題。
FWやNATをしているルータ、VPNソフト/装置、ADSLモデムなどなど。
途中のネットワークの設定変更が不可能な場合は、OSのパラメータ(TCPキープアライブ時間)を調整するしかないけど。
OracleNetのパラメータで調整できるかどうかは不明(マニュアルレベルではOSのマニュアルを参照しろと書いてあるだけ。
386NAME IS NULL:2007/02/18(日) 14:30:19 ID:???
TCP keepaliveのアイドル・タイムアウトはOS側のパラメータで調整よ。
Oracleの場合はOracleサーバー側のアイドル・タイムアウトを短くしておけば桶。
387386:2007/02/18(日) 14:31:53 ID:???
アイドル・タイムアウトっていうか、keepaliveプローブを出すまで待つ時間ね。デフォルト7200秒待ち。
388NAME IS NULL:2007/02/19(月) 15:33:53 ID:???
まあネットワークスキル低いってことだけは分かった。
手に負えないなら誰かに頼むか自分でなんとかするしかないと思う。

エスパでも無ければ変態ネットの原因なんて分かるはずが無い。
389NAME IS NULL:2007/02/19(月) 16:00:09 ID:???
サーバ側:EXPIRE_TIME
クライアント側:ENABLE=BROKEN、OSパラメータ

どっちかでNW機器の設定値より短い時間に設定汁。
390NAME IS NULL:2007/02/20(火) 01:55:13 ID:???
あんまり独自設定は辞めたほうが良いと思う。
他の人使ってないから変なバグに嵌る可能性高くなるし、バージョンアップの際に忘れて嵌まる原因に成る。

基本に忠実に、ネットをまずまともにしたほうが良い。
ネットがおかしいよね?
391NAME IS NULL:2007/02/20(火) 02:50:40 ID:???
ネットが「おかしい」んじゃなくて、機器が設定されてる通りに動いてるだけ。
ADSLルータあたりが気を利かしてアイドルTCPコネクションを切断するようになってると思われ。
ファイアウォール機器なんかでよくデフォルトで有効になってることがある。
その対策を独自設定と呼ぶのは修行不足。
392380:2007/02/20(火) 22:17:01 ID:???
384さん他が正解でした。

新しいルータがファイアウォール有効になってて、
そのときにTCPセッションを10分で切るようになってるみたいです。
そして、ファイアウォールを切らない限りこの機能は止められず、
時間も変更できない。

そういうわけでお騒がせしました。
さて、このルータをどうしてくれようか・・・
393NAME IS NULL:2007/02/21(水) 02:38:25 ID:???
捨てるしか無いでしょ。トラブルの元凶なんだし。
そのままで利用者は文句言わないの?

ネットが原因なのに、OSやオラクルやアプリケーション側で回避するのは辞めとけって話でしょ。
設定した香具師が資料も残さず辞めてしまって、後の香具師が苦労するのはよくあるパターン。
394NAME IS NULL :2007/02/21(水) 05:56:32 ID:???
>>392

取りあえず喰ってまえ。
395NAME IS NULL:2007/02/21(水) 11:04:32 ID:???
ファイアウォールはコネクション管理テーブルがあふれないようにアイドルコネクション
を切断するようになってる。
遅かれ早かれ切断される。ADSLルータを変えたところで解決にならん。

だからkeepaliveを出して、ファイアウォールにそのコネクションを使ってることを
教えてやる必要がある。


396NAME IS NULL:2007/02/21(水) 22:49:52 ID:???
>>395
コネクション管理テーブルはどれくらいまであふれないもんだろうか?
というか、あふれる気配ないのに切るもんなんだろうか?
もっと高いルータなら設定できたのか?
今回のは、テーブル数不明、タイムアウトが10分で固定、
機能が切れないあたりが地雷っぽい。

とりあえず今回に関しては構造上ファイアウォール切ってもよさそう。

ところで、keepaliveがサーバのパラメータって事は、
ファイアウォールの都合でkeepalive送るクライアントと、
従量制のINSでkeepalive送らないクライアントが混ざった場合に
どうするべきか気になる。
397NAME IS NULL:2007/02/21(水) 23:00:33 ID:???
なんでいきなりISDNの話が出てくるんだよw
どっちにしても、クライアント側でkeepaliveをすることもできるし。
398NAME IS NULL:2007/02/21(水) 23:27:13 ID:???
>394
別部品を食って改良して右手から出すのか?
……スマン、多分分からん椰子の方が多そうなネタでorz
399NAME IS NULL:2007/02/22(木) 04:02:51 ID:???
>>398

EATMAN分かる奴がこの刷れにいると思ったのか?
400NAME IS NULL:2007/02/23(金) 11:33:21 ID:???
素直にネット再構築汁!
普通は変な設定しなくても繋がるようにネットを作る。
401NAME IS NULL:2007/02/23(金) 15:00:49 ID:???
既にスレ違いの話題。
402NAME IS NULL:2007/02/27(火) 07:56:45 ID:???
ARC0: Media recovery disabled
アラートログにがずっと出続けます。(1分起きくらいに)

パラメータ設定が悪いんでしょうか?
403NAME IS NULL:2007/02/27(火) 11:02:22 ID:???
Media recovery disabledだからじゃないの?
ググるなり駅前留学すれば?
404NAME IS NULL:2007/02/27(火) 11:30:51 ID:???
>>402

DBがNo Archivelog Modeなのにinit.oraの中で「log_archive_start = true」が
設定されているからだろ。
405NAME IS NULL:2007/02/27(火) 23:51:54 ID:???
>>408
はは。バカだ。
406NAME IS NULL:2007/02/28(水) 00:27:00 ID:???
Cシェル、Oracle10gで
exp 〜 query\"where column_name in\( select col from tableB \) \"
みたくqueryパラメータで副照会できないようなんで
exp 〜 query\"where column_name in\( $COLUMN_NAMES \) \"
なんて具合に変数を埋め込みたい。
シェル変数が展開されてからexportに渡されるようにする方法ないかな?

407NAME IS NULL:2007/02/28(水) 01:20:11 ID:DcE1xTBj
>>405
408に期待.
408NAME IS NULL:2007/02/28(水) 01:20:25 ID:???
Cシェル得意じゃないけど、
query="where column_name in( $COLUMN_NAMES ) "

これでいいんじゃない?

余談だけど、公式マニュアルのデータベース・ユーティリティのexpの項目を書いた人も、
いまいちUnixのシェルをわかってないような気がする。
文字列全体を渡すために、特殊な文字を一個一個エスケープしてるし。
見づらいだけでなく、変な間違いを起こしやすい書き方だ。
409NAME IS NULL:2007/02/28(水) 03:24:43 ID:???
そもそもシェルスクリプトで遣るのが間違いでしょ。
文字列に日本語とか空白や記号使うアフォとか排除できれば、エスケープ無しでも良いけどね。
アフォのクレーム付ける論理は異常。
410NAME IS NULL:2007/03/01(木) 23:24:19 ID:???
いつの間にかロールバックセグメントやテンポラリ領域が肥大化しています…
どのSQLが犯人か突き止める方法ありますでしょうか?

バージョンは8174eeです。
411NAME IS NULL:2007/03/01(木) 23:27:55 ID:???
http://www.oracle.com/corporate/press/2007_mar/hyperion.html
ハイペリオンを買ったそうだ。
412NAME IS NULL :2007/03/01(木) 23:28:25 ID:???
>>410

STATSPACK取ってみれば?
413NAME IS NULL:2007/03/04(日) 01:54:45 ID:???
質問ですがひとつのサーバでインスタンスを
10個も20個も起動させるシステムってよくあるものですか?
414NAME IS NULL:2007/03/04(日) 01:56:20 ID:???
ない。
リソースの使用効率が異常に悪くなる。
415NAME IS NULL:2007/03/04(日) 06:35:00 ID:0GOkC2xg
>>413
本番環境ではまず無い。
テスト環境では複数起動させる場合もあるがさすがに2桁はいかない。
416NAME IS NULL:2007/03/04(日) 09:20:17 ID:???
>>413
無い。
開発環境でも普通はスキーマ分ける程度だろ。

俺なら1サーバに2つ以上のインスタンス立ち上げるくらいなら、
複数サーバ用意する。
417NAME IS NULL:2007/03/04(日) 09:38:42 ID:???
>414-416
回答どうもです。
やっぱりシステム的に問題ありですか。
418NAME IS NULL:2007/03/04(日) 10:03:16 ID:???
>>417
例えば教育ならあり得ると思う。渋谷の研修センターのUNIXでは10数インスタンスを
同時に稼働させている事例もある。
逆に聞くが、お前は なぜそうしたいのか?
419NAME IS NULL:2007/03/04(日) 11:29:03 ID:???
>418
自分は先週案件を見て、これはシステム
として無理だとおもって変更してもらおうかな・・。
と思ってる。
今まで関わってた業務では基本的には単一のインスタンスで
複数インスタンスはRACのみだったから
他のシステムって普通に複数インスタンスで動かしてるものなのか?
と思って聞いてみた
420NAME IS NULL:2007/03/04(日) 12:04:11 ID:???
複数のインスタンス使うのはシステム的には問題ないだろうけど、
単に気分とかの問題だろうな。

さすがに2桁はナニか違うだろ、とは思うし、
普通はスキーマ分けるだけで対応できると思うが。
421NAME IS NULL:2007/03/04(日) 13:49:16 ID:???
個々にDBを起動/停止したいという要求はときどきあるからな。
こういった場合、Oracleではインスタンスを分けるしかない。
インスタンスを分ければ、その分プロセス数も増えてメモリを余計に食うし、SGAの分配とかも気にしなくちゃいけない。
あるインスタンスでSGAが足りなくなっているのに別のインスタンスではSGAが有り余っている、というようなことが常に起きるしね。
この辺は、Oracleに改善して欲しいな。
422NAME IS NULL:2007/03/04(日) 14:04:11 ID:???
>>420
>スキーマ分けるだけで対応できると思うが。
この辺は皆さんがおっしゃるとおりスキーマなり
カラムに識別子追加なりで対応できると思われます。

>>421
>インスタンスを分ければ、その分プロセス数も増えてメモリを余計に食うし
これがあるのでOracleの最低動作レベルのサーバで
複数インスタンスを持たせようと思ったのが恐ろしい

ここの住人は親切だな。ありがと。
自分の考えが間違ってなさそうなので直接聞くことにするよ
423NAME IS NULL:2007/03/04(日) 15:22:59 ID:???
VPARやらLPARなんかの仮想化技術を使えば、物理的には一つのサーバー
上でも、仮想サーバー単位にO/SをインストールしてDBを起動させる事例
ならいくらでもある。
最近のハイエンドサーバーなら仮想化技術には間違いなく対応しているし、
一個のサーバーで128個のCPUとかもっているのもあるから、各パーティション
毎に10〜12個のCPU割り振って、10個+のパーティション作れば、別に10の
インスタンスを起動したとしも問題はない。
本番環境ではないが、HPのSuperDome上に16個のVPAR作って、RAC化して
遊んだりとかしたよ。
それほどCPUバウンドのシステムでないのなら、そういったサーバーの使い方も
あるというのも覚えておくといいかもね。
424NAME IS NULL:2007/03/04(日) 15:35:23 ID:???
>>423
しかし、Oracleの場合はSGA_MAXが静的なのと1インスタンス=1DBなんで、いまいち論理分割の恩恵を受けにくい。
物理分割はリソースの動的配分が出来ないし。
425NAME IS NULL:2007/03/04(日) 16:09:56 ID:???
そういうのはDB2の方が得意ではあるな。
426NAME IS NULL:2007/03/04(日) 17:07:42 ID:???
ライセンスにも依るだろうね。極端な例だが、ハイエンドサーバーは 1CPUライセンスで
複数インスタンスを動かせるのだろうか?
427NAME IS NULL:2007/03/04(日) 18:11:25 ID:???
複数はいいよ、確か。
428NAME IS NULL:2007/03/04(日) 18:42:18 ID:???
>>426

それは大丈夫だよ。

文字コードが違うDBを作りたい場合はスキーマを分けても対応できないので、
仕方なくインスタンスを分けるしかない。

ただ、RAC環境では複数のDBは基本的にお勧めしないとサポートに言われて
とても困ったことがあった。
429NAME IS NULL:2007/03/05(月) 06:59:42 ID:???
Date型項目の引き算を、秒レベルで実行する方法はないでしょうか。
2007/2/27 10:00:00 - 2007/2/27 09:59:55 = 5
というロジックをつくりたいのです。
やり方をご存知の方、お願いいたします。
430NAME IS NULL:2007/03/05(月) 07:34:23 ID:???
>>451

論理分割してRAC化という方法もあるよ。
物理的には一つのサーバーだから、サイトレベル障害には耐えらないけど、
ただしくハードウェアパスを分ければ、ハードウェア障害やO/S障害などに
よるフェイルオーバーには十分対応出来る。
昨今では自社内でデータセンターを持っていない所もあるから、業務を委託
していたりする場合には、物理スペースを小さくして維持費を下げたりなんて
細かい所をやっている所もある。
それと複数の開発環境が欲しい場合には、論理分割は非常に便利だよ。
431NAME IS NULL:2007/03/05(月) 08:13:04 ID:???
>>429
86400倍。
432NAME IS NULL:2007/03/05(月) 08:14:23 ID:???
>>429
months_betweenで2つの日付間の月数求めてから、
秒数に変換したら良いんじゃね?
433NAME IS NULL:2007/03/09(金) 10:56:32 ID:???
複数NICで運用する場合でも、
リスナー1つで大丈夫だっけか?

リスナーの負荷分散とか考えたら、
2つ立ち上げた方が良さ気?
434433:2007/03/09(金) 11:11:46 ID:???
マニュアルに書いてあったな。
スレ汚しスマソ
435NAME IS NULL:2007/03/09(金) 12:08:40 ID:IbiyF+a6
32ビットの場合、Oracle載せたLinuxマシンって最大メモリはどのくらいまで有効に使えますか?
Windows 2003だとせいぜい4GB?
436NAME IS NULL:2007/03/09(金) 22:58:29 ID:???
2^32=4GB
437NAME IS NULL:2007/03/10(土) 00:13:30 ID:???
>>435

32bit Linux だと SGA は 1.7GB くらいということらしい。

438NAME IS NULL:2007/03/10(土) 07:52:03 ID:???
しょぼいな。
439NAME IS NULL:2007/03/10(土) 23:14:07 ID:???
>>438
2GBのSGAをフルに使ってまだ足りないような規模のDBなら
最初から64bit OS上で64bit版Oracle使うだろwww
440NAME IS NULL:2007/03/14(水) 06:08:59 ID:???
64ビット買えない貧乏案件って場合も有るだろうな。
32ビットマシンしか用意できないとかさ。
441NAME IS NULL:2007/03/14(水) 10:20:51 ID:???
つかOracle使う時点で貧乏人案件お断りだと思うが。
442NAME IS NULL:2007/03/14(水) 11:45:14 ID:???
>>441
同意www
ボラクルだしなwww
443NAME IS NULL:2007/03/14(水) 20:22:37 ID:???
貧乏人こそ見栄っ張りで、オラクルなのにウィンドウズやリナックスでコストダウンを求められる。
ちゃんとユニックス機買うところはごく一部。
444NAME IS NULL:2007/03/14(水) 23:23:36 ID:???
UNIXでもOpteron機はいやだったな・・・。
今ではいい思い出だけど
445NAME IS NULL:2007/03/15(木) 00:01:52 ID:???
別にOSで10万ぐらい違ったところでハードで数百万するんだからいっしょだろ
446NAME IS NULL:2007/03/15(木) 13:09:02 ID:???
>443
LinuxでもRHELくらいならいいと思うけど。
HP-UXとどっちがマシか?って聞かれると微妙なモノがあるし。
447NAME IS NULL:2007/03/15(木) 13:28:18 ID:???
>>437
これって、Linuxがしょぼいってことだよな?
Windowsなら3GBくらい使えるんじゃない?
448NAME IS NULL:2007/03/15(木) 13:43:15 ID:???
あんまWindowsくわしくないけど、変わらんと思う。
WindowsServer 64bitだと知らんが。
449NAME IS NULL:2007/03/15(木) 13:43:23 ID:???
>>447
シェアードメモリで使える空間が1.7Gで
ユーザーが使えるアドレス空間は2〜3Gくらいあるのとちゃうの?
WindowsだとOracleのバックグランドプロセスがスレッドで実装されているから、
全バックグランドプロセス+シェアードメモリが2〜3Gに納まっていなけりゃいかんので
メモリのピークはunix系より早く来ると聞いたことがある。
450NAME IS NULL:2007/03/15(木) 14:22:41 ID:???
まあ、どっちでもいいや。
これから使うことも無いだろうし。
451NAME IS NULL:2007/03/16(金) 13:02:54 ID:???
まあ、ウィンドウズやリナックス使ってる香具師は負け。
452NAME IS NULL:2007/03/16(金) 13:04:27 ID:???
なんていってたら、SQLServerに食われるだけだけどね。
453NAME IS NULL:2007/03/16(金) 14:37:27 ID:???
>>452
SQL Serverは微妙に使いにくいwww
454NAME IS NULL :2007/03/17(土) 01:21:44 ID:b8i9VR5l
>>449
あれ?VLMは考慮しない上でのお話?
455NAME IS NULL:2007/03/17(土) 01:41:00 ID:???
いまどきLinuxもWindowsもx64がフツーに動くのに、なぜに32bitで使いたいの?
456NAME IS NULL :2007/03/17(土) 10:09:20 ID:b8i9VR5l
>>455
H/Wを総入れ替えできないからだろ?
新規構築なら64ダロ
457NAME IS NULL:2007/03/21(水) 17:46:05 ID:OhTggdhX
OracleクライアントとOracleサーバ間の物理接続と言われているものの数の
確認方法ってどんな方法がありますか?
(v$sessionビューのレコード数でOK?)

Version は、クライアント/サーバ共に 10.1.0.2.0 です
458NAME IS NULL:2007/03/21(水) 18:21:05 ID:???
物理接続って言ったら、EthernetとかX25とかのことを言うぞ、普通は。
459NAME IS NULL:2007/03/21(水) 21:06:20 ID:???
すみません。ここの説明で上がっている物理接続の意味で使いました。
この接続の数を確認できる方法が知りたいです。

http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/java.102/B19275-02/ociconpl.htm
460NAME IS NULL:2007/03/22(木) 07:53:08 ID:???
>>459
そのドキュメント中に
int getPoolSize()
ってのがあるだろうが。
461NAME IS NULL:2007/03/23(金) 10:06:59 ID:???
oracleで100Kb程の文字データを登録して、selectで検索したいのですが、
LONGやCLOBはwhere句に指定できないとエラーが出ます。
LONGやCLOBの項目を、select文で検索することはできないでしょうか?
462NAME IS NULL:2007/03/23(金) 10:15:58 ID:???
自作関数の結果でインデックスを作りたいのですが、
CREATE INDEX IDX_SEARCH_TARGET ON XXX_TBL( XXX_FUNC(ITEM_1, ITEM_2) ) を実行すると

SQL実行中に以下のエラーが発生しました。
エラーコード:30553 [Oracle][ODBC][Ora]ORA-30553: 関数がDETERMINISTICではありません。

としかられます。
DETERMINISTICで調べたのですが、対応法がよくわかりません。
ご教授お願いします。
463NAME IS NULL:2007/03/23(金) 10:17:36 ID:???
464NAME IS NULL:2007/03/23(金) 13:10:46 ID:???
ファンクション索引は、引数だけで戻り値が一意に定まるファンクションでないといけない。
この性質がDETERMINISTIC。
XXX_FUNCの中で別のテーブルデータを取ってきたりするとこの条件にあてはまらない。

DETERMINISTIC句はSQLリファレンスのCREATE FUNCTIONを見る!
あとPL/SQLユーザーズガイドもね。
465NAME IS NULL:2007/03/23(金) 16:21:25 ID:???
可変長引数の関数って作れますか?
466NAME IS NULL:2007/03/23(金) 16:22:29 ID:???
>>464
ありがとうございます。
調べてみます。
467NAME IS NULL:2007/03/23(金) 23:02:20 ID:???
>>465
PL/SQL?
468NAME IS NULL:2007/03/26(月) 13:19:14 ID:???
>>467
すみません。ストアードファンクションです。
Oracle9iです。
469NAME IS NULL:2007/03/26(月) 21:26:49 ID:???
>>468
自分が知ってる範囲では見つからないなぁ。
強いて言えば、配列 (PL/SQL表) に値を入れて、それを引数で指定することで
可変長の引数を実現できると思う。
Oracle9i PL/SQL パッケージ・プロシージャおよびタイプ・リファレンス リリース2(9.2)
の「DBMS_DESCRIBE」プロシージャが参考になるかもしれん。
あとはOTN-Jのフォーラムで聞くのも良いと思う。ここより見てる人は多い気がする。
470NAME IS NULL:2007/03/26(月) 23:53:30 ID:???
デフォルトnullとかオーバーロードじゃダメなの?
471NAME IS NULL:2007/03/28(水) 08:35:07 ID:???
>>468
Javaストアドで書いたら?
472NAME IS NULL:2007/03/29(木) 13:50:38 ID:???
tableA
id
itemA

tableB
id
itemB

select A.id, itemA, itemB from tableA A left outer join tableB on A.id = B.id

上記のクエリをXX_VIEWにして

select * from xx_view where itemB is not null
とすると、nullのデータが出てきます。(これは、tableAに紐づかなかったデータ)

XX_VIEWの結果に対し、itemB is not nullが評価されると思ったのですが、違うようです。
この結果は仕様なのでしょうか?
473NAME IS NULL:2007/03/29(木) 20:04:52 ID:???
NULLを弾いてから外部結合、てことなのか。何か納得いかないが。
select A.id, itemA, itemB from tableA A left outer join tableB on A.id = B.idをインラインビューとしてやると正しく取れる?
474NAME IS NULL:2007/03/30(金) 10:43:01 ID:???
>>473
結果は変わらないです。
遅れて申し訳ないですが、oracle9iです。
475NAME IS NULL:2007/03/31(土) 15:47:18 ID:???
10g XEでやってみたけど、ちゃんとNULLの行はじいてくれたよ。

ちなみに、こっちの構文ではどう?
select A.id, itemA, itemB from tableA A, tableB B where A.id = B.id(+)
476名無しさん@Linuxザウルス:2007/04/02(月) 19:25:47 ID:???
DB:Oracle 10i XE
OS:日本語WindowsXP SP2

SPFILEXE.ORAをいじって
*.NLS_DATE_FORMAT='YYYY/MM/DD HH24:MI:SS'
*.NLS_TIMESTAMP_FORMAT='YYYY/MM/DD HH24:MI:SS'
て設定して再起動して思った通りに設定されたことを確認しました。
が、シカトこかれてデフォルトの書式はRR-MM-DDのままでした。

いろいろ調べたところ、どうやら
レジストリのNLS_LANGがJAPANESE_JAPAN.JA16SJISTILDEてのが
超巨大なお世話の犯人くさいですが、
こりをどう設定すれば上記の書式がデフォルトになるのでしょうか?
ちなみにシステム環境変数にはNLS_LANGはなかったです
477名無しさん@Linuxザウルス:2007/04/02(月) 19:28:38 ID:???
そまそ
Oracle 10g XEですた
478NAME IS NULL :2007/04/02(月) 22:56:10 ID:???
>>477

REGEDIT開いてHKEY_LOCAL_MACHINE=> SOFTWARE => ORACLE => HOME<番号>
新規値でNLS_DATE_FORMATを追加。
値としてYYYY/MM/DD HH24:MI:SS。
479NAME IS NULL:2007/04/03(火) 09:05:56 ID:???
そんな日本人しか使わないような糞設定しないほうが良いと思うが。
アプリケーション鯖側で任意のフォーマットに変換して使えば?
480NAME IS NULL:2007/04/03(火) 09:44:29 ID:???
俺もSQLで目的の書式に変換する方がよいと思う。
481476:2007/04/03(火) 19:54:14 ID:???
ありがとうございますた

>>479-480
ハゲ同なんだが
アプリ担当がどっか行っちゃったんで
いま逆コンパイルしてソース作ってるとこ

Javaでまだよかった、わはは
482NAME IS NULL:2007/04/03(火) 21:49:52 ID:???
セッションの開始時に、 ALTER SESSION SET NLS_DATE_FORMAT='YYYY…' を
発行する手もあるよ。
483NAME IS NULL:2007/04/04(水) 00:35:01 ID:???
SQLで変換はDB側に負担がかかるから遣らせたくないな。
まあ用途や規模にもよるだろうけど、DB側とアプリ側のどちらで処理したほうがパフォーマンスでるのだろう。
484NAME IS NULL:2007/04/04(水) 08:40:36 ID:???
>>483
TO_CHAR関数はそんなに負荷かかるものか?
485NAME IS NULL:2007/04/04(水) 21:58:48 ID:???
>>483
TO_CHARした結果、結合でインデックスが使われなくなるのであれば別だがSQLのほうが早い。
486NAME IS NULL:2007/04/04(水) 22:15:14 ID:???
>>483
Javaでアレコレ文字列加工するよりもSQLでやった方がほとんどの場合速い
487NAME IS NULL:2007/04/04(水) 23:03:30 ID:???
速いかどうかより負荷が重要。
一人でDB使ってるとかじゃないし。
488NAME IS NULL:2007/04/05(木) 00:20:18 ID:???
アプリで処理してダラダラとコネクションつなぎっぱなしと
SQLで処理してコネクション短時間で終わるのでは、
後者の方がシステムから見たらやさしいはずだが。

一人でDB使ってるとかじゃないし。
489NAME IS NULL:2007/04/05(木) 10:59:30 ID:???
コネクションは繋ぎっぱのほうが負荷が低い訳だが。
つ keep-alive
490NAME IS NULL:2007/04/05(木) 11:31:16 ID:???
うむ。
ただつなぎっぱだと、リソースの無駄使いになるから、
セッションマルチプレクスとかコネクションプーリングとかを使用する。
491NAME IS NULL:2007/04/05(木) 16:43:31 ID:???
ま、まともな神経ならコネクションプール使う罠www
492NAME IS NULL:2007/04/05(木) 18:39:05 ID:???
>SQLで変換はDB側に負担がかかるから遣らせたくないな。

なんて言うヤツがコネクションプールを知ってるとはとても思えんがw
493NAME IS NULL:2007/04/05(木) 23:47:25 ID:???
きっとデフォ設定で共有接続なんだろ
494NAME IS NULL:2007/05/02(水) 21:23:53 ID:???
oracleサーバーがクラッシュでなんとかオラクルのインストールディレクトリを取得できましたが、
そのデータを使用してDBの復元はできないでしょうか?
495NAME IS NULL:2007/05/02(水) 22:10:19 ID:???
必要なファイルがすべて正常であれば可能。
496NAME IS NULL :2007/05/02(水) 22:29:47 ID:???
>>494

基本はredolog、control file、datafileが残っていれば可能。
というかDBだったら定期的にバックアップとか取ってるんじゃないのか?
497NAME IS NULL:2007/05/02(水) 22:31:12 ID:???
>>494
最低限、制御ファイルとREDOログファイル、
pfileないしspfile、データファイルが
まったく無事なら復旧できると思うが。
498NAME IS NULL:2007/05/03(木) 00:11:33 ID:???
バックアップから復元という選択肢がないのが不思議。
499NAME IS NULL :2007/05/03(木) 02:05:00 ID:???
つ〜か、重要な環境ならarchivelogモードにして定期的に
バックアップとっていると思うけどな。
最悪、バイナリ部分が吹っ飛んだとしても、新たにソフトを
インスコして、バックアップから戻せるべ?
500NAME IS NULL:2007/05/03(木) 10:26:21 ID:???
>>495-499
みなさんありがとうございます。
バックアップを取っていなかったことは、面目ないっす。
これに懲りて、定期的にバックアップします。
インストールディレクトリから復元する場合、
oracleをインストールした後、インストールディレクトリを入れ替えればよいでしょうか?
501NAME IS NULL:2007/05/03(木) 11:27:27 ID:???
>>500
とりあえず>>495-499の内容を把握してから
出直してこいwww
502NAME IS NULL :2007/05/04(金) 01:44:44 ID:???
>>500

つ〜か、お前の言っているインストールディレクトリの意味が良く分からん。
まずは鯖の種類は何よ? 窓? Linux? Sun? HP-UX? AIX?

それとOracle関連でどのファイルを救出できたんだ?
バックアップ無しのNon-archivelogモードで復旧できる可能性があるとしたら、
最低限でも一貫性の取れたデータファイルだけは復旧できていないとどうにもならん。
最悪それさえ残っていれば、手間はかかるがコントロールファイルの再作成および
open resetlogsで上げられる。
503NAME IS NULL:2007/05/04(金) 15:57:13 ID:???
>>502
すみませんでした。
windowsXPです。
インストールディレクトリとは、インストーラで指定したインストールディレクトリで、
C:\oracleです。現在その下にoradata、admin、ora92があり、
ディスククラッシュはしていないので、C:\oracle以下のファイルは無事に残っています。
別のWindowsXPマシンのC:\oracleに新たにオラクルをインストーラーでインストールし、
その後、C:\oracleを丸ごと前のものと入れ替えてoracleを起動すれば復旧できるのかと思いまして・・・
今別のマシンがないため、試すことができない状況です。
504NAME IS NULL:2007/05/04(金) 19:25:16 ID:???
>>503
ディスククラッシュしてないということは、マザーとか電源とかが原因の故障?
だとすれば、電源が強制的に切断されたがその時にはOracleがShutdownされていた、ならセーフでしょう。
前回正常電源切断後、電源が立ち上がらなくなったのでもセーフでしょう。
電源強制切断時にOracleが稼働中だったらケースバイケースかもねぇ。
とりあえず、同じSIDで別PCにデータベース作ってファイルをまるごとコピーして起動してみ。
なんとなく、復旧できそうな気はするけど、自動復旧できなければ手動で対応できるかどうかだろうねぇ。
もちろん、場合によっては全然ダメかもしれないけど。で、アーカイブログモードなの?ノーアーカイブなの?
ノーアーカイブであったとしても停止時にトランザクションが少ないorREDOが十分に大きいなら可能性はあるかも。
…っていうくらいにいろいろ可能性があるので、そんな状況説明だけでは話が散乱するだけかもね。
505NAME IS NULL:2007/05/04(金) 21:04:31 ID:???
断片的な話を聞いてる限りじゃ簡単に直せそうだね
重要なデータなら、プロに頼んだ方が確実のような気がするよ
素人が下手にやって直せるモノをダメにしても良いなら
チャレンジしてみるのも良いと思うけど
506NAME IS NULL:2007/05/04(金) 21:07:24 ID:???
まずは復旧を試す前にもバックアップしろよ。
復旧途中でいろいろ試して弄ってるうちに、ファイル壊して復旧不能にしてしまうってのはよくある罠。

つーかクラッシュして鯖止まったままで困らないの?
代替PCすら用意してなかったら、かなり痛いね。
507NAME IS NULL :2007/05/04(金) 22:24:46 ID:???
>>503

鯖が窓なら確かにその方法でもいける。
流れとしては・・・

1. ボラクルのソフトウェアを前と全く同じディレクトリにインスコ
2. 前と同じSIDで新規DBを再作成
3. 以前のデータベース関連のファイルを全て(redolog、datafile, orapw、init.ora、control)を入れ替える。
4. DB起動

注意点としては>>505が言っているように、復旧を始めるまえに今の全てのファイルの
バックアップを取得しておくこと。
最悪ヒューマンエラーを起こしたとしても、また復旧を始められる。
これはリカバリの基本中の基本。
508NAME IS NULL:2007/05/05(土) 03:37:52 ID:???
SIDじゃなくて、内部的になんかユニークIDもってなかったっけ?
そこら辺って大丈夫なの?
509NAME IS NULL :2007/05/05(土) 06:20:48 ID:???
窓はそこまで高等じゃなかったはず。
510NAME IS NULL:2007/05/05(土) 08:49:57 ID:???
XPで動かしてるぐらいだから、再インスコでも十分なのかもな。
なんか連休入ってるみたいで音沙汰ないし。
511NAME IS NULL:2007/05/05(土) 19:31:25 ID:???
クラッシュサーバーからファイルを取り出せたっぽいから
その取り出した先の媒体がリカバリーリトライ用のバックアップになるだろうね。
512NAME IS NULL:2007/05/05(土) 20:56:06 ID:62q5988W
エラーメッセージが文字化けします。

ORA-00942: ???????????????
513NAME IS NULL:2007/05/05(土) 21:11:59 ID:???
>>512

NLS_LANG
oerr ora 942

とか。
514NAME IS NULL:2007/05/05(土) 21:40:26 ID:???
>>512
ORA-00942をググるか
エラーメッセージガイド見て探せwww

ま、「表またはビューが存在しません。」だけどなwww
515NAME IS NULL:2007/05/06(日) 11:16:31 ID:GJ+A4Kez
512です。みなさんありがとうございます。

文字コード(文字セット)がUS7ASCIIで時点で日本語はENDですかね。

こんなんで作った覚えないけどな。。
516NAME IS NULL:2007/05/06(日) 12:20:54 ID:???
日本語でOK
517NAME IS NULL:2007/05/06(日) 16:20:01 ID:???
どこをジャパニーズにしたいのかティーチしてショーしろ
518NAME IS NULL:2007/05/06(日) 16:32:54 ID:???
たぶんここのことだろ

>文字コード(文字セット)でUS7ASCIIで時点で日本語でENDですかででで。
519NAME IS NULL:2007/05/06(日) 18:15:03 ID:???
(引用ミスってるようだけど)正解。
520NAME IS NULL:2007/05/06(日) 19:10:12 ID:???
メッセージをジャパニーズにチェンジしたいのか、データベースをジャパニーズにチェンジしたいのか。
521NAME IS NULL:2007/05/06(日) 21:48:10 ID:???
うんこ日本語ですいまねん。
メッセージをジャパニーズにチェンジしたいです
522NAME IS NULL:2007/05/06(日) 23:11:50 ID:???
頭を英語で使えば問題ないと思う。
523NAME IS NULL:2007/05/07(月) 00:31:02 ID:???
>>521
NLS_LANGをLANGとトゥギャザーすればオーケー。
524NAME IS NULL:2007/05/07(月) 12:03:13 ID:???
>>504
おまえ何を言っているんだ??
ディスククラッシュしてなくてマシンの電源が落ちただけなら、マザーか電源かしらんが、
交換してOracleを再起動するだけで自動的にインスタンスリカバリが働くから、
電源が落ちる前の最新の一貫性のある状態には戻るだろ。

「電源強制切断時にOracleが稼働中だったらケースバイケースかもねぇ。」
稼動中に電源落ちても問題ないだろ。もちろん、コミットしてないデータは
失われるが。

525NAME IS NULL:2007/05/07(月) 22:42:39 ID:???
>>503
どうやらなにも心配せずに故障したパーツを交換して起動すれば
問題なく復旧するようですね(by 524氏)。
リカバリーコマンドや、バックアップからのリストアも不要のようなので楽ですね^^
526NAME IS NULL:2007/05/07(月) 23:31:54 ID:???
データが消えてないかチェックするのは基本。
527NAME IS NULL:2007/05/08(火) 13:20:46 ID:???
>>525
>リカバリーコマンドや、バックアップからのリストアも不要のようなので楽ですね^^
俺が言ってるのはあくまで「ディスククラッシュ」してなければの話だけどね。
してなければ、リカバリコマンド入力やリストアする必要はない。
528NAME IS NULL:2007/05/08(火) 21:34:40 ID:???
ディスククラッシュしてなければ(部分的を含む)論理的破損とかもありえないものなんだね。
知らなかった…orz 便利になったものだ。
529NAME IS NULL:2007/05/08(火) 22:06:05 ID:???
WindowsのNTFSなら大丈夫だろう。
Unixでも最近のファイルシステムなら大丈夫だろう。
Linuxは一部のファイルシステムが、ヤバいかもしれん。
RAWの場合は、Oracle次第。
530NAME IS NULL:2007/05/08(火) 23:26:47 ID:???
fsckがよしなにぶった切ってエラーの無いようにしてくれてるだけでは?
もちろん使えない(w
531NAME IS NULL:2007/05/08(火) 23:48:37 ID:???
Oracleの場合はっていうかほとんどのDBMSがそうだと思うけど、
sync書き込みになっているから、ファイルそのものの破壊はないと思う。
ところが、Linuxについては、VFSがきちんとsyncをしないことがあるらしく、いまいち信頼性に欠けるらしい。
LinuxのVFSについては、結構問題になっていて、XFSやreiserFSといったファイルシステムについては、
それぞれがVFS自体にも修正を施した上で実装されているみたいだ。

fsckはメタデータについてチェックするだけなんで、ファイルそのものについてチェックをしてくれるわけではない。
532NAME IS NULL:2007/05/09(水) 04:14:09 ID:???
何のための

ジャーナリングファイルシステム

なのか
533NAME IS NULL:2007/05/09(水) 04:31:35 ID:???
何のために

同期書き込み

しているのか

ちょっと小一時間考えてみます
534NAME IS NULL:2007/05/09(水) 08:47:51 ID:???
syncしてたら遅いけどな。
遅延書き込みしないと遅いよ。でも書き込めなかったデータは失う。
535NAME IS NULL:2007/05/09(水) 10:06:14 ID:???
REDOログエントリの書き込みや制御ファイルの更新あたりを
同期書き込みしておけばOK。データブロックの書き込みは非同期で十分。
536NAME IS NULL:2007/05/12(土) 12:12:36 ID:???
同期であっても非同期であってもファイルに書き込んでいる最中に電源が切れて
読めなくなるようなことはないの?
クライアントPCで停電になったあとにチェックディスクすると
使っていたファイルが修復されたりすることがあるけど(完全に修復されるのかどうか分からないけど)
サーバーではそういうことはないのかな?
537NAME IS NULL:2007/05/12(土) 12:43:57 ID:???
>>536

つ〜か、鯖だと普通はAPCとかついているから、停電になっても
クリーンシャットダウンぐらいは出来るようになってるよ。

万が一、鯖がクラッシュしたりしてもハイエンドクラスのストレージだと
ダブルチェックサム機能で、コラプトブロックとか書き込まない様に
なっていたりするしね。

一応おかしくなった時のために、RMAN使って物理・論理チェックを
かけることも出来るけどね。

538NAME IS NULL:2007/05/12(土) 13:24:37 ID:???
>>537
れすさんくす。以前に質問していた人が
サーバークラッシュしてディスククラッシュしていないって書いてあったので
クライアントPCであるような物理的には大丈夫でも論理的に異常になっている可能性は無いのかな?
と、質問してみました。
サーバークラッシュって書いてあるので単純な停電ではなくてハードエラーで落ちたのでしょうから、
その辺はどうなのかな?って。サーバー構成によっては大丈夫な場合もあるってことですね。
539NAME IS NULL :2007/05/14(月) 23:30:04 ID:???
>>538

勿論、非同期とかで書き込みしている時とかには、物理もしくは論理で
ブロックコラプションが起きる事もある。
その場合はEEだとRMAN使ってメディアブロックリカバリーでブロック単位で
リカバリかけたりする事も出来る。
540NAME IS NULL:2007/05/15(火) 20:49:29 ID:???
独自で作ったOracleの便利スクリプトを紹介してくれ
541NAME IS NULL:2007/05/15(火) 21:42:43 ID:???
>>540
OTNのCodeTips見てこい
542NAME IS NULL:2007/05/15(火) 21:48:06 ID:???
なるほど。サンクス。DB Magazineも買ってくる。
543NAME IS NULL:2007/05/24(木) 00:30:48 ID:???
オラクル入れようと思ったが、カーネル再構築の途中。orz
544NAME IS NULL:2007/05/25(金) 20:54:16 ID:???
カーネル再構築なんてまたくだらない事やってるな。
545NAME IS NULL:2007/05/25(金) 21:57:12 ID:???
まだ8i使ってるからな。orz
546NAME IS NULL :2007/05/25(金) 22:16:19 ID:???
もうサポート対象外では?
547NAME IS NULL:2007/05/27(日) 11:13:31 ID:???
そもそもサポート受けてないだろう
548NAME IS NULL:2007/05/27(日) 20:09:57 ID:???
去年の10月くらいに8の質問して答えてくれたけど。
549NAME IS NULL:2007/06/01(金) 10:01:32 ID:???
oracle9iを使って、ある条件で検索した結果の10〜20件目だけを抽出するSQLを考えています。
下記のSQLで結果は取れましたが、これ以外でよい方法などありましたら教えていただけないでしょうか。
SELECT
    *
  FROM
    (
      SELECT
          (
            SELECT
                COUNT (*)
              FROM
                TEST_TBL
              WHERE
                DEL_FLAG <> '01'
          ) AS TOTAL,
          row_number() over ( ORDER BY XXX ASC) AS row_cnt,
          MASTER_ID
        FROM
          TEST_TBL
        WHERE
          DEL_FLAG <> '01'
    )
  WHERE
    row_cnt BETWEEN 1 AND 20
  ORDER BY
    XXX ASC

550NAME IS NULL:2007/06/01(金) 11:50:20 ID:???
(´Д`)
551NAME IS NULL:2007/06/01(金) 14:27:34 ID:???
>>549
ググればROW_NUMBER関数を使った例がいくらでも転がってる。
552NAME IS NULL:2007/06/16(土) 18:27:40 ID:I1V9HKtK
教えてください。

外部プロシージャを止めるにはどうすればいいのでしょう?
外部プロシージャをバージョンアップするために、
.soファイルを上書きしたいのですが、

lsnrctl stop

でリスナーを停止してもextprocPLSExtProcが浮かんだままで、
cpコマンドで上書きしようとしてもアクセス中なので出来ないと怒られます。
killコマンドでこのプロセスを殺してもいいものなのでしょうか?
それともdrop libraryなどで一度oracleから取り除かなければならないのでしょうか?

以上、よろしくお願いします。
553NAME IS NULL:2007/06/17(日) 01:05:12 ID:???
>>552

Killってかまわん。
まあ、確実なのはDBシャットダウンすれぱ止まるはずだけどね。
554NAME IS NULL:2007/06/17(日) 13:10:18 ID:h5nfYdZ9
>>553
アホ
DBを止めるとき、lsnrctl stopしたあとに浮かんだままのoracleインスタンスをkillするのか、お前は

>>552
drop libraryすれば.soファイルへのアクセスは停止する筈
555NAME IS NULL:2007/06/20(水) 09:58:28 ID:2tTyyyLm
tabという名前の表を作成したらテーブル一覧が見られなくなりました

どうすればいいですか?
556NAME IS NULL:2007/06/20(水) 10:50:34 ID:???
そのtabを削除すればいいんじゃね?
557NAME IS NULL:2007/06/20(水) 11:14:18 ID:???
>>555

tabというのはsynonymだかんねぇ。
user_tablesからうまく作ってったら?
558NAME IS NULL :2007/06/21(木) 02:25:09 ID:???
>>555

取りあえずそのtabをDropする。
んでもって以下のスクリプトで再作成しろ。

CREATE OR REPLACE VIEW TAB
(TNAME, TABTYPE, CLUSTERID)
AS
select o.name,
decode(o.type#, 2, 'TABLE', 3, 'CLUSTER',
4, 'VIEW', 5, 'SYNONYM'), t.tab#
from sys.tab$ t, sys.obj$ o
where o.owner# = userenv('SCHEMAID')
and o.type# >=2
and o.type# <=5
and o.linkname is null
and o.obj# = t.obj# (+)
/
559NAME IS NULL:2007/06/21(木) 03:31:24 ID:???
わざわざVIEWの定義を調べてご苦労だけど、再作成はいらん。DROPで充分。
新しいTABをDROPしたくないならSYS.TABで元のTABの内容が参照できる。
560NAME IS NULL:2007/06/21(木) 11:27:32 ID:aqXLPoKz
UPDATE USER_SOURCE SET TEXT = ' FROM TESTA WHERE A = 2;'
WHERE NAME = 'PPP' AND LINE = 5

権限が不足しています。エラーが出ますが、なぜでしょうか。
561NAME IS NULL:2007/06/21(木) 11:41:36 ID:???
>>560
権限が足りないんだろ。
562NAME IS NULL:2007/06/25(月) 18:32:35 ID:???
CBO前提で開発してるのに統計採って無いことに気付いた。ありえなくね?
速攻採るべきだよね?ちなみに9.0です。
563NAME IS NULL:2007/06/25(月) 21:04:35 ID:???
とるべきとしか言いようがない。
564NAME IS NULL:2007/06/25(月) 23:17:07 ID:???
ありえね
565NAME IS NULL:2007/06/25(月) 23:35:35 ID:???
>>562

すでに本番リリース済みの場合には、統計情報を収集したことが原因で
コスト計算時に使用される統計情報がデフォルトから収集したものに変わったことにより、
SQL文のアクセスパスが変わってパフォーマンス劣化が
発生する可能性も有るので注意したほうがいいと思う。

もし、パフォーマンス劣化が発生したら、そのSQLに影響している統計情報を
deleteすること。
566562:2007/06/26(火) 09:49:56 ID:???
>>565
thx検証しながらやってくYO。
数が多くて大変だがorz
567NAME IS NULL:2007/06/26(火) 12:03:09 ID:bHNCzBBO
条件に当てはまる行を先頭に移動させる方法ってありますか?
568オラクル太朗:2007/06/26(火) 20:24:42 ID:MCoTLU9N
オラクル10g勉強中です。
オラクル10gを削除したいのですが、
プログラム追加と削除から消せないようなので、
削除のしかた教えてください。
あとインストールの参考になるようなサイトがあったら教えてください。
お願いします。
569オラクル太朗:2007/06/26(火) 20:28:28 ID:MCoTLU9N
追加↑
OSはWindows2000serverです。
570NAME IS NULL:2007/06/26(火) 22:12:50 ID:???
勉強後に消した方がよくないか?
削除したいのならインストールできたのじゃないか?
571NAME IS NULL :2007/06/26(火) 22:38:16 ID:???
>>568

1. インストール時と同じように、OUIを起動する。
2. インストールされているソフトの一覧を出す
3. 消したいソフトを選んで削除

その後に、完全にクリーンインストールするために以下のレジストリを削除。

My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
My Computer\HKEY_CURRENT_USER\SOFTWARE\ORACLE
My Computer\HKEY_LOCAL_MACHIN\SYSTEM\CurrentControlSet\Services以下のOracleとつく全て

あとはついでにC:\Program Files\Oracleフォルダも消しておけ。

窓でのDBインストールなんて、クリックしていきゃ勝手にインスコされるだろ。
572NAME IS NULL:2007/06/26(火) 22:46:34 ID:???
>>568
つ「Oracle Database インストレーション・ガイド」

ほれ、これで「Oracle Databaseソフトウェアの削除」方法でも勉強しろや。
インストール方法も勉強できるぞ。
573オラクル太朗:2007/06/26(火) 23:37:26 ID:MCoTLU9N
NAME IS NULLさんありがとうございます。
学校ですでに10gがはいってるサーバーマシンを借りてきて、
すでに入っているものは消してから使ってくださいといわれたので、
インストールもアインストールもしたことなかったので、
途方にくれてたとこでした。
本当ありがとうございました。
574572:2007/06/27(水) 00:18:22 ID:???
>>573
どの名無しに感謝されたのかわからんが、
その程度の初学者ならここからお勉強するといいさ。
http://otn.oracle.co.jp/tech/install/oracle10g.html
575NAME IS NULL:2007/06/27(水) 00:25:15 ID:???
「Select name from itemmaster where id1 = 0000or id2 = 0001」
上記のSQL文は、間違いだと思うのですが、何故かSQL Plusで実行したら
通りました。
上記のSQL文って正しいのでしょうか?
id1とid2はchar型でシングルクォートを付けてないし、0000とorの間に
スペースが無いし、普通は通らないと思うのですが、、、
何か分かる人はいるでしょうか?
ちなみに、Oracle 10g 10.1.0.2です。
576NAME IS NULL:2007/06/27(水) 00:27:49 ID:???
>>575
仕様です
577NAME IS NULL:2007/06/27(水) 01:28:29 ID:qWRscJ4i
JPublisherって使ってる人いる?
578NAME IS NULL :2007/06/27(水) 02:36:53 ID:???
>>575

シングルクォートが無くても、暗黙的に変換してくれる。
ただし、明示的にChar型を宣言していないため、索引が使われない
などのデメリットはある。
スペースも勝っての判断してくれる場合がある。
以下のSQLを試してみるがいい。

select*from user_users;
579オラクル太朗:2007/06/27(水) 22:29:26 ID:DoTZCG5U
>>574さんありがとうございます。
2ch初心者なので、571、572、573の名前がNAME IS NULLで同じで
同一人物だと勘違いしていました。
571、572、573さんありがとうございます。
サーバーマシンはなんとか、DBにconnectできました。
クライアント側にもクライアントCDをインストールしたのですが、
サーバー側に接続を試すToolが入っていません。
インストールタイプをInstantClientしか入れてないからでしょうか?
あとインストールCDが多すぎて、どれが必要なのかわからない状態です。
Oracle Database リリース・ノート 10g リリース2(サーバー側)
Oracle Database Client インストレーション・ガイド 10g リリース1(クライアント側)
をインストールしました。ほかにインストール必須なCDはありますか?
教えてください。お願いします。
580NAME IS NULL:2007/06/28(木) 00:18:40 ID:???
>>579

SQL*PLusってツールがはいっていない?
581オラクル太朗:2007/06/28(木) 06:54:42 ID:3LjSIdu7
580>>
SQL*PLusははいっています。
582NAME IS NULL:2007/06/28(木) 07:01:16 ID:???
>>579

どこにインストールしたか分からないが、tnsnames.oraの設定をまずしろ。
そうしたらコマンドプロンプト開いて「tnsping <DBエリアス>」と打ってみろ。
ちゃんと設定がうまくいっていたら、後はSQL*PLUSでもなんでもつながる。
583オラクル太朗:2007/06/28(木) 07:03:14 ID:3LjSIdu7
582さんありがとうございます。
いまから学校いって早速試してきます。
584NAME IS NULL:2007/06/28(木) 18:44:33 ID:???
oracle9iのjavaクラスの中でネットワークドライブにファイルを書き出したいのだがどうもうまくいかない。

マッピングしても

java.io.FileNotFoundException: No such file or directory

ねーよって出ちゃう

ローカルドライブなら普通に書き込めるんだけど。

なで?
585NAME IS NULL:2007/06/28(木) 19:04:54 ID:???
>>584
Windowsか?
586NAME IS NULL:2007/06/28(木) 19:20:17 ID:???
>>585
Windowsっす。
今のところXPっす。
587NAME IS NULL:2007/06/28(木) 19:26:04 ID:???
>>586
Administration Assistant for Windows の起動オプション
のNTアカウントをネットワークアクセス権のあるユーザーにしてみ
ローカルアカウントではネットにアクセスできん
588NAME IS NULL:2007/06/28(木) 19:27:23 ID:???
>>587
マジスカ

ありがとっす!
やってみるっす!
589オラクル太朗:2007/06/28(木) 21:45:07 ID:3LjSIdu7
クライアントからサーバーに接続はできたのですが、
クライアントからサーバに入っているテーブルにアクセスしても見れません。
サーバーがわでsysユーザーでテスト用にdeptテーブルを作り、ユーザーfoo
を作りました。クライアント側でfooでログインして、dept表を見るには
どうしたらいいのでしょうか?
教えてください。
590NAME IS NULL:2007/06/28(木) 22:06:28 ID:???
>>589
GRANTでfooに必要な権限を与える。
SYSで作ったテーブル名はsys.deptになってるはず。
そもそもSYSアカウントでユーザーテーブルを作らない。
591NAME IS NULL:2007/06/28(木) 22:13:43 ID:???
>>587
ユーザー作ってそのユーザーでオラクルインスタンス起動した。
プロセスマネージャーではそのユーザーで起動してる。

再起動もした。

リスナーで怒られたのでリスナーも同じユーザーに

けどネットワークドライブに書き込めん・・
java.io.FileNotFoundException: No such file or directory

uncでアクセスしてもネットワークドライブで割り当ててもだみっす。

もちろんdbms_java.grant_permissionで権限は与えてる・・・

なぜなのかぁぁぁぁ!!



592NAME IS NULL :2007/06/28(木) 22:33:38 ID:???
>>591

サービス(インスタンス)もちゃんとそのユーザーで起動しているか?
593NAME IS NULL:2007/06/28(木) 22:37:48 ID:???
>>592
そうなのよぉ
taskmgrで見る限りちゃんと変わってるんですよぉ

で、そのまま起動するとリスナーでora-12500で怒られるので
リスナーのユーザーもそのユーザーに合わせて正常に起動したんですよぉ

謎っす

なんか単純なとこでしくじってるのかなぁ

あと考えられるとこってありますか??
GODよ教えてくださいっす
594オラクル太朗:2007/06/28(木) 22:39:19 ID:3LjSIdu7
590>>さんありがとうございます。
fooには、grantでconnect権限をあげただけです。
それでは、サーバー側でuserをもう一人作ってそのuserでテーブルを作れば、
クライアント側でfooユーザー接続してみることはできますか?

595NAME IS NULL:2007/06/28(木) 22:44:32 ID:???
>>592

なんか出来た・・・・

IPアドレスじゃなくてNETBIOSの名前でアクセスしたら出来た・・・

\\hoge\hoge.txt○
\\10.8.0.1\hoge.txt×
みたいな・・・

おいおい・・・

いや、でもほんと助かりますた。

すげえ感謝っす
596NAME IS NULL:2007/06/28(木) 22:59:30 ID:???
>>594

ユーザを作成して
そのユーザでテーブルを作成して
クライアントからはそのユーザで接続すればOK
597オラクル太朗:2007/06/28(木) 23:06:18 ID:3LjSIdu7
596>>さんありがとうございます。
早速明日学校いって試してみます。
一つクリアしたらまた一つなかなか前に進まなくて本当大変です。
ここで問題が解決していきとても感謝です。
ありがとうございます。


598NAME IS NULL:2007/07/01(日) 04:51:52 ID:???
>>119
何年か前、協力会社としてJBCCの開発やったんだが・・・
技術者はいい人は居るんだが、スキルが糞。
営業は売り上げ上げる為なら、とにかく仕事を取ってきて技術者に「お前らやれ」
ってきたもんだ。「技術的に無理」っていったら、「客には出来るっていっちゃったから、
何とか作れ」って言われたぞ。売れれば何でもいいのかと子一時間。。。
IBMのパートナーの癖してAIXがわからんし、「smit」の話をしたら、「smit」って何?
とこれまた来たもんだ。最近ではさすがにUnix系が出来ないのがまずいのか、LPIの
ビジネスパートナーになってるみたいだが。。。

http://lpi.or.jp/bp/list/index.shtml

上はビジネスパートナーになってるソースね。
599NAME IS NULL:2007/07/01(日) 18:58:02 ID:???
まあ格安案件でも取りにいく所はそんなものです。
嫌なら、予算多めにして他の業者使えばいい話だ。
600オラクル太朗:2007/07/03(火) 22:17:54 ID:H6oFNBuZ
596さんありがとうございます。
うまくクライアントから表が見れました。
今バックアップとリカバリのところを勉強しています。
Enterprise Managerで設定しているのですが、ポリシーの設定後ホストの資格証明で
ユーザー名、パスワードを入れてもうまくいきません。
ERROR:WRONG PASSWORD FOR USERという
エラーが出ます。
user名はSYS passwordはoracleでと入力しているのですが、記述の仕方が
悪いのでしょうか?
教えてください。
601NAME IS NULL:2007/07/03(火) 23:24:19 ID:???
>>600

DBのパスワードを入れてどうする。
ホストにログインするユーザー名とパスワードを入れろ。
602NAME IS NULL:2007/07/04(水) 00:39:51 ID:???
DBコネクトとログインの区別がついてないってカコ悪い。
603オラクル太朗:2007/07/04(水) 07:02:50 ID:+iHTJJZc
601さんありがとうございます。
早速学校行って試してきます。
604NAME IS NULL:2007/07/14(土) 12:22:18 ID:lfqZZbE2
このスレ的に11gってどうよ?
まぁまだ発表されたばっかだけど...
今のところ,俺的にはあんま欲しい機能は無くて,
10gのマイナーバージョンアップって感じかな?
8iと10gはがらっと変わってメジャーバージョンアップって感じだったけど.
605NAME IS NULL:2007/07/14(土) 13:25:30 ID:???
単体で使う分には8iから大して変わりはないけどな。
11gは管理ツールの充実って感じがした。業務で使ってると、必要と要求の有った機能が割とサポートされてるって思った。
606NAME IS NULL:2007/07/15(日) 05:17:12 ID:???
すみません。
PL/SQLでストアードファンクションを使って、
値を複数返したいのですけど、出来ますでしょうか?

returnで返す値を複数指定出来ないかと思って
「RETURN a,b」みたいにやってもダメでした。

select FUNCTION() from emp
こんな感じのSQLで複数値が返ってくる方法は無いでしょうか。
607NAME IS NULL:2007/07/17(火) 09:50:16 ID:???
自分で答え書いてるじゃん。
608NAME IS NULL:2007/07/17(火) 22:30:32 ID:???
ファンクションの中にファンクションをネスト。

そんなことより質問PL/SQLで
表名 test
select * from test;
A列 B列
1   2007/7/17
2   2007/7/17
3   2007/7/18
4   2007/7/19

として
3   2007/7/17
3   2007/7/18
4   2007/7/19
を得たいんだけど
何かいいてない? A列の値を B列でグループ化しつつsumしたいんだけど
カーソルとカウンタかませるとできそうだがプログラムが長くなり祖でな・・・いい手ないかな
609NAME IS NULL:2007/07/17(火) 22:38:06 ID:???
質疑応答すれのがよかったか。ってかこの板人口少なそうだな。。。
610NAME IS NULL:2007/07/17(火) 22:41:57 ID:???
>>608
select sum(id),min(val) from hoge group by val;
でどう?
611608:2007/07/17(火) 22:51:05 ID:???
>>610
即レスサンクス。
参考にいたします。感謝感謝。
612NAME IS NULL:2007/07/18(水) 12:43:24 ID:???
emagent.exeって何をするプロセスですか
プロセス停止すると どういう問題が出ますか
613NAME IS NULL:2007/07/18(水) 14:58:05 ID:???
ヒント
em = Enterprise Manager
614NAME IS NULL:2007/07/18(水) 16:04:16 ID:???
実行時間のかかるSQL分があり、文法エラーがないかを確認したいのですが、
実際に実行しないで確認する方法はあるでしょうか?

本来、実行してから強制終了すればいいだけなんですが、
職場の事情で、インフラチームからSQL実行中の強制終了はするなと言われて、
エラーチェックできずに困っております。
615NAME IS NULL:2007/07/18(水) 16:11:31 ID:???
>>614
自分のPCにOracle突っ込んで
実行できる環境構築するwww

こういうのもあるけど、たぶんCREATE TABLE出来ないwww
http://otn.oracle.co.jp/training/index.html
616NAME IS NULL:2007/07/18(水) 21:12:26 ID:???
>>614
実行計画とればいいんでない
617NAME IS NULL:2007/07/18(水) 23:25:43 ID:???
構文エラーのチェックだけならset autotorace traceonlyでいいんちゃう。
618NAME IS NULL:2007/07/19(木) 01:31:02 ID:???
traceonlyは実行しちゃうよ。結果を表示しないだけ。
explain planがいいんちゃう。
619NAME IS NULL:2007/07/19(木) 10:18:30 ID:???
cseを使い場合、odbcドライバコピるだけでは動かないのですが
クライアント入れないと駄目ですか?
620NAME IS NULL:2007/07/20(金) 01:53:47 ID:???
>619
だめです
素直にクライアントインスコ汁
つか、odbcドライバもファイルコピーだけじゃ動かんのじゃないか確か。
621NAME IS NULL:2007/07/20(金) 03:36:26 ID:???
インスタントクライアントの方が容量的にはかなり小さくなるな。
sqlplus、jdbc、odbcと必要なものはそろっているし。
環境変数の設定やodbcドライバの登録とかを手でやらないといかんけど。
622NAME IS NULL:2007/07/20(金) 10:00:26 ID:???
>>620
らじゃ、ありがとうございます。
623NAME IS NULL:2007/07/21(土) 03:37:44 ID:???
インフラチームって、もしかして本番機とか?
確認は検証機でどうぞ。

強制終了して、他の業務ジョブに迷惑かけたら始末書ものだよ。
624NAME IS NULL:2007/07/21(土) 03:52:09 ID:???
unix版から飛んできました。

SQL*FORMSという古いソフトを使っており、これがOracle7でしか
動かないのですが、Oracle7のままsolaris8以降の新しいOSに
乗せ変えたツワモノはいますか?

もちろん、DBを保証のあるバージョンにのせ変えるのがすじ
なのは分かってますがそれができないのです。

solarisのバイナリ互換性から考えると普通に動くと思うのですが。
625NAME IS NULL :2007/07/21(土) 05:23:11 ID:???
>>624

O/S新しくするのなら、アプリもこの際新しくしろや。
そんなサポートされいないバージョンのものを使い続けている方がどうかしてる。
626NAME IS NULL:2007/07/24(火) 10:24:18 ID:???
エクスポートファイルからテーブル一覧をクリップボードにコピーしたいのですが、
imp show=y file=xxx.dmp を実行すると、ログイン名を指定されます。
怖くて入力できませんが、このshowは実行時に詳細を表示するオプションなのでしょうか?
627NAME IS NULL:2007/07/24(火) 10:43:40 ID:???
>>626

verboseオプションではなく、show onlyオプションだよ。
つまりdmpに含まれるcreate table文など一覧を見る事が出来る。
628NAME IS NULL:2007/07/24(火) 11:07:31 ID:???
show onlyというオプションがないのですが、コマンドラインで指定するオプションではないのでしょうか。
遅れてすいません。Oracle9iです。
629NAME IS NULL:2007/07/24(火) 13:05:50 ID:???
>>628

だからshowはshow onlyの意味であって、show=yと指定すれば
実際のimpは行なわれずに、表示だけされるんだってば。
verboseという意味のshowでは無いということ。
630NAME IS NULL:2007/07/24(火) 14:47:25 ID:???
>>629
すいません。
ご親切にありがとうございます。
631NAME IS NULL:2007/07/24(火) 17:25:25 ID:???
>>629
ファイルの一覧のみは出せないの?
632NAME IS NULL:2007/07/24(火) 17:52:10 ID:???
my_view の定義が select a, b, from my_table where a = 1 の場合

select a, b from my_view where b = 1

select a, b, from my_table where a = 1 and b = 1

ではクエリーのパフォーマンスに違いが出てくるでしょうか?
客先からの仕様変更が激しく、アプリに影響がないようにすべてVIEWに対してクエリーしようかと考えています。

危険な方向性ですかね?
633NAME IS NULL:2007/07/24(火) 19:19:11 ID:???
その SQL はエラーになるんじゃないかな。
634NAME IS NULL :2007/07/24(火) 22:20:54 ID:???
>>632

実行計画取れば分かるが、viewに対してQueryを投げた場合、まずOracleは
内部的にそのSQLを書き換えて、実行パスを決定している。
635NAME IS NULL :2007/07/25(水) 00:08:29 ID:???
>>631

中身を見たかったらこれで全部出るだろ。

imp userid=\"/ as sysdba\" file=hogedat.dmp ignore=y show=y full=y log=bogeimp.log

636NAME IS NULL:2007/07/25(水) 14:54:41 ID:???
javaとかでフリーなライブラリがネット上にいろいろ転がっていますが、
これあると便利的なストアードファンクション・プロシージャを提供しているサイトとかって知ってますか?
637NAME IS NULL:2007/07/25(水) 20:02:58 ID:???
>>636

OTN
638NAME IS NULL:2007/07/25(水) 23:39:45 ID:???
登録したMACアドレスだけ接続を許可する様にしたいのだけど
何か方法有るかな?
639NAME IS NULL :2007/07/25(水) 23:44:51 ID:???
>>638

んなもんO/Sでやれ。
640NAME IS NULL:2007/07/26(木) 10:18:48 ID:???
やっぱり内科。
訳ありでOS側では制御出来ないのよ。
641NAME IS NULL:2007/07/26(木) 11:12:39 ID:???
>>640

だったらF/Wなり、iptablesなりかませればいいじゃん?
642NAME IS NULL:2007/07/26(木) 11:51:51 ID:???
>>641
スマソ 要件が詳しくなかったね。
環境は・・
OS:WindowsServer2003Sp2
Oracle10g
で・・
要件は「登録したMACアドレスだけのIPをOracleに接続を許可しる。ただし接続コントロールはOracle側でおこなうこと」なのよ。
他の事(OS設定や機器設定及び機器追加)は一切出来ない・・・orz
643NAME IS NULL:2007/07/26(木) 11:54:09 ID:???
スマソ 訂正。
誤:登録したMACアドレスだけのIPをOracleに接続を許可しる。
正:登録したMACアドレスだけをOracleに接続を許可しる。

接続はTCP/IPでクライアントはDHCPでIPコロコロ変わります・・orz
644NAME IS NULL:2007/07/26(木) 12:20:59 ID:???
ボラクルってMACアドレス拾えないだろ?
645NAME IS NULL:2007/07/26(木) 13:14:39 ID:???
>>642

結論から言うと無理だろ。
その用件考えた奴はアホだ。
646642:2007/07/26(木) 18:44:47 ID:???
スマソ DLL1本作って事故解決しました。
647NAME IS NULL:2007/07/27(金) 00:22:20 ID:???
んでも、その気になればMACアドレスは偽装できるんだから
無駄な努力、とまで言うのもアレだが、おバカな案件だな。
648NAME IS NULL:2007/07/27(金) 11:11:08 ID:???
unixのコマンドラインから、テーブルをcsv形式でエクスポートしたいのですが、
expだとダンプ形式にしかできないと認識しています。
何か方法はないでしょうか。
649NAME IS NULL:2007/07/27(金) 11:32:57 ID:???
>>648
sqlloader sqlldrかも
650NAME IS NULL:2007/07/27(金) 11:33:55 ID:???
>>649
エクスポートか、これじゃダメだね。
651NAME IS NULL:2007/07/27(金) 15:45:56 ID:???
>>648
OTN-JapanでCodeTips検索してこい
652NAME IS NULL :2007/07/27(金) 23:11:13 ID:???
>>648

んなもん幾らでも調べればやり方なんか転がってんだろうが。
ttp://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:88212348059
ttp://asktom.oracle.com/tkyte/flat/index.html
653NAME IS NULL:2007/07/30(月) 11:42:55 ID:???
ボラクルってIPv6でお話し出来ますか?
654NAME IS NULL:2007/07/30(月) 12:26:29 ID:???
>>653

Pv4/ IPv6の混成環境は可能。
IPv6だけはまだ。
655NAME IS NULL:2007/07/30(月) 14:01:15 ID:???
>654
なるほど。ありがとうございました。
656NAME IS NULL:2007/08/03(金) 10:36:19 ID:???
sqlplusはSQLエラーのときエラーの行数が出ますが、
javaでjdbcを使ったSQLの場合、エラー行番号が取れません。
行情報はsqlplus独自のものでしょうか?
657NAME IS NULL:2007/08/03(金) 19:54:46 ID:???
>>656

はい。
658NAME IS NULL:2007/08/07(火) 17:01:19 ID:???
>>657
ありがとうございます。
たとえば、javaのjdbc経由のアプリで、エラー行番号を取得することはできたりするのでしょうか?
659NAME IS NULL:2007/08/07(火) 20:17:25 ID:???
>>658

そもそも行番号というのはなんですか。
あなたが思っているような単位でSQLは解釈されません。
660NAME IS NULL:2007/08/08(水) 10:10:19 ID:???
>>659
行番号は、つまり行は改行コードのことです。
661NAME IS NULL:2007/08/08(水) 10:41:39 ID:???
>>620
またまた質問ですみませんが、
どうしてもoracleクライアントをインストールすること(インストールプログラム使用)を許してもらえません。
そこでですが、別のマシンにインストール済みのoracleインストールディレクトリを丸まるコピーし、
それを別のマシンに同じディレクトリにコピーし、oracleインストールディレクトリ/ora92/binにパスを通し
cseでodbcではなく、oracleネイティブ接続で接続すれば、DB接続できるでしょうか?
662NAME IS NULL:2007/08/08(水) 20:42:56 ID:???
インスコしちゃだめって言うなら諦めた方がいいと思うが
663NAME IS NULL:2007/08/08(水) 23:26:44 ID:???
同じく。
インストールという行為を禁止されているなら必要な理由を提示して許可をもらえばいいし、
そもそもクライアントからOracleに直接接続するなというならその方法でできたとしてもNGだろ。

業務上必要なのにインストール許可を出さない会社ならやめてしまえ。
664NAME IS NULL:2007/08/09(木) 01:53:23 ID:???
>661
もう少し技術的な観点からも補足すると

cseは長いことバージョンアップしてないから新しいoracleクライアントだとどのみち使えんかもよ
665NAME IS NULL:2007/08/09(木) 11:18:01 ID:???
>>664
ありがとうございます。
Oracle9iのWindows版ではうまく動いています。
666NAME IS NULL:2007/08/09(木) 11:40:24 ID:???
sql analizeでログインできません。
DBには通常のユーザを登録しSELECT ANY TABLE権限もありますが、
下記のエラーメッセージが出ます。
このリポジトリーユーザは、特別なユーザなのでしょうか?

on リポジトリ接続 while レポジトリ・データベースに接続中エラーが発生しました。

XP-21162: 現行のリポジトリ接続には、十分な権限がありません

原因: Oracle Expertルール・エンジンでは、SQL文の妥当性チ
ェックを実行するために、SELECT ANY TABLEデータベー
ス権限が必要です。

アクショ リポジトリ・ユーザーの現行の権限をチェックしてくだ
ン: さい。
667NAME IS NULL:2007/08/09(木) 12:30:26 ID:???
>>666
以下のどちらかで対応しろ。

- そのログインユーザーに DBA権限を与える
- init.oraでO7_DICTIONARY_ACCESSIBILITY=trueを指定
668NAME IS NULL:2007/08/14(火) 11:08:07 ID:???
create table xx した日にちを取得することってできますか。
669NAME IS NULL:2007/08/14(火) 11:13:39 ID:???
user_objects
670NAME IS NULL:2007/09/04(火) 08:41:28 ID:pXMBPiTp
とても古い環境なんですがNT4に対してoas4をインストールしましたがマネージャーが起動しません。ホスト名+ドメイン+ポート接続でも検索エラーになります。
環境設定において特別ななにかが必要なことってありますか?なお、ネットには接続できました。
671NAME IS NULL:2007/09/04(火) 09:32:15 ID:???
>>670
Winだし、とりあえず再起動?
672NAME IS NULL:2007/09/05(水) 00:53:17 ID:???
複数のテーブルが入っているエクスポートファイルから、1つのテーブル分だけを簡単に取り出す方法ってありますか?
たとえばA,B,Cが入っているDMPからBだけが入っているDMPを簡単に作りたいのです。
いったん、インポートしてからBだけエクスポートすれば?というのは無しです。
そんなことが簡単に出来てしまうコマンドとかはないのでしょうか。
673NAME IS NULL:2007/09/05(水) 01:09:20 ID:huCY+7z7
>>672
いったん、インポートしてからBだけエクスポートすれば?
674NAME IS NULL:2007/09/05(水) 07:01:18 ID:???
>>672
tables
675NAME IS NULL:2007/09/05(水) 09:53:33 ID:???
>>674
ありがとうございます。
しかし、それは、そのテーブルだけインポートするということですよね。
すいません、説明不足でした。
毎日、フルでexpしたものを何日分か残す様になっています。
サーバは遠くで、外部からもアクセスできない環境にあるので、
それで、何か調べる必要が出てきた時に、DMPを送ってもらって調べたいのですが、
さすがにフルexpだとサイズが大きすぎて難しいので、必要なテーブル分だけ抽出出来たらなと思ったわけです。
稼働中のDBですので過去のデータなどをいったんインポートするなども出来ません。
それで、簡単なコマンド等で、フルDMPから一部だけ切り出す方法がないかと思ったのです。
ご存じの方がおられましたら、よろしくお願いします。
676NAME IS NULL :2007/09/05(水) 09:54:34 ID:???
>>672

imp時にBだけ指定すればいいじゃん?
677NAME IS NULL :2007/09/05(水) 09:56:47 ID:???
>>675

現実的な方法としては、その本番鯖の近くで別DBを作って貰って、そこでその
表BだけImpしてExpじゃないかねぇ?
678NAME IS NULL:2007/09/06(木) 02:41:23 ID:???
>>675
ユーザを新しく作ってそこに B だけインポート。
679NAME IS NULL:2007/09/07(金) 13:05:58 ID:???
>>676-678
ありがとうございます。
いずれにせよ、コマンド一発で簡単にというわけにはいかないということのようですね…
680おれようメモ:2007/09/07(金) 21:53:52 ID:???
-----------------------------------------------
select
  *
from
  (select reg_date from emp_main where customor = 'CUS001' order by reg_date desc)
where
  rownum = 1
----------------------------
    INDEX  NON-INDEX
COST  18    242
-----------------------------------------------
select
  *
from
  emp_main
where
  reg_date = (select max(reg_date) from emp_main where customor = 'CUS001')
and
  customor = 'CUS001'
and
  rownum =1
----------------------------
    INDEX  NON-INDEX
COST  6    230
-----------------------------------------------
681NAME IS NULL:2007/09/11(火) 13:56:13 ID:qUTPzdOn
Orcle8iですが教えてください。

あるパッケージ(国内で有名なベンダー)を使っていますが
dbサーバ起動時に削除したデータが登録されている現象が
あります。
実行制御データですが、まるでスタートアップの処理で作成
される感じです。
(保守契約が切れていまして問合せできません)
Orcle8iに起動時に処理させる機能はあるんでしょうか?
682NAME IS NULL:2007/09/11(火) 14:46:37 ID:???
通常のテーブルなどに設定するDMLトリガーじゃなく、データベーストリガー(この場合、Startupトリガー)なら
Oracleの起動時に実行できますね。8iで可能かはマニュアルを見て下さい。通常のCREATE TRIGGER文のとこにあれば載ってると思います。
683NAME IS NULL:2007/09/13(木) 06:28:31 ID:EzBaCPo5
ありがとうございます。
684NAME IS NULL:2007/09/13(木) 09:23:19 ID:rtETd5f1
>>682
Startupトリガーが、dbのどこを見ればよいのですか?
Object Browserで見ていますが・・・・
初心者ですみません。
685NAME IS NULL:2007/09/13(木) 15:11:08 ID:???
SELECT * FROM DBA_TRIGGERSでいけるんじゃないかな。
686670:2007/09/16(日) 16:39:23 ID:???
もうひとつすいません。

OAS管理画面(4.8.0.1)でツリーが表示されません。
原因が皆目つかないのですが誰かご存知でしょうか?

ちなみにIEの設定ではJAVAスクリプトはONになってます。
687NAME IS NULL:2007/09/21(金) 17:02:18 ID:???
SELECTが妙に遅いのでいろいろ調べてインデックス付け直したりしたわけですが一向に改善されず・・・


原因はSQL文でVARCHR2の項目にシングルクォートつけるの忘れてただけでした
無駄な作業させてごめんなさいごめんなさいごめんなさい(;´Д`)
688NAME IS NULL:2007/09/26(水) 11:26:23 ID:???
imp、expするときって、DBの文字コード依存しちゃいます?
689NAME IS NULL :2007/09/26(水) 23:33:48 ID:???
>>690

思い切りな。
まあ、大抵は自動で変換してくれたりするがな。
690NAME IS NULL:2007/09/27(木) 10:10:11 ID:???
oracleサーバーが実行したSQLのログを簡単に見る方法はないですか?
外部のシステムがoracleを使用していて、多分そこで悪さをしているのですが、
文句を言う前に証拠を見せろ野一点張りで…

何とかしてSQLのログを調べたいのですが、方法はありますか?
691NAME IS NULL:2007/09/27(木) 10:12:22 ID:???
定義が同じ、A・Bがあって、差分を取りたいのですが、簡単な方法あれば教えてください。
692NAME IS NULL:2007/09/27(木) 10:56:19 ID:???
インスタントクライアントって9i対応ないのでしょうか。

Windows(インスタントクライアント10g) → unix(9iサーバ) の環境で、
cseで接続できるでしょうか?
693NAME IS NULL:2007/09/27(木) 11:19:33 ID:???
>>691

データの差分ということ?
だったらminus関数使えば?

select * from A minus select * from B
といった感じに?
694NAME IS NULL:2007/09/27(木) 11:20:36 ID:???
>>690

簡単に見るというのは難しいね。
ファイングレイン監査か、もしくは10g OEM、あるいはサードパーティ製の
ツールが必要だろうね。
695NAME IS NULL:2007/09/27(木) 11:40:07 ID:???
>>692

出来る。
10gクライアントから9i DBの接続はサポートされている。
696NAME IS NULL:2007/09/28(金) 11:00:45 ID:???
>>695
ありがとうございます。

instantclient-odbc-win32-10.2.0.3-20061115.zip、instantclient-basic-win32-10.2.0.3-20061115.zipをダウンロードして
ダウンロードフォルダーにパスを通し、ODBCのインストールも実施して、
ODBCのドライバリストに登録されたことも確認しましたが、
システムDNSの登録の際に、インストールがされてませんのエラーが出ました。

クライアントのインストールをしなくても使えると書いてあったのですが、これはどうしてでしょうか?
697NAME IS NULL:2007/09/28(金) 20:49:08 ID:FkBhlVIQ
SI オブジェクトブラウザ最強
698NAME IS NULL:2007/09/28(金) 22:30:25 ID:???
ttp://www.mainichi-msn.co.jp/shakai/wadai/news/20070929k0000m040116000c.html
--------------
神戸新聞社(神戸市)で今月22日に新聞製作システムが立ち上がらないトラブルで紙面が作れなくなった問題で、
システムを開発した日本電気(NEC)と日本オラクルは28日、システムに使われているデータベースソフト
「オラクル9iデータベース」にプログラムミスがあった、と発表した。
699NAME IS NULL:2007/09/28(金) 22:42:48 ID:ncTp7tKO
>>698

その件はshutdown abortを通常運用に組み込んでいたことが原因の一つにあるみたいなんで、
運用方法にも問題があるような気がする。
700NAME IS NULL:2007/09/29(土) 00:53:39 ID:???
shutdown abortを前提とした運用を設計したやつってすごいw
701NAME IS NULL:2007/09/29(土) 01:06:52 ID:???
神戸新聞のはKROWNが一般公開済み。

ttp://support.oracle.co.jp/krown_external/oisc_showDoc.do?id=126205
702NAME IS NULL :2007/09/29(土) 02:14:22 ID:???
>>696

面倒だから10gクライアント入れておけ。
703NAME IS NULL:2007/09/29(土) 07:15:43 ID:???
>>699
Oracleが開発に加わっていたのだから、最初に教えてあげるべき。
それか、問題と認識していなかったか。または、
704NAME IS NULL:2007/09/29(土) 07:47:12 ID:???
サポートや障害発生時の臨時稼動の費用は
開発より何倍も搾り取れるからシノギ行為を黙認した
または、
705NAME IS NULL:2007/09/29(土) 07:56:03 ID:???
>>703
神戸新聞社の組版システムはNECが開発、オラクル社製品のサポート「も」行っている。

じゃん
706NAME IS NULL:2007/09/29(土) 21:19:35 ID:???
では、NECが糞って事でFA?
707NAME IS NULL:2007/09/30(日) 17:17:16 ID:v3DOfxU+
>>706

NECは糞じゃない!!!!!

2006年3月に神戸新聞社の組版システムをカットオーバーさせた。

そして今年Oracle Award 2007【Oracle Partner of the Year(最優秀賞)】を受賞した

理由は
************
昨年度日本オラクルと共に顧客ビジネスに最も貢献したパートナーに贈られる賞であり、
NECはオラクルとの協業20周年という節目の年に、年間の最優秀賞を受賞しました。
************
http://www.nec.co.jp/middle/oracle/award/index.html


最優秀企業が糞なわけないじゃん!!!!!!!!
708NAME IS NULL:2007/09/30(日) 17:23:46 ID:???
>>707
できレースということか!!!!!!!!!
709NAME IS NULL:2007/10/02(火) 02:08:12 ID:???
NEC……Oracle……
計った喃 計ってくれた喃
710NAME IS NULL:2007/10/02(火) 12:34:32 ID:???
>>707
まさかAFO?

----------
たくさん売ってくれてありがとう だからOracle社が発行する(他では只の紙切れ)
賞状をあげるよ。もっと売れアホンダラ
----------
と見えるが。

・・・とここまで書いて釣りだったか?w
711NAME IS NULL:2007/10/02(火) 21:28:07 ID:???
OracleってDB以外にもなにか売ってるけど
どれが幸せ?
712NAME IS NULL:2007/10/02(火) 21:59:36 ID:???
>>711
DBだけ使うのが無難www
713NAME IS NULL :2007/10/02(火) 23:22:12 ID:???
>>711

他の製品を買うと、乾いた笑いしか出てこない状況になれます。
それを幸せと思えるマゾ体質な人にはお勧めです。
714NAME IS NULL:2007/10/05(金) 11:21:00 ID:QMmmkZwG
oracle 8.1.7 とかで現在日付をselect sysdate from dualとかでとれるけど、
ミリ秒まではどうやるの?oracle9以降だったらtimestamp型があるからうらやますぃ。
715NAME IS NULL :2007/10/05(金) 22:40:25 ID:???
>>714

対応していません。
716NAME IS NULL:2007/10/05(金) 22:45:33 ID:???
javaストアドを使う
717NAME IS NULL:2007/10/16(火) 23:16:54 ID:A38dmDSy
ORACLE無償版をVISTAにインストールして、
データベースを起動させたら


C:\oracle\BIN>net start OracleXETNSListener
システム エラー 5 が発生しました。

アクセスが拒否されました。


C:\oracle\BINN>net start OracleServiceXE
システム エラー 5 が発生しました。


のメッセージがでるんですけど、
どうすればいいのか教えてください
718NAME IS NULL:2007/10/16(火) 23:36:26 ID:???
とりあえずUACを切ってみる。
OracleXEがVistaに対応するのを待つ。
OSをWindowsXPやLinuxなどにかえる。
719NAME IS NULL:2007/10/16(火) 23:36:46 ID:???
理由がわからないのならVista使うのを止める。
解ったとしても解決するまでかなり面倒な操作が必要だと思う。

OracleはWindowsにとってはあまりお行儀が良くないのでこういう事が起きるのかもしれん。

720NAME IS NULL:2007/10/17(水) 01:27:57 ID:71Y6EBkY
よろしくおねがいします。

Oracle9.2iですが、実行計画を取得時に、
sql*plusから

SQL> set lines 80
SQL> set pages 0
SQL> set autotrace on
SQL> select * from hoge;

のようにして↓↓↓↓↓↓のような表を出力したいのですが、
マニュアルやネットを見てもその方法が分かりません。
どうかお助けくださいませm(_ _)m

Plan hash value: 2339479017
---------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS FULL | HOGE | 1 | 2 | 2 (0)| 00:00:01 |
---------------------------------------------------------------------
721NAME IS NULL:2007/10/17(水) 01:38:23 ID:???
http://biz.rivus.jp/sqlplus/tutorial/autotrace.html
ここを見たのか

何をやってみて、その結果
どんなエラーが出たのかを書けばいいんじゃない?

そうしないと
・Oracleインストールしてないんじゃねーの?
・「SQL>」ってそのまま打ち込んだんじゃねーの?
・hogeテーブルつくってないんじゃねーの?
・PLUSTRACEロール作ってないんじゃねーの?
・GRANTしてないんじゃねーの?
って馬鹿にされるだけ
722NAME IS NULL:2007/10/17(水) 02:17:38 ID:71Y6EBkY
>>721
ご返事ありがとうございます。

そのURLです。感謝です。
内容は、
1.sys as sysdbaでplustrace.sqlを実行
2.scott に plustraceを付与
3.scottでutlxplan.sqlを実行
4.scottでhoge表を作成
5.set autotrace on → select * from hoge
すると、

実行計画
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF 'HOGE'
統計
----------------------------------------------------------
0 recursive calls
0 db block gets
3 consistent gets
0 physical reads
0 redo size
228 bytes sent via SQL*Net to client
372 bytes received via SQL*Net from client
1 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
0 rows processed

となり、rows,bytes,cost(%cpu),timeなどが表示されません。
timed_statisticsはtrue、statistics_levelはtypicalです。
よろしくお願いします。
723NAME IS NULL:2007/10/17(水) 03:43:34 ID:???
10g Release2からフォーマットが変わったんだってさー。

SQL*Plus ユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2)
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19277-01/whatsnew.html

・Autotrace Plan出力
Autotrace Plan出力では、情報が追加され、DBMS_XPLANパッケージ形式が採用されています。
724NAME IS NULL:2007/10/17(水) 22:50:16 ID:71Y6EBkY
>>723
ありがとうございました。
バージョンあげないとダメなんですね。。
725NAME IS NULL:2007/10/17(水) 23:18:41 ID:???
>>724
EXPLAIN PLAN FOR select * from hoge;
@?/rdbms/admin/utlxpls.sql
726NAME IS NULL:2007/10/18(木) 22:25:29 ID:J6h+RjKg
>>725
度々ありがとうございます。感謝です。
timeが出ないのが残念ですが、set timing on
で妥協します。。
727NAME IS NULL:2007/10/28(日) 10:12:32 ID:???
Oracle 11g 試した人は?
728OfgoHgvTsOTtdvI:2007/11/12(月) 06:21:15 ID:???
729vELYWLIVFNyzkv:2007/11/14(水) 00:48:38 ID:???
730FrpNgKyqRI:2007/11/14(水) 14:49:51 ID:???
731NAME IS NULL:2007/11/14(水) 20:57:02 ID:???
Oracle9iで、OSがWindows2003です。

上記の環境で使用しているSQL-Loaderが時間がかかるようになってきました。
単純にデータが増加してきたのでしょうがないのですが、
短くする方法というのはないでしょうか?
ネットで調べた結果、「ダイレクトパスインサート」という方法を
使用すればいいのかな?と思ったのですが。
ちなみに処理自体は、同じDB内のユーザーA.テーブルAから
項目順をかえ・日付項目を文字列化し・改行文字を置き換えて
ユーザーB.テーブルBに毎日洗替でINSERTしてます。
これは、一旦SQL文で上記の置換などを行ったものをテキストファイルに
書き出し、それをSQL-Loader(REPLACEモード)を使ってINSERTしてます。

どうかお知恵をかしください。よろしくお願いします。
732NAME IS NULL:2007/11/15(木) 00:18:26 ID:???
>>731
可能ならREPLACEよりTRUNCATEだろうな。
ダイレクトパスを使うならなおのこと。
速くはなるが制限もあるのでしっかりテストしてくれ。
733NAME IS NULL:2007/11/15(木) 00:28:41 ID:???
>>727
最初からSQL Developerはいってた。
734NAME IS NULL :2007/11/15(木) 00:43:18 ID:???
>>731

それってSQL*Loader使ってやらんでも、PL/SQLか何かで回して
やれば良さそうな気がするんだけど、気のせい?
735731:2007/11/15(木) 21:03:14 ID:???
>732
ありがとうございます。やはりそうでしたか。
いろいろ制限もあるみたいですし、テストやって考えます。
>734
ぶっちゃけそうです。ていうか自分で作ったなら、
何で一旦テキストファイルに吐き出すなんていうムダなことを思いつくんだ?
ていうぐらい謎のプログラムなんです。
違うユーザーとはいえ、普通にSQL文で対応可能なんですよ…
それにダイレクトパス使えばもっと高速と。
ただ、今回は時間と工数がないので、とりあえずの対応としてローダーを
早くしようとしております。
736NAME IS NULL :2007/11/16(金) 00:12:00 ID:???
>>735

もし工数が無いのなら、Viewか何かで対応したらいいんじゃないかと思うんだが?
737NAME IS NULL:2007/11/16(金) 01:01:34 ID:???
同じ項目のテーブルAとBがあって
Aに有ってBに無いレコードをBにインサートするには、

INSERT INTO B
(
SELECT * FROM A
MINUS
SELECT * FROM B
)

でOk?
738NAME IS NULL:2007/11/16(金) 20:21:19 ID:???
>>737

・MERGE文
・↓のようなものをインサート
(
SELECT A.* FROM A
LEFT OUTER JOIN B ON (~~)
WHERE
B.rowid is null
)
・↓のようなものをインサート
(
SELECT * FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE A.primaryKey = B.primaryKey ~~)
)
・↓のようなものをインサート
(
SELECT * FROM A WHERE A.primaryKey NOT IN (SELECT B.primaryKey FROM B )
)
739NAME IS NULL:2007/11/17(土) 12:05:39 ID:???
データベースリンクって使用して何か
困ったこととがありました?
740NAME IS NULL:2007/11/17(土) 13:46:49 ID:???
>>739

やたらと質問が抽象的だな。
昔は結構バグとかあったけど、最近は結構枯れてきている技術だから
そんなに不都合は発生しないと思うけど?
741NAME IS NULL:2007/11/17(土) 14:46:46 ID:???
DBリンク先と接続できない場合に,障害検知までに若干時間がかかる.
コネクションがしばらく残るから接続数の余裕がシビアな環境では思わぬリソースを食う.
そもそも昨今のHDD容量なら,DBリンク張ってサーバを分割する必要はあんま無いと思う.
742NAME IS NULL:2007/11/17(土) 21:23:31 ID:???
DBリンクって単純にサーバ分割するためのものか?
743NAME IS NULL:2007/11/17(土) 21:28:14 ID:???
派閥を分けるのにも使える
744NAME IS NULL:2007/11/17(土) 22:42:41 ID:???
別システムにマスタがある場合とかに使うけど、なるべくなら使わないでほしい。
745NAME IS NULL:2007/11/18(日) 10:02:24 ID:???
複製の方が一般的なのかな?
746NAME IS NULL:2007/11/18(日) 10:28:18 ID:???
例えば受注管理システムと生産管理システムが別々のDBに入っている場合で,
データのやりとりを円滑にするためにDBリンク張ったりするんだろうけど,
この場合,受注管理と生産管理をそれぞれ別スキーマとして,
同じDBインスタンスに放り込んで,シノニム経由なんかにした方が合理的,
ついでに昨今のサーバなら幾らでもデータ入るんだから,
同じサーバ内に同居させた方が良い,と言う話ですな.

参照のみならマテリアライズドビューを噛ました方が,
最悪DBリンクが切れても参照だけならできるから良いかも.
747NAME IS NULL:2007/11/18(日) 12:32:03 ID:???
>>746

必ずしも全部を新規構築できるわけじゃないから、
やむを得ず DB link を使うということはあると思うけど。

ストレージも信頼性の高いものを使うと恐ろしい値段になるし、
まだまだ「幾らでもデータ入る」というわけじゃない。
IBM DS8000 とかのことを言ってるんだけどね。

746 の言うこともわかるので、場合によりけりだろうかと。
748JTLOQtCjv:2007/11/20(火) 21:31:22 ID:???
749NAME IS NULL:2007/11/20(火) 21:35:05 ID:1MXWt+Kj
少しは運用の事考えろよ。
なにも考えずに合理的ってアホか
750jaRWVWzy:2007/11/20(火) 21:55:34 ID:???
751SxaDEXHyQLWacUiwVv:2007/11/20(火) 21:56:10 ID:???
752NAME IS NULL:2007/11/21(水) 23:48:27 ID:???
I was just a child when the stars fell from the skies.
753NAME IS NULL:2007/11/21(水) 23:49:32 ID:???
But I remember how they built a cannon to destroy them.
754NAME IS NULL:2007/11/21(水) 23:51:03 ID:???
And in turn how that cannon brought war upon us.
755NAME IS NULL:2007/11/21(水) 23:53:37 ID:???
War was an abstract idea, nothing more than a show on TV.
756NAME IS NULL:2007/11/21(水) 23:55:37 ID:???
As a child, I only saw it as something that happened in some far away land...
757NAME IS NULL:2007/11/21(水) 23:56:51 ID:???
Until that final day of summer...
758NAME IS NULL:2007/11/21(水) 23:57:45 ID:???
One day while on my way to school, I looked up in the skies.
759NAME IS NULL:2007/11/21(水) 23:58:44 ID:???
A sound like distant thunder.
760NAME IS NULL:2007/11/22(木) 01:48:51 ID:???
I'am a girl in love, just a girl in love.
761NAME IS NULL:2007/11/22(木) 17:40:42 ID:???
oracleのpl/sqlをunixのコンソール上でデバッグしたいのですが、
そんなコマンドあるでしょうか?
762NAME IS NULL:2007/11/22(木) 17:44:27 ID:???
まず、Oracleの製品に対して知識を身につけることをお勧めする。
クライアントツールで該当製品が存在しないか調べるように。
763NAME IS NULL:2007/11/23(金) 04:29:48 ID:???
>>761

SQL*PLUSのプロンプトでshow errorで一個ずつ潰していく。
764lTaNvRAgIfHnodj:2007/11/23(金) 04:52:24 ID:???
765NAME IS NULL:2007/11/23(金) 08:51:25 ID:wJPDrYJd
んで、show errors でわからんかったら、
SQL Developerでステップ実行したら、いいんじゃね?
766NAME IS NULL:2007/11/23(金) 12:32:35 ID:???
ユーザにデバッグ権限与えてしかるべきポートを開きそこに接続
767palNVNjnCFL:2007/11/23(金) 21:15:18 ID:???
768dOzoseWGoxAlxs:2007/11/23(金) 21:15:50 ID:???
769MBYlAnagDOsOhT:2007/11/24(土) 06:46:21 ID:???
http://dtdxmf.cn/ eric Clapton mp3
770NAME IS NULL:2007/11/24(土) 16:19:47 ID:Lf07jaAJ
OracleでつかえるSQLクライアント標準で付属してないの?

フリーとかシェアつかうの禁止なんだけどどうすれば....
SQL*PLUSのプロンプトでがんばれと
771NAME IS NULL:2007/11/24(土) 17:50:28 ID:???
>>770

SQL*Plusはお前が考えているよりずっと高機能だぞ。
一度マニュアルをちゃんと読んでみるといい。
772NAME IS NULL:2007/11/24(土) 18:50:17 ID:???
>>770
11gからはSQL Developerが標準で付いています。
付いていない9i, 10gでもダウンロードすればいいでしょう。
773NAME IS NULL:2007/11/24(土) 21:40:27 ID:???
EMないしOEM使えばいいじゃん。
774NAME IS NULL:2007/11/24(土) 23:05:25 ID:???
>>770

( ´ー`)つiSQL*PLUS
775AMyYhVtZT:2007/11/25(日) 02:12:25 ID:???
776NAME IS NULL:2007/12/01(土) 10:48:07 ID:???
>>774
11gには無い
777仕様書無しさん:2007/12/01(土) 14:35:16 ID:???
SQL*Plusに不自由を感じた事がないんだが。
778NAME IS NULL :2007/12/02(日) 01:05:20 ID:???
>>770

( ´ー`)つラプター
779NAME IS NULL:2007/12/02(日) 08:37:27 ID:???
gvimとかxyzzyのsqlplusモードを使えば?
一応,DBに対してはsqlplusで接続してることになるから規約違反にはならないと思うけど.
もしくはそれらを参考にsqlplusのフロントエンドを自作するか.
780NAME IS NULL:2007/12/02(日) 09:16:03 ID:???
>>770
つ「ACCESS + ODBC」
俺なら絶対にやらないけどwww

Object Browserでも買え。


最終的には>>777に同意。
781NAME IS NULL:2007/12/08(土) 02:04:39 ID:???
ORACLE M@STER
782NAME IS NULL:2007/12/08(土) 02:28:10 ID:???
PL/SQLの開発で使うのに、
SQL DeveloperとPL/SQL Developer、どっちが良く使われてンの?

両方落として試してみたけど、EasyさではPL/SQL Dev. のような感じがした。
ていうか、SQL Dev.は重過ぎる(64X2 3800+)

783NAME IS NULL:2007/12/08(土) 10:11:18 ID:???
ObjectBrowserで開発しなくてはいけない俺はいったい・・・
はっきり言って運用ツールだよなこれ?
784NAME IS NULL:2007/12/08(土) 13:22:47 ID:???
いいえ、ケフィアです。
785NAME IS NULL:2007/12/08(土) 14:42:22 ID:???
>>783
運用ツールとしてもそこまで優秀とは思えない。
まあ、適当にがんばれ。
786NAME IS NULL:2007/12/08(土) 15:01:11 ID:???
>>783
マシンは買い換えられない、高いツールも買えない
完全に貧乏人のための寄せ集めツール
ま、俺も個人購入で使ってるが・・・
787NAME IS NULL:2007/12/08(土) 15:32:37 ID:bXZiXaG3
>782
テキストエディタとSQL*Plusっていう人も多いかも。
788NAME IS NULL:2007/12/08(土) 17:06:22 ID:???
>>787
いや、漏れも何年か前まではsql*plusのworksheetオンリーだったんだけどね。
今更そんな環境には戻れん。特にデバグ効率が違いすぎる。あとコード補完。

真のオラクラーだとplusだけでデバグ出来無きゃならんのかも知れんけど、実際の現
場ではとにかく効率重視な訳で。
789NAME IS NULL:2007/12/27(木) 13:13:57 ID:???
alter table 移動したいテーブル名 move tablespace 移動したい領域名
で移動中に、移動したいテーブル名に対してinsertした場合は、insertがロックされ移動終了後に正常にinsertが成功する流れになるでしょうか?
790NAME IS NULL:2007/12/28(金) 00:59:43 ID:1F8gzvEg
>789
索引が付いていれば、索引が無効になるので、insert時にエラー。
そうでなければ、成功。
791NAME IS NULL:2008/01/16(水) 13:50:31 ID:7pbGQp1K
どなたかご存知であれば教えていただきたいのですが、
会社でオラクルを購入することになりました。

一応、『ORACLE Standard Edition ONE 10g (10.1.0) 5NUP 製品版 for Win』の購入を考えています。

WEBアプリケーションの開発に使用するのですが、
開発に使用する端末のスペックは以下のとおりです。

  CPU:mobile AMD XP-M 2400+(1.8GHz)
  メモリ:1GB

上記スペックでオラクルは使用できますでしょうか?


もう1点教えていただきたいのですが、
購入しようとしている製品は9万円弱なのですが、
同じ5クライアントの製品で
『ORACLE Standard Edition 10g (10.1.0) 5NUP 製品版 for Win 』
というのがあります。(こちらは12万円くらい)

この2つは何が違うのでしょうか?


色々調べたのですがわからなくて質問しました。
よろしくお願いします。
792NAME IS NULL:2008/01/16(水) 14:01:54 ID:7pbGQp1K
789です。

使用しているOSを書くのを忘れました。

OSは

  WindowsXP HomeEdition Version 2002 SP2

です。

ほかのスレッドを見ているとHomeEditionだと動かないとか、
動いているとか色々な人がいるようですが…実際のところどうなんでしょうか?
793NAME IS NULL:2008/01/16(水) 14:18:59 ID:???
オフィシャルのシステム要件のページがMetaLinkに転送されるようになってた。
何かあったのかな。

>>791-792
マニュアルから
http://otndnld.oracle.co.jp/document/products/oracle10g/102/windows/B25255-03/reqs.htm#297818
Oracle Database ソフトウェア要件
32ビットWindows用のOracle Databaseは、次のオペレーティング・システムでサポートされています。
 -Windows XP Professional

エディション毎の機能の違い
ページはあるんだけど、これは11gのものなのでバージョン違い。
http://www.oracle.com/lang/jp/database/product_editions.html

ってことで、カタログから。
http://www.oracle.co.jp/database/doc/DB10g_R2_0905.pdf
一番下に各エディション毎の機能対応表が。
794NAME IS NULL:2008/01/16(水) 14:51:21 ID:???
>>791
その程度の機種・用途なら、無料のExpressEditionを使うべきでは?

あと、実運用ではなく、開発のためだけであれば、そもそもライセンスを買う必要もない。
795NAME IS NULL:2008/01/16(水) 14:52:43 ID:7pbGQp1K
>>793

情報ありがとうございました。

やはりHomeEditionはサポート対象外なのですね。
796NAME IS NULL:2008/01/16(水) 14:54:03 ID:7pbGQp1K
>>795

すいません。レスの番号をまちがえました…。

2ちゃんねる初心者なもので…。
797NAME IS NULL:2008/01/16(水) 14:54:59 ID:7pbGQp1K
>>794

また間違えてしまいました…。スミマセン。
798NAME IS NULL:2008/01/16(水) 16:37:02 ID:???
>>789
OracleをXP Homeに入れるのは
自己責任で対処できるだけの
自信がなければダメだよ。

素直にXP Proに汁。
799NAME IS NULL:2008/01/16(水) 17:01:17 ID:???
俺は開発デモ機にノートPCのXP Homeに入れたことがあったけど、
特に問題は起きなかったよ。
ただし、管理者権限が細かく設定できないからお勧めできないし、
保障対象外なので素直にやめておいた方が良いよ。
800NAME IS NULL:2008/01/16(水) 17:04:36 ID:???
>>799
俺は全く問題ないケースと、
DBCA/NETCAが起動しないケースがあったな。
801NAME IS NULL:2008/01/17(木) 12:19:08 ID:8keqyfsn
791です。

皆様ご意見ありがとうございました。

社長と相談し、最終的にOSをProにアップグレードすることになりました。

OracleのサポートもOSがHomeだとサポート対象外ということもありますし…。

先ほど、開発端末2台分のWindowsXP Professional アップグレード版を2つ購入してきました。

午後からはOracleを買いに行きます。

色々とありがとうございました。
802NAME IS NULL:2008/01/17(木) 14:42:45 ID:???
今Oracleって小売店で買えるの?
確かに昔ぷらっとほーむで見たことはあるが…
803NAME IS NULL :2008/01/18(金) 03:59:06 ID:???
>>801

Oracleダイレクトに電話してライセンスだけ買えば?
本体はU.S OTNからででも落とせばいいし?
804NAME IS NULL:2008/01/18(金) 12:20:33 ID:Uu/5PqWD
791です。

Oracleは会社の都合で今週中に必要だったので、
代理店に直接受け取りにいきました。

箱を空けたらCDやらDVDやらが30枚くらい入っていてびっくりしました。
(なのに説明書はペラペラです…)

とりあえずvistaの端末にデータベースとクライアントをインストールしました。
805NAME IS NULL:2008/01/18(金) 12:52:41 ID:???
今はマニュアルも全てデータだからね
昔はちゃんとした本で、その重さときたら・・・
806NAME IS NULL:2008/01/18(金) 16:15:52 ID:???
まあ重さもそうだが値段もすごかったな。
たかがダンボール数箱分のくせに車買えるくらいした。
807NAME IS NULL:2008/01/18(金) 20:26:51 ID:BBt2DSbf
CentOS5 + Oracle10g の環境です。

Oracle サーバ (=NFS クライアント) 上の oradata 配下を NFS に配置した
スタイルで運用しようと試行錯誤しているのですが、ORA-00205 が発生するため
データベースをマウントした状態でインスタンスを起動できません。
nomount なら起動できます。
アラート ログに下記のエラーメッセージが出力されます。

ORA-00202: Message 202 not found; No message file for product=RDBMS, facility=ORA; arguments: [/opt/oracle/product/10.2.0/db_1/oradata/tstdb1/control01.ctl]
ORA-27086: Message 27086 not found; No message file for product=RDBMS, facility=ORA
Linux Error: 37: No locks available
Additional information: 10
Fri Jan 18 19:40:01 2008
ORA-205 signalled during: ALTER DATABASE MOUNT...

NFS クライアントのマウント オプションは下記の通りです。
hard,initr,rsize=16384,wsize=16384

調べると、ファイルのロック制御に失敗しているようなのですが、なかなか有効な情報が
見つからず困っています。
oradata 配下を NFS に配置することはできないのでしょうか。
808807:2008/01/18(金) 20:34:28 ID:???
x : hard,initr
o : hard,intr
809NAME IS NULL:2008/01/18(金) 20:34:31 ID:???
>>807
データベースファイルをNFSで運用するのは非推奨だし、
たしか動作保証外になってた希ガス。
810NAME IS NULL:2008/01/18(金) 21:16:55 ID:???
> oradata 配下を NFS に配置することはできないのでしょうか。

はい。できません。

どうしても共有したければ OCFS2 を構成してください。
811NAME IS NULL:2008/01/18(金) 21:32:15 ID:SGztWTji
米Sun、MySQLを買収。「SolarisにはMySQL、WindowsにはSQL Server、Oracleオワタ\(^o^)/」という時代へ
http://namidame.2ch.net/test/read.cgi/news/1200622126/
812NAME IS NULL:2008/01/18(金) 22:12:17 ID:???
ならないよw
DBに関する重要特許は独占しているし、安定性もセキュリティも桁違い。
813NAME IS NULL:2008/01/18(金) 22:20:17 ID:???
MySQL監査機能がないから
最近の案件だと製品選定で真っ先に落ちる
814NAME IS NULL:2008/01/19(土) 00:21:10 ID:???
NFS上にもデータベースを配置できるぞ。
NFSサーバーを選ぶけどな。

NFSでlockを獲得できないといわれるときは、一旦NFSサーバー側のファイルロックをクリアしてみる。
その後、NFSクライアントを再マウント。
815NAME IS NULL:2008/01/19(土) 06:55:21 ID:Nx/YSWVp

私が小学生の頃、
日本中でノストラダムスの予言が大流行していた。
「1999年の7月に人類は滅亡する!」
という例のお騒がせ終末予言である。

大人になって社会に出て働きだして、
あくせくと忙しく日々を過ごしながら、
1999年は、
ありふれた日常の中であっさりと過ぎていった。
人類は滅ばなかった。

これからここで、
1999年に起こるかもしれなかった人類の壊滅的破局を、
誰にも知られずにこっそりと回避させた人たちがいた...
という設定で、
荒唐無稽なストーリーを描いてみたい。
無論、100%完全なフィクションである。

http://www5.diary.ne.jp/logdisp.cgi?user=532063&log=200705
816NAME IS NULL :2008/01/19(土) 09:50:55 ID:???
>>807

NFSはちゃんとrwでマウントしてんだよねぇ?
817NAME IS NULL:2008/01/19(土) 13:45:29 ID:???
>>807

>>814と同じだが
metalink.oracle.comのnote145194.1に
netappでの直し方が書いてある。

閲覧には保守契約が必要
818807:2008/01/21(月) 10:03:39 ID:???
レスくださったかた、ありがとうございます。
普通に CentOS5 の NFS を使っただけでは、うまくいかないことはなんとなくわかりました。

ご紹介いただいた、

metalink.oracle.com

を参照の上、あらためて結果を報告します。
819NAME IS NULL:2008/01/21(月) 18:30:33 ID:???
ここでいいのかな

BEAって何してる会社?
アプリケーションサーバってなに?
820NAME IS NULL:2008/01/21(月) 22:13:56 ID:???
WebLogic
821NAME IS NULL:2008/01/22(火) 00:10:14 ID:???
>819
820がほぼ全て語ってる気もするが
どっちかというとWebProg板の話ですな
822NAME IS NULL:2008/01/22(火) 21:16:09 ID:???
ものすごく初期的な質問で申し訳ないのですが、
「Oracle9i Enterprise Edition」でエクスポートしたダンプを、
「Oracle9i Standard Edition」でインポートできるもんでしょうか?
ダンプファイルの内容自体は、普通のテーブルとインデックスしかありません。
また、パッチのバージョン(9.2.0.5)は同じです。

よろしくお願いします。
823NAME IS NULL:2008/01/23(水) 10:19:37 ID:???
>>822
問題なし。
824NAME IS NULL:2008/01/25(金) 03:28:54 ID:???
WLもオラクルで面倒見てくれるようになるのだろうか。
OEL移行ついでに、アプリケーションサーバもWLからOASにしようとしてたところだった。
MS/Sun/Oracleって3大巨頭になりそうだな。
825NAME IS NULL:2008/01/25(金) 18:14:02 ID:???
テーブルに登録されているデータ容量が知りたいのですが、
下記のSQLで問題ないでしょうか?

SELECT
SEGMENT_NAME,
SUM(BYTES)
FROM
USER_SEGMENTS
WHERE
SEGMENT_NAME = 'テーブル名'
GROUP BY
SEGMENT_NAME
826NAME IS NULL:2008/01/25(金) 20:27:05 ID:???
テーブルによって確保されているDISK容量ならそれであってる。

ただし
100万件INSERTして100万件DELETEした場合だと
実際は0件なのに100万件だったときの容量がでる。
827NAME IS NULL:2008/01/26(土) 10:16:21 ID:???
10gとか9i,8iとかのiとかgとかって何の意味なんだろ?
11は11gだったよね.
7以前は知らん.
828NAME IS NULL:2008/01/26(土) 12:31:18 ID:???
i=Internet
g=Grid
だったような気が。
829NAME IS NULL:2008/01/27(日) 17:52:53 ID:???
8と8iは別物と言っていいくらい違う
830NAME IS NULL:2008/01/27(日) 18:35:49 ID:???
そしてなぜか7.3と8.0.xが似てたな。
831807:2008/01/27(日) 22:51:14 ID:???
調べたところ、807 で投稿した事象は Linux の NFS Client のバグだそうで、nolock のオプションをマウント時に
つけることで事象を回避できました。
832NAME IS NULL:2008/02/05(火) 02:49:23 ID:vkOlCSGD
40,000,000件を更新する処理があるのですが、このとき必要な
undoセグメントの大きさと作成されるアーカイブログの量を
見積もる方法を教えてください。
処理は1トランザクションを考えていますが、
場合によっては途中でコミットすることも考えています。
833NAME IS NULL :2008/02/05(火) 05:09:04 ID:???
>>832

んなもん更新するブロックのサイズによって変わるし、undo_retentionにだって
思い切り影響を受ける。
テスト環境で1000件ぐらい更新して、それで正確に見積もるのが吉。
834NAME IS NULL:2008/02/05(火) 13:33:55 ID:???
>>832
アーカイブログは更新頻度とオンラインバックアップ間隔に依存する。
オフラインバックアップ運用なら、なしでもよい。
835NAME IS NULL:2008/02/05(火) 16:04:03 ID:???
Oracleの入ったLinuxマシンにWinマシンからアクセスしたくて
OSqlEditをインストールしたんだけど
OCIライブラリが初期化されていません
とかいわれて接続できません
OCIライブラリをインストールするには
どこからダウンロードしたらよいでしょうか
836NAME IS NULL:2008/02/05(火) 21:17:40 ID:???
>>835
Oracle Clientインストールしたら入るべ
837NAME IS NULL:2008/02/05(火) 21:26:35 ID:???
>>832
データ量を減らして更新して
v$undostatかv$sysstatあたりを見れば
見積もれるんじゃねーか?
838NAME IS NULL:2008/02/05(火) 22:18:51 ID:???
>>836
ありがとう!

ところで、sqlplusから、テーブル名ってどうやって変更するの?
839NAME IS NULL:2008/02/05(火) 22:57:16 ID:???
rename a to b;
840NAME IS NULL:2008/02/05(火) 23:06:42 ID:???
日付型での検索って
SELECT * FROM hoge WHERE d>TO_DATE('2008-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS');
みたいにTO_DATE使わないとできない と思ってたけど

SELECT * FROM hoge WHERE d>'2008-01-01 00:00:00';
みたいに適当に書いても検索出来るときがあるよね?
これって日付のフォーマットを定義すれば出来る話?
841NAME IS NULL:2008/02/05(火) 23:54:12 ID:???
>>840

NLS_DATE_FORMAT とかかなー


842NAME IS NULL:2008/02/06(水) 00:24:15 ID:???
>>840
Oracle8iでも無い限り暗黙変換などに期待せずに素直に日時リテラル使え
843NAME IS NULL:2008/02/06(水) 17:52:52 ID:???
>>841
なるほど
844NAME IS NULL:2008/02/07(木) 17:19:50 ID:???
各テーブルのcreate文を出力するsqlを教えていただけないでしょうか。
オブジェクトブラウザが使えない環境なので・・・
できれば関数とプロシージャの取り方も教えていただければ幸いです。
845NAME IS NULL:2008/02/07(木) 22:43:04 ID:???
日本語か英語で聞いたほうがよい
846NAME IS NULL:2008/02/07(木) 22:56:37 ID:???
翻訳こんにゃくを食べた俺には
ttp://www.shift-the-oracle.com/plsql/dbms_metadata/
の事を言ってる気がする
847NAME IS NULL:2008/02/07(木) 22:59:18 ID:???
>>844
dbms_metadata.get_ddl
848NAME IS NULL:2008/02/12(火) 14:24:46 ID:???
alter table 移動したいテーブル名 move tablespace 移動したい領域名
でテーブルスペースを移動するとき、
移動中に移動対象テーブルのアクセスがあった場合は、
SQLエラーになるのでしょうか?
それとも移動完了までのロックになるのでしょうか?
849NAME IS NULL:2008/02/12(火) 15:59:36 ID:???
>>848
それくらい実験してみろよ。
850NAME IS NULL:2008/02/12(火) 16:09:36 ID:???
変更は移動する前の表領域に対して行われるだけで、
移動先が追いつくまでは、内部的に切り替わらない。
851NAME IS NULL:2008/02/12(火) 16:38:58 ID:???
>>849
もちろん試したのですが問題なかったのですが、
タイミングの問題でたまたま成功したように見えたってことを心配しました。
何よりも仕様を知りたいと思いまして。
>>850
つまりは、移動SQLの処理が終了しない間に更新・参照がかかっても
ロックされることなく正常に処理されるということですよね?
ありがとうございます。
852NAME IS NULL:2008/02/12(火) 17:13:19 ID:???
853NAME IS NULL:2008/02/12(火) 17:15:48 ID:???
> LOCKED_MODE列を見るとmoveコマンド実行時は'6'=排他ロックモードで実行されています
854NAME IS NULL:2008/02/12(火) 22:17:20 ID:???
>>844
OEMでDDLの表示すればOBは不要だろ
855NAME IS NULL:2008/02/12(火) 23:09:44 ID:???
>>854
オラクルはOEMを相当押しているみたいだけど
現場にそんなに導入されてるか?
856NAME IS NULL :2008/02/12(火) 23:29:50 ID:???
>>855

うちは結構使っているなぁ。
現場と言ってもヨーロッパとアメリカだけどさ。
857NAME IS NULL:2008/02/13(水) 00:55:36 ID:???
多くの現場がOEM>>>>OB>SQL Developerって感じじゃないか
858NAME IS NULL:2008/02/13(水) 01:20:52 ID:???
OEMは重過ぎるのが難点かな。
複数台のサーバーをOEM専用サーバーでまとめて管理とかならいいけど、
サーバー1〜2台程度の構成でOEMまで導入したらリソース食いすぎできつい。
859NAME IS NULL:2008/02/18(月) 11:16:58 ID:???
exp system/manager tables=(A) file=before.dmp

Aテーブル変更

exp system/manager tables=(A) file=after.dmp

before.dmpとafter.dmpから差分を出すツールや方法ありましたら教えてください!
860NAME IS NULL:2008/02/18(月) 16:05:51 ID:???
diff before.dmp after.dmp
861NAME IS NULL :2008/02/18(月) 18:16:38 ID:???
>>859

一回Importしてみるしかないじゃない?
表名の重複を避けるために別々のスキーマにImportしてminusでも使えば
差分は一発で分かるっしょ。
862NAME IS NULL:2008/02/18(月) 23:18:11 ID:???
>860
俺のコーヒー返せwww
863NAME IS NULL:2008/02/23(土) 15:25:51 ID:???
そもそもDB鯖は専用にすべき。
管理ソフトなんて入れちゃ駄目だよ。
864NAME IS NULL:2008/02/25(月) 02:05:13 ID:6ycVpU1X
SQL*PlusでSQL文を実行するときに、指定時間経過後にエラーが返るように
したいのですが、どうしたらよいでしょうか?Oracle9i(R2)
(Java の Statement#setQueryTimeout のような感じ)。
865NAME IS NULL:2008/02/27(水) 00:54:33 ID:???
質問があります。
いまさらですがOAS4.0.8を乗せ換えようとしてます。
新しい環境だとカートリッジに登録したJSERVLETアプリケーションが
起動しません。何か特別な設定があるのでしょうか?
手順書のPDF通りにしているのですが・・・。

WWWリスナー経由でほかのPCからだとJAVAアプリケーションが実行できるのが
そのPCだと起動しないのが原因なんでしょうか?
866NAME IS NULL:2008/02/27(水) 09:46:19 ID:???
>>865
とりあえずマルチは止めよう
867864:2008/03/02(日) 04:55:41 ID:???
一応解決しました。
プロファイルの CPU_PER_CALL を使用しました。
868NAME IS NULL:2008/03/03(月) 22:33:12 ID:5tZy63eQ
項目A(3バイト)、項目B(6バイト)

(更新前)
AAA,BBBCCC
AAA,BBXCCC
AAA,BBPCCC

(更新後) ← このようにしたいです。
AAA,BBZCCC
AAA,BBZCCC
AAA,BBZCCC

目的は、項目Bの頭3バイトだけを”BB*”で条件に指定して、
項目Bの頭3バイトを全て”BBZ”に更新したい場合どうすればよいのでしょうか?
項目Bの後3バイトの”CCC”はそのまま残さなくてはいけないため、
どのようなSQL文にすれば良いのかわかりません。

どうしても後3バイトを生かしたままの更新なので。。。。困ってしまします。

お知恵をお貸しください。
869NAME IS NULL:2008/03/18(火) 06:33:06 ID:???
UPDATE テーブル SET B='BBZ'||SUBSTRB(B,4,3)
WHERE B LIKE 'BB_CCC';

じゃ、だめ?
870864:2008/03/18(火) 18:40:32 ID:???
871NAME IS NULL:2008/03/27(木) 20:56:01 ID:???
ORACLE質問 PART2
http://pc11.2ch.net/test/read.cgi/tech/1058976522/487-488

488 名前:デフォルトの名無しさん[sage] 投稿日:2008/03/03(月) 23:31:05
UPDATE HOGE SET B = ('BBZ' || SUBSTR(B,4,3)) WHERE B LIKE 'BB_%'
872NAME IS NULL:2008/04/09(水) 20:26:47 ID:CidHgDxH
SQLの取得方法で質問です。

以下のデータが存在するとします。

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文を生成出来ないでしょうか?
873NAME IS NULL:2008/04/09(水) 22:27:00 ID:???
ID | KINGAKU
-------------
0001 | 1000
0002 | 2000
0003 | -1000
0004 | 3000
0005 | 1000
0006 | -1000
こんなデータなら1-3と5-6で相殺するんだろうから、普通のSQLじゃむりじゃない?
PL/SQLでテンポラリテーブルに吐き出したものを参照するか、
プログラム側で出すほうがいいと思うけど。
874NAME IS NULL:2008/04/10(木) 06:11:24 ID:???
ここはマルチポストのすくつですね。
875NAME IS NULL:2008/04/12(土) 15:57:56 ID:???
11gをCentrinoDuoのノートPCに入れたら重すぎて
速攻アンインストールしました
876NAME IS NULL:2008/04/15(火) 00:24:41 ID:???
初心者です。

仕事で、Oracleを使います。
Oracleの10gをPCサーバにインストールして、クライアントを別のPCに
インストールしています。
Pro*C/C++を使って、DBを操作したいのですが、
C/C++の開発環境がサポートしていないためか
うまくいきません。
開発環境は、Visual Studio C++ 2008
です。
2008は新しいので、無理なのでしょうか?
VC++2005や2003だとよろしいですか?
教えてください。
877NAME IS NULL:2008/04/15(火) 01:05:48 ID:???
>>876

何の初心者?

OracleなのかWindowsなのかC/C++なのかPro*C/C++なのかSQLなのか
開発そのものなのか質問の仕方なのか問題の把握の仕方なのか
人間としてなのか。

ほんとうっとうしいな。
878NAME IS NULL:2008/04/19(土) 15:23:25 ID:???
Ora8iのデータベース(DBFとREDO)をiRAMに入れたら
impにかかる時間が1時間から4分になった
879NAME IS NULL :2008/05/14(水) 04:11:20 ID:???

◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
http://system-trading.jp/news/index.php?cID=3

5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
http://www.fx-gp.com/about/

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
880NAME IS NULL :2008/05/14(水) 04:13:23 ID:???

◆6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催
http://system-trading.jp/news/index.php?cID=3

5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
  デモトレードの優勝者には賞金三百万円がプレゼントされます。


▼トレード部門
初期資産500万円で、デモ取引のトレード収益を競っていただきます。
http://www.fx-gp.com/about/

▼賞金総額
■社長特別賞(シストレソフト買取価格) 10,000,000円
●シストレソフト部門賞 1位300万円 2位100万円 3位50万円
●トレード部門賞 1位300万円 2位100万円 3位50万円
●前期MVP賞 50万円
●後期MVP賞 50万円
881NAME IS NULL:2008/05/22(木) 18:03:15 ID:???
sage
882NAME IS NULL:2008/05/25(日) 01:14:46 ID:???
オラクルにオンメモリのデータベース製品あったと思うけどね。
今時は、RAMディスク作ってデータベースファイル置くのが流行?
883NAME IS NULL:2008/05/25(日) 15:23:12 ID:???
>>882
SSDだろ
884NAME IS NULL:2008/06/07(土) 06:00:45 ID:1HhbjOFd
>>876

>2008は新しいので、無理なのでしょうか?

黄身には無理なのでは。

ProC/C++は、プリコンパイルするだけ。
プリコンパイルできないのか、コンパイルエラーになるのかだけでも
全く違う。
885NAME IS NULL:2008/06/19(木) 11:09:00 ID:???
AというSIDにtestというユーザーがあり、テーブルにデータが入っています。
testには何も手を加えず、testのデータが入っていないユーザーダンプを取って、お客に渡したいと考えています。
(testに重要情報があり、そのままダンプできないので)

しかもAのDBは稼動中なので、データを消すこともできません。
思いついた方法が、testをユーザーダンプして、Aにtest1ユーザを作りデータをインポート、重要データ削除、test1のダンプを取得で
行けるかなと思っています。このやり方で問題ないでしょうか?
886NAME IS NULL:2008/06/19(木) 11:48:23 ID:???
>>885

exp で rows=n すればいいのではないかな。
887NAME IS NULL:2008/06/19(木) 15:04:40 ID:???
>>886
ありがとうございます。助かりました。
GRANTS、INDEXES、TRIGGERSは選択できるようですが、VIEW・ファンクション・プロシージャのみをエクスポートすることはできるでしょうか?
888NAME IS NULL:2008/06/19(木) 15:38:13 ID:???
>>887
それだけってのは無理だから、
データディクショナリから
DDL取得すれば良いんじゃね?

でなきゃObject Browserでも使えば?
テキストファイルにスクリプト出力できるよ。
889NAME IS NULL:2008/06/22(日) 11:19:47 ID:???
>>883
SSDをFC接続?確かにとても高速になりそうだけど、凄い値段になりそうだ。
玉取り替えるだけでいくら必要になるのやら。
890NAME IS NULL:2008/07/01(火) 17:24:26 ID:???
HP-UXですが、sqlplus xxx/xxx@xxx @hoge で
hogeの文字列制限とかってありますか?

発行するSQLは下記の通りです。
update xx set xx = '1' where master_id in ('1234567889', .かなり長い).

ちなみに、inの中で使用できる文字制限なんてないですよね・・・
891NAME IS NULL:2008/07/01(火) 17:31:31 ID:???
>>890
SQL*Plusから発行できるSQLの長さには制限があったはずだが。
892NAME IS NULL:2008/07/01(火) 19:39:32 ID:???
>>890
両方ともある
893NAME IS NULL:2008/07/01(火) 20:11:25 ID:???
>>892
どのくらいなのでしょうか?
894NAME IS NULL:2008/07/01(火) 21:16:30 ID:???
sqlplusだけじゃなく、シェルの制限も受けるんだっけ?
895NAME IS NULL:2008/07/01(火) 23:04:03 ID:???
>>890
ちなみに個数は1000個まで。
896NAME IS NULL :2008/07/02(水) 00:26:47 ID:???
>>888

@hogeに1行で書く場合には最大で2499文字まで。
897NAME IS NULL :2008/10/07(火) 20:48:10 ID:IaR6ySNW
なんかOracle 質問総合スレ2って落ちた?
まあ、こっち使えばいいか。
898NAME IS NULL:2008/10/07(火) 21:58:59 ID:y+gMrh6e
>>897

dat落ちしていたので、立てました

Oracle 質問総合スレ3
http://pc11.2ch.net/test/read.cgi/db/1223384283/l50
899NAME IS NULL :2008/10/07(火) 22:03:33 ID:IaR6ySNW
>>898

乙であります。
900NAME IS NULL:2008/10/22(水) 20:09:19 ID:DPuOfXKG
Oracle EBSの運用することになったのですが、良い本ありませんか?
Oracle E‐Business Suite入門 運用管理編ってのが欲しかった
のですが、どこも入荷できないよう?です。
901NAME IS NULL :2008/10/24(金) 03:10:50 ID:???
>>900

Amazonで転がってるぞ?

http://www.amazon.co.jp/Oracle-E%E2%80%90Business-Suite%E5%85%A5%E9%96%80-%E9%81%8B%E7%94%A8%E7%AE%A1%E7%90%86%E7%B7%A8-%E6%97%A5%E6%9C%AC%E3%82%AA%E3%83%A9%E3%82%AF%E3%83%AB/dp/4883731766/ref=sr_1_3?ie=UTF8&s=books&qid=1224785390&sr=8-3

まあ、でもOracleのコースを受講する事をお勧めするよ。
俺は日本オラクルでまだコースが無かったから、イギリスで受講したけどな。
902NAME IS NULL:2008/10/24(金) 22:56:34 ID:6cTkJBec
>>901
定価\3,150が \16,800とはとても買えません
903NAME IS NULL :2008/10/25(土) 03:36:23 ID:???
>>902

ほえ〜、調べてみたら絶版になってんだなぁ・・・。
昔、日本ボラクルにいた時にタダで貰ったやつが俺の机の
上に転がってんだけどなぁw

ちなみに内容的には本当に一般的なものばかり。
どれくらいのサポートをするのか分からないけど、いわゆる
欧米で言われるApps DBAというレベルのサポート行うには、
これでは不十分というのが正直な感想。

904NAME IS NULL:2008/10/26(日) 09:30:23 ID:kLMG5Psu
インスタンスを起動するコマンドとDBを起動するコマンドは違うのでしょうか?
また、1つのサーバーに1つのDBと1つのインスタンスがある場合、
インスタンスを1つ追加するにはどうしたらいいでしょうか?
初心者で済みません。
905NAME IS NULL:2008/10/26(日) 12:27:18 ID:???
>>904

シングルインスタンス(つまりRACでは無い)の場合はインスタンス≒DBと
思って問題無い。
つまりsqlplus使って、startupでインスタンス(DB)は起動する。

1つのサーバーに1つのDBと1つのインスタンスがある場合、そのDBに
インスタンスを追加してRAC化する(いわゆる1ノードRAC)のはサポート外。
技術的には不可能では無いけどね。
906NAME IS NULL:2008/10/26(日) 15:25:24 ID:???
>>905
>DBにインスタンスを追加して
変な言い方をするなw

>>904
>インスタンスを起動するコマンドとDBを起動するコマンドは違うのでしょうか?
厳密に言えば違うが、それぞれが独立してるわけではなく、ステップが違うだけ。
つまり、漠然と「DBを起動する」といっても、「インスタンスを起動し、DBをマウント&オープンする」ということを意味している。
907NAME IS NULL:2008/10/26(日) 18:09:54 ID:uV6FBV4T
>>905 >>906
ありがとうございます。
908NAME IS NULL:2008/11/28(金) 22:36:08 ID:???
4GB積みの32ビットWindowsにOracle10g入れるとき、
Oracleにメモリどのくらい割り当てる?
(ひとつのインスタンスのみのDBサーバー用途)
909NAME IS NULL:2008/11/28(金) 23:08:20 ID:???
とれるだけw
といいたいけど、32bitOracleって2GBまでって制限なかったっけ?
910NAME IS NULL:2008/11/30(日) 17:05:12 ID:???
>>909
ある。
Oracleというより32bit Windowsの仕様で、
1つのユーザープロセスは2GBまでしかメモリを使えない。


>>908
つ〜ことで、2GBが上限って事で。
残りは3Gオプション付きで起動して、
Windowsカーネルをメモリに固定するとかでヨロ。
911NAME IS NULL:2008/12/01(月) 22:04:42 ID:???
>>910
2GBってのはSGAのみ?SGA+PGA?
いや、oracle.exeが使うメモリもあるから…可能上限ってのはどのくらいなんだろう?
912NAME IS NULL:2008/12/01(月) 22:24:26 ID:???
コミコミプランで
913NAME IS NULL :2008/12/02(火) 00:44:00 ID:???
つーか、普通は流れるSQLや、データ量見てからSGAのチューニングするべ?
多めに見積もってエイヤッでやってもいいけど、32bitという環境を考えたら、
そんなに余裕は無いべよ?
914NAME IS NULL:2008/12/02(火) 13:37:22 ID:???
11gでemを使用すると、CPUが100%になってしまう現象で困ってます。(Win XP)
とりあえず、OracleDBConsoleorclサービスを停止すると回避できるのですが。

どうやら↓に対応策が出てるらしいが英文なんでよくわかりません。
http://forums.oracle.com/forums/thread.jspa?messageID=2614209

どなたか、対応策を教えていただけないでしょうか。



915NAME IS NULL:2008/12/02(火) 19:33:36 ID:???
PHPなどからSELECT文を発行して
その出力を連想配列でもらうときに
ハッシュが大文字のカラム名になるけど
これを小文字にする方法はありますか?
916NAME IS NULL:2008/12/02(火) 20:13:59 ID:???
とりあえずPHPはあるよ。
917915:2008/12/02(火) 22:09:32 ID:???
>>916
ありがとう!おかげで助かりました。

こういうのってあるかないかが分かるだけでも大助かりだよね
918NAME IS NULL :2008/12/02(火) 23:14:11 ID:???
>>914

DBにsysmanユーザーでログインして以下のパッケージを実行。

sql*plus> execute MGMT_PAF_UTL.STOP_DAEMON
sql*plus> execute MGMT_PAF_UTL.START_DAEMON

919NAME IS NULL:2008/12/03(水) 10:19:14 ID:???
>>918

ありがとう。
早速、試してみます。
920NAME IS NULL:2008/12/03(水) 10:42:51 ID:wHacdh1J
VARCHAR2のカラムをNUMBERに変更したいんだけど
ALTER TABLE hoge MODIFY (unko NUMBER) としても
中身を一度空にしなさい って怒られます。
(中身は全て数値として変換可能な文字列になっています)

あまり中身を操作したくないのですが、なにかうまい方法ありますか?
921NAME IS NULL:2008/12/03(水) 16:46:48 ID:???
insert selectで別表にしたら。

件数・用途によるけど
うちはだいたいこれ。
922NAME IS NULL:2008/12/04(木) 23:03:45 ID:???
>>921
ありがとう
CSVで吐いてCSVで突っ込んじゃった
923NAME IS NULL:2008/12/13(土) 15:22:17 ID:???
質問スレにも来てね。

Oracle 質問総合スレ3
http://pc11.2ch.net/test/read.cgi/db/1223384283/l50
924NAME IS NULL:2008/12/24(水) 02:34:38 ID:???
>>922
間違っています。
以上。
↓次どうぞ
925NAME IS NULL:2008/12/28(日) 20:39:36 ID:???
ALTER TABLE hoge ADD COLUMN(unko NUMBER);
UPDATE hoge SET unko=TO_NUMBER(gero);
COMMIT;
ALTER TABLE hoge DROP COLUMN gero;

かなあ・・・
今ORACLE触れる状況じゃないから試してないけど。
926NAME IS NULL:2009/01/10(土) 00:47:05 ID:???
10.0.3 でConnectByしたらSelectするたびに件数が変わる現象に遭遇した
おもしろすぎてニヤニヤしながら調べてたけど
階層構造を構成するテーブルとその他テーブルを結合して、それに検索条件をつけてたのが原因ぽく
まず結合&検索条件で絞ってサブクエリ使ってからConnectByしたら件数固定された

こんな現象にあった人いる?
927NAME IS NULL:2009/01/10(土) 08:19:26 ID:???
>>926

あるよ。
たぶんバグナンバーがあると思う。
928NAME IS NULL:2009/01/10(土) 17:45:56 ID:???
人間がミスをするように、
PGもバグ入りアプリケーションを作る物だしな。
929NAME IS NULL :2009/01/15(木) 23:54:00 ID:???
TARとか見ていると面白いぜ。
たまに開発者が「このバグを直すのは現行バージョンでは不可能です」とかって
書いていたりするからなw
930NAME IS NULL:2009/01/30(金) 07:51:22 ID:???
名ばかりネットワークエンジニアや名ばかりデータベースエンジニア
http://anond.hatelabo.jp/20090125194008


ワロタw
俺の会社wwww涙目ww
931NAME IS NULL:2009/01/30(金) 07:52:38 ID:???
メモリの状態を理解できていないDBエンジニアは確かに多いなぁ。vmstatすら知らない奴とか
932NAME IS NULL:2009/01/30(金) 17:13:52 ID:???
そのへんは動作環境依存だしなあ。
窓とマクと犬とソラリスとHP-UXと全部把握できてるエンジニア自体希少では?

一方PGは開発環境依存だから、窓のVS環境とか、UNIX系のエクリプス環境とか、わりと動作環境のOSとは無関係だし。
同じように評価しようと言うのが無茶。
933NAME IS NULL:2009/01/31(土) 00:29:59 ID:???
そもそも非公開の情報が多すぎる
サポート契約してるのにメモリの状態を完全に把握できない
どの程度のメモリを確保するのか計算式すら提示できないって
いったい何を守ってるの?
934NAME IS NULL:2009/01/31(土) 00:54:59 ID:???
>>933
パッチ作ったりする資金を守ってます。


つかメモリの状態ってOSから見るんと違うん?
935NAME IS NULL:2009/01/31(土) 01:09:56 ID:???
こういう事したいんだけどメモリ消費どれぐらい?って聞いてまともな返事が返ってこないんだよ

話題ズレるけど、障害時にリアルタイムで当該サーバのメモリ状況を採取できるチャンスなんて皆無じゃね?
パフォーマンスモニタなんて常時回すもんじゃないし、それだけじゃ足りないし
936NAME IS NULL:2009/01/31(土) 01:53:47 ID:???
>>935
それってstatspackでは事足りないものかな?
レベルによってかなり細かな情報まで見れたような

障害が発生してDBが原因だったら、統計情報のスナップショットさえとってあれば
統計でディスクアクセスが多ければメモリ領域が足りないのか、実行計画がひどいのかとか
切り分けは可能だと思うんだけども
よく使うテーブルがどれで、どの辺がキャッシュされてほしいかでメモリのサイズもきまらないかなー

そーいえば11gからはselectにヒントで強制的にキャッシュさせることが可能だったね


DBAでは無いので間違ってるかもしれんので突っ込みよろしくたのみます
937NAME IS NULL:2009/01/31(土) 12:57:16 ID:H8Yszxnh
ところでOracle XEのclientも/XEClient/NETWORK/ADMIN
フォルダ作ってそこにtnsnames.oraファイル置けばちゃんと
使えるのってみんな知ってた?
938NAME IS NULL:2009/02/01(日) 01:29:43 ID:???
使えなけりゃクライアントの意味が無い
939NAME IS NULL:2009/02/01(日) 01:58:52 ID:???
>>935
5分くらい考えて「こういう事」のイメージが出ない。
SGA/PGA 以外はほとんど固定でしょ。
Win なら 1専用サーバで +1MB。(EXPIRE_TIME入れると倍)

中でどんなメモリ確保されてるのか計算式を求める必要性が
理解できないんだが。
障害時だけじゃ広範囲すぎるけど、パフォーマンス障害であれ
ばメモリ情報が取れないとか話にならないし。
940NAME IS NULL:2009/02/01(日) 03:49:57 ID:???
こういう事なんて適当なイメージでまともじゃない質問されても困るだろwww
単に質問の仕方が悪いだけじゃないの?
まともな答えが返って来る見込みのある質問をするのもコミュニケーションのテクの一つ。

モニタしてる事自体が影響を与えてしまうけど、モニタしてる事を前提に設計すればいい話ではある。
どうせOSやネットやDBとかで死活監視して、本来の処理には無駄な負荷与えまくってる訳だし。
941NAME IS NULL:2009/02/01(日) 08:59:18 ID:OWf5p2Ai
とあるDBチューニング専門会社のDBエンジニアから
聞いたのですが、
顧客のOracleに故意に細工を施しておいて、
後で「パフォーマンスが遅いですね。チューニングの必要があります」
と言って、仕事にすると聞きました。
こんなことって可能なのですか?
942NAME IS NULL:2009/02/01(日) 14:44:36 ID:???
ソニータイマーなどない
943NAME IS NULL:2009/02/01(日) 14:57:18 ID:???
でもいつもみんなの心に
944NAME IS NULL:2009/02/01(日) 18:04:34 ID:???
わざわざ細工しなくても普通にメンテしてないと遅く成って行ってるでしょ。
あと出来がよくて利用が増えて来てもパフォーマンスは落ちる物だし。

いまはハード安いから、チューニング費用出すよりも最新のハードに載せ変えたほうが安いことも多い。

まともに管理してるなら、細工したらログに残りそうだがwww
945NAME IS NULL:2009/02/01(日) 19:11:06 ID:???
>>941

そういうことは可能ではあるけれども
DBだけのチューニングごときでは儲からないから
わざわざやらない。

ちなみに、ネタとしてはINDEXのタイプを変えるとかAUDITを有効にしておくとか
いろいろやりようはある。
946NAME IS NULL:2009/02/01(日) 20:10:19 ID:???
日本オラクルのサポートがあるのに、どうしてチューニングの会社が必要なの?
947NAME IS NULL:2009/02/01(日) 22:23:19 ID:???
>>946
サポートじゃチューニングなんてしてくれないぞ
948NAME IS NULL:2009/02/02(月) 00:37:49 ID:???
コンサルはしてくれるから、ヒントはくれると思うよ。
一番高いメニューでかなり請求されるかもだが。
949NAME IS NULL:2009/02/02(月) 00:52:24 ID:???
Oracleサポートに常駐してる人が居たな
あんなところまで外注エンジニアがやってるんだな
950NAME IS NULL:2009/02/04(水) 23:18:10 ID:???
>>933
お前みたいな理屈っぽいのはOracle向かないよ。
すべてを捨てて大らかな気持ちを持つことが
Oracleを扱うエンジニアとしての第一歩さ。
951NAME IS NULL:2009/02/04(水) 23:27:13 ID:???
>>946
グラフ描く会社が煽るからw
952NAME IS NULL:2009/02/05(木) 01:58:36 ID:???
動きがおかしいところがあってOracleサポート契約してたので問い合わせたら
不具合だが隠しパラメータで対応しろと言われたんだが
そんなんで直るなら公開orパッチで対応してほしいと思うのだが。。。。

もしかしてDBが完璧過ぎると会社が儲からないのか?
953NAME IS NULL:2009/02/05(木) 08:47:18 ID:???
よくあるよくある。
ウチもマニュアルと実際の動作に食い違いがあるって、
サポートに問い合わせたら、マニュアルの誤記だってあっさり言いやがった。
マニュアルの意味ねぇっぺよ。
954NAME IS NULL:2009/02/05(木) 22:45:56 ID:???
>>935
逆に聞くけど、こういうことしたい、こういうアプリ乗せたいって質問して、
じゃあこれぐらいメモリ積んでください。なんて答えられるデータベースあるの?
ハードもセットのDB2なら答えてくれるかな?
955952:2009/02/06(金) 00:25:24 ID:???
>>953
やっぱあるのかー
マニュアルの誤記とかすぐ直せるんだから直せよと。。。
956NAME IS NULL:2009/02/06(金) 08:10:11 ID:???
Oracleに限らんけどなw
957NAME IS NULL:2009/02/11(水) 13:40:23 ID:???
元々サポート前提のビジネスモデル。
買い切りの客は相手にしてない。
958NAME IS NULL:2009/02/12(木) 01:43:57 ID:???
Oracleのスタンスは製品の品質は80%で十分。
残りの20%は客がバグ出し及びブラッシュアップしてくれるというものです。
ラリーエリソンがそう言い切ったしw
959NAME IS NULL:2009/02/15(日) 21:53:26 ID:???
>958
ラリーそんなこと言ってた?
960NAME IS NULL:2009/02/16(月) 20:10:16 ID:???
テーブルの型を指定するときは数値型のときに
有効桁数を指定できるけど、演算結果には
どうやって有効桁数を指定したらいいのかな

SELECT AVG(hoge) AS a FROM unko GROUP BY chinko;

たとえばこのとき、有効桁数10桁で a を出力したいんだけど
やりかたがわからない。
961NAME IS NULL:2009/02/17(火) 00:16:37 ID:???
>>960
SQL*Plus なら
SQL> col a for 9999999999
とかだったかな。
環境に依存させない場合は to_char する。
962NAME IS NULL:2009/02/17(火) 02:43:42 ID:???
>>961
TO_CHARだと、小数点以下いくつを切り捨て、とかしか出来ない。
整数部の桁数を調べてそれを有効桁数から引いた分を指定する
のも考えたけど、そんなクエリどうやって書くのか・・・対数つかうの?
963NAME IS NULL:2009/02/17(火) 03:27:15 ID:???
まー、よく調べもしないで、、、。
964NAME IS NULL:2009/02/17(火) 08:42:03 ID:ONMV5oZt
質問させて頂きたく。

Aデータファイル:auto extend(on)自動拡張で拡張中
Bデータファイル:auto extend(off)作りたてで空きいっぱい

A,Bが同じ表領域で新しいextendが作られる場合は
どちらに作られるのでしょうか?

素人な質問で恐縮ですが、
何卒。。。
965960:2009/02/17(火) 14:47:58 ID:???
とりあえず、Oracle側では出来ないことがわかったので
スクリプト側で対処することにしました。
ありがとうございました。
966NAME IS NULL:2009/02/17(火) 23:10:36 ID:???
SELECT FOR UPDATE NOWAITを発行して20分くらい反応が無いのですが、コレは単純に検索に時間がかかっているという判断でいいのでしょうか?
約1億レコードのなかから90レコード程度だヒットする条件なのですが、時間がかかるかかる。

NOWAITをつけたのでロックされているようなら直ぐに反応があると思うのですが…
967NAME IS NULL:2009/02/17(火) 23:24:12 ID:???
FOR UPDATE無しなら?
968NAME IS NULL:2009/02/17(火) 23:46:51 ID:???
>>962
961 だけど、意図してる有効桁数って少数点以下も含んで
かつ整数部の桁数で少数部の桁数が変化するの?
有効桁数5桁として "0.1234" や "5678.9" にもなるし、
"0.0012345" もアリってこと?
むしろ、スクリプトでも何でも、どうやって対処したのか知りたい
んだけど。

整数部が上限3桁として、小数部も含めて5桁なら
substr( to_char( col, '999.99990' ), 1, 6)
とかかな。(必ず切り捨てにはなるけど)
969NAME IS NULL:2009/02/18(水) 00:00:30 ID:???
あっ、trim も入れないと駄目だなきっと。
970NAME IS NULL:2009/02/18(水) 01:34:40 ID:???
>>968
そうです。 123456で有効桁数5桁なら123450です。

1.2345E+5 にしないのは顧客のうんこ仕様ですが。
971NAME IS NULL:2009/02/18(水) 02:08:14 ID:???
>>970
それを有効桁数と言うのかは置いておいて、理解できない要求仕様だw
Oracleだけで実現するなら、FUNCTION作って、case式で書式返すと
かですかね。
972NAME IS NULL:2009/02/18(水) 10:00:05 ID:???
>>967
無しでも応答なしは一緒ですね…

ctrlCで中断できなくなり、コンソールを落としたらトランザクションが残ってしまいそうでそれもできず…
どうしたらいいのでしょう?
973NAME IS NULL:2009/02/18(水) 13:49:41 ID:???
>>972

実行計画見てちゃんと有効な索引が使用されているか確認。
974NAME IS NULL:2009/02/19(木) 00:56:33 ID:???
>>970
ならテーブルの定義でだってできないじゃん、そんなの。

有効桁数をAとしたとき、

floor(x/10^(floor(log10(x))+1-A))*10^(floor(log10(x))+1-A)

たぶんこれでできると思うけど、Oracleにはlogがないんだよな。
975NAME IS NULL:2009/02/19(木) 01:55:30 ID:???
まー、よく調べもしないで。
976NAME IS NULL:2009/02/21(土) 09:58:20 ID:???
>お前みたいな理屈っぽいのはOracle向かないよ。
>すべてを捨てて大らかな気持ちを持つことが
>Oracleを扱うエンジニアとしての第一歩さ。
こんにちは。APEX調べろと言われて調べ始めたのですが、
『ウッハー、読みにくいマニュアルっ。氏ねよ、ハゲッ!』とか
八つ当たりにきたのですが、心が満たされた思いがしました。
がんがります。
977NAME IS NULL:2009/02/24(火) 07:39:02 ID:???
1億レコードの中から90レコードを更新したい
という状況で俺なら

a)自己責任で検証できる環境にインポートする。
b)想定時間内に応答がない時点で、SHUTDOWN ABORTしてしまう。
c)SELECT ROWID FROM TABLE WHERE〜として何秒で90行返却されるか確定する。
d)cを情報源としてROWIDを用いたUPDATE文を90個作成して
 90回実行した時に何秒かかるか確定する。
 これより速い処理は、なかなか難しいので妥協点を知りたい。
e)もし、cが途中で止まるならSELECTが悪い。
  索引が必要か、サーバの性能不足や、なんらかのトラブルを抱えている。
  EXPLAIN PLANしてHASH JOINが利用されているなら、/*+ RULE */の
  ヒント文を入れてHASH JOIN以外を利用するようにしてみる。
f)もし、dが途中で止まるなら排他がかかっている。
g)1行1行の更新に時間がかかっているなら、
REDOログのファイルスタンプ、サイズと、
UNDOTBSの空き容量を調べて、
サイズが不足しているようならaに戻って環境を整備する。
978NAME IS NULL:2009/02/24(火) 23:36:41 ID:???
まぁ、c)が帰ってこないって書いてあるけどな。
979NAME IS NULL:2009/03/02(月) 23:36:19 ID:???
たいがいの問題は、お金で速い鯖買えば解決できる。
980NAME IS NULL:2009/03/03(火) 15:47:08 ID:???
5〜6時間かかるSQLを速くしてくれ、と頼まれた。
SQLは単なる検索で、1000万件クラスの表を5つ〜6つくらい結合して、
SELECTしてくるだけの簡単な処理。
Xeon2.0Ghz x 2にメモリ2GBのOracle10gで決して遅くはないと思う。
メモリやらディスク構成も特に変なところは無さそう。
ついでに多重実行は無しで常に接続ユーザは1人。

索引張ることも検討してみたけど、必要な列には全て張ってあって、
実行計画見たら、ほぼ全件舐めるもんだから、FULLアクセス頻発。

渡されたSQLの実行コストを見てみたら、100,000オーバー。
但し、SQLの方は変えるつもりは無いとのこと。
これはDBサーバ側のチューニングで何とかなるもんなんかね。

上司は単純にサーバ新調で何とかしようと考えてるっぽいけど、
どう考えても劇的に速くなるわけ無さそうなんだけど。。。
981NAME IS NULL:2009/03/03(火) 17:52:55 ID:???
>>980
結合しなければおk
982NAME IS NULL:2009/03/03(火) 18:32:34 ID:???
ああ作成したプログラムの仕様で、一度に投げられるSQLは1つまでらしいんだ。
索引が有効に働く程度のサイズくらいに、
データを絞り込んでやったら?とか言ったら、
不機嫌そうに、「そんな機能は無いです」だと。
983NAME IS NULL:2009/03/03(火) 19:15:04 ID:???
>>980
マテビューは?
984NAME IS NULL:2009/03/03(火) 19:38:41 ID:???
マテリアライズドビューは明日の提案・報告書に盛り込むつもりなんだけど、
こいつが作ったツールって、入力条件から動的にSQLを生成するツールなんですよね。
で、マテビュー使えないか、って以前に打診したら、
検索条件も結合条件も変わるから一概に使えるとは言えない、とか言ってた様な気が。
汎用的な検索ツールですからっ、とか言ってたけど、
どうせ現場で使うのってその中の数パターンなんだから、
典型的な奴で遅い奴だけでもマテビュー使えないか、とか考えてみます。
985NAME IS NULL:2009/03/03(火) 19:51:11 ID:???
>>984
厳しいですね。
参考までに,検索結果は概ね何件くらいですか?
986NAME IS NULL:2009/03/03(火) 21:04:22 ID:???
query rewrite すれば。
987NAME IS NULL:2009/03/03(火) 21:15:31 ID:???
>>980
SQLを変えるつもりが無い時点で、
取りうる方策は、かなり限定されてしまうね。


雑談。
過去経験では、コストベースオプティマイザで
HASH JOINが選択された場合に
想定外に性能が悪い場合があって
調べてみたら一時表領域を浪費しまくってた。
こりゃORACLEのバグくさい、と思って
サポートセンターに行ってPSRをダウンロードして
Release Noteに書いてあるBug Fixを調べたら、
HASH JOINには、結構そんなバグがある。

SQLを実行した時に、なぜか遅くて
一時表領域をバカ食いしてる時には、思い出して。
その時、俺は忙しくてPSR適用とか無理だったんで
/*+RULE*/をSQLに書いて逃げたよ。10gR2での話。

ルールベースだと、Nested Loops Join、Sort Merge Join
のどちらかしか選択されないんだ。
988NAME IS NULL:2009/03/03(火) 21:18:56 ID:???
>>980
実行計画が最適なのかどうか、ボトルネックがディスクなのかCPUなのか、
といった肝心なところを見ていないような。
989NAME IS NULL:2009/03/03(火) 21:31:16 ID:???
検索結果は一番大きいテーブルで1000万件、
それに紐付く子テーブルが300万件くらいづつですね。
実行計画は調べてて、表結合した結果をユニオン/インターセクトしたりしたところで、
ディスクソートが発生して遅くなってて、CPUはあんま使ってないことから、
検索条件をもっと絞り込めば、多分大丈夫なんだけど、
実行するSQLが不定型なんで、個別にSQLの最適化するのが嫌、
とか言って、突っぱねられてる状態です。
ついでに運用環境だから、試しに索引張ってみるとかはNGって上司に念押しされてて、
確証のある方法しかDBへの変更は入れられません。

query rewriteとruleヒントは一度試してみます。

まぁ多分、最悪夜間にSQLを流して帰る運用になりそうなふいんきですが。。。
990NAME IS NULL:2009/03/03(火) 22:05:47 ID:???
雑談。

Core 2 Quad搭載のノートPCを買ったんです。25万円也。

会社にある開発用のサーバ(>>980と同等のスペック)は
秒間に70回のOLTP的なトランザクション処理を
実行出来て、まあまあ速いと思っていたけど、
新しいノートPCは、秒間に220回もこなしやがります。
ちなみに10gR2です。ライセンスはトライアルを使用。

ミニタワーで組めば、6万円程度だと思います。
そのミニタワーで運用できるか?と言えば、不可でしょうけど、
3倍速くなるのがハッキリしてるのなら
200万円のサーバでも、安い!と誰でも判断すると思います。

まあ、そんなこんなで、私は半年に1台ずつPCを
買い換えてるんです。同僚からは、変人と思われてます。
991NAME IS NULL:2009/03/04(水) 00:22:38 ID:???
まぁハード買っても安いから良いんだけど、
ハードの増強効果よりもSQL/アプリのチューニングの方が、
効果大だと思うんだけどなぁ。
最近だと人件費の方が高く付くのかねぇ。
まぁ980の事例がどうなるかは判らんけど。
992NAME IS NULL:2009/03/04(水) 00:44:30 ID:???
DBを全部メモリに載せちゃえばって感じだけどな。
まあ消えるから、頻繁なバックアップ必須だけど。
993NAME IS NULL:2009/03/04(水) 21:05:07 ID:???
メモリを16GBとか搭載したら、そう思うよね。
で、調べてみた。

Oracle TimesTen In-Memory Database
4,500,000円 (1プロセッサ当たり)

高い。高すぐる。
Enterprise Edition前提だし、
顧客を納得させる自信が無い。
994NAME IS NULL:2009/03/04(水) 21:17:02 ID:???
995NAME IS NULL:2009/03/05(木) 00:18:05 ID:???
>>994
おつ
996NAME IS NULL:2009/03/05(木) 15:08:50 ID:???
ラムディスクならもっと安くできるだろ。サポート外だろうけど。
997NAME IS NULL:2009/03/05(木) 19:27:37 ID:???
>>996
ttp://www.insight-tec.com/mailmagazine/ora3/vol355.html
RAMDISKじゃなくてSSDの検証結果ですけど、
たぶんRAMDISKでも、更新系の処理の高速化の
効果しか見込めないような感じがします。

次の文を読んで、ORACLEもなかなかやるなあ、と思いました。
==============================================================
ソート処理の高速化を期待して一時表領域の SSD 化を検証してみまし
たが、ソートに関しては sort_area_size を限界まで(一時的に)拡張するこ
との方がより効果的でした。
さらに、Select の場合も、Oracleのキャッシュが効いていて SSD のメリッ
トを十分に感じることはできませんでした。
==============================================================
998NAME IS NULL:2009/03/05(木) 23:37:46 ID:LtriKPII
998 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
999NAME IS NULL:2009/03/06(金) 00:13:25 ID:???
 
1000NAME IS NULL:2009/03/06(金) 00:46:58 ID:???
1000ついでに、980の事の顛末だけど、
結局アプリ側の改修は一切行わないってことではねつけられて、
サーバの増強ということになりました。
まぁ予算が出るんなら別に文句は言わないけどさ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。