Oracle 質問総合スレ7at DB
Oracle 質問総合スレ7 - 暇つぶし2ch2:NAME IS NULL
12/01/09 12:56:52.58
Oracleが2をゲット


3:NAME IS NULL
12/01/09 14:14:58.81 8po/85zC
安藤優子、木村太郎は、某プロパイダの社外取締役、かつ、安藤は、フジ社外の人間にもかかわらず、フジテレビジョンのM&Aの最中、フジのホワイトナ
イトの【親会社】の本業を無視して、「インターネットは虚業だ。具体性がない
。」というようなことをコメントしました。この虚業は、livedoorを指していた
としても、「同業者」であったということは、非常に、違和感を感じずには、い
られません。


4:NAME IS NULL
12/01/09 17:20:52.16
";" と "/" ってどう違うの?


5:NAME IS NULL
12/01/09 17:53:19.08
>>4
今後はマニュアルをお読みください。

SQL*Plusの場合

";"
・ 単一SQL文の終端
・ PL/SQLの構文終端

"/" (行先頭に"/"のみを書いた場合と仮定)
・ PL/SQLブロックの終端
・ RUNコマンドのalias

6:NAME IS NULL
12/01/09 20:12:40.67
なんで引数なしのDelete でみんな消えるの?

7:NAME IS NULL
12/01/09 20:19:08.58
普通 アスタリスクだろ

select の時はアスタリスクじゃねーか


8:NAME IS NULL
12/01/09 20:20:41.59
と思ったらあれはカラムだった。

9:NAME IS NULL
12/01/09 20:27:44.46
引数って何の話してんだ?

10:NAME IS NULL
12/01/09 20:49:43.04
selectするとき*より必要な列を指定したほうが早いの?

11:NAME IS NULL
12/01/09 23:23:47.38
>>10
早い遅いでいえば、変わらんでしょ。
*でも列指定でも内部的なアクセスブロック数は変わらないし。


12:NAME IS NULL
12/01/09 23:27:58.51
前提条件が少なすぎるので答えはない
インデックスだとブロック数は変わるし

13:NAME IS NULL
12/01/09 23:30:20.74
必要な列数が全列数より少ない場合、特定の条件下では速くなる

14:NAME IS NULL
12/01/09 23:39:23.21
>>12
あー、確かに、インデックスアクセス時に、列指定すれば、テーブルにアクセスしなくていいようなケースだったら、列指定でアクセスブロック数少なくなるね。

ケースバイケースだな。

15:NAME IS NULL
12/01/09 23:47:12.73
>>5
おお、ありがとうございます


16:NAME IS NULL
12/01/10 00:38:39.91
出力可否でも速度は変わる

何の速度によるかだが

17:NAME IS NULL
12/01/10 01:05:11.01
対象行が少ないなら、無視可能な範囲でしか変わらないでしょ

18:NAME IS NULL
12/01/10 02:41:58.36
おいおい
お前ら、ネットワークリソースのことも考慮に入れろよw



19:NAME IS NULL
12/01/10 08:07:29.55
アプリケーションからフェッチしてメモリ格納する際の速度も
視野に入れるとしたら、やっぱ列指定のほうが早いのでは?

20:NAME IS NULL
12/01/10 08:30:24.88
設問の曖昧さも視野に入れようよ

21:NAME IS NULL
12/01/10 08:52:12.40
サーバー上のバッチならネットワークは関係ない。

22:NAME IS NULL
12/01/10 12:23:32.46
だがちょっと待って欲しい。
もしかしたら使っているのはExadataだったのかも知れない。

23:NAME IS NULL
12/01/11 01:26:25.29
>>21
他のサーバ上のDBを参照している場合も考慮しろよな

24:NAME IS NULL
12/01/11 03:09:49.24
2層のシステムなんてそうそうないだろ

25:NAME IS NULL
12/01/11 07:49:12.99
今なんかLinux Serverとか安くなっているから、バッチ専用のサーバーとか
立てている所とかあるぞ。
あとはアプリケーションサーバー側からバッチ走らせていたりとかな。

ExadataだとComputeノードから処理をCellサーバー側にオフロード化させて、
Infiniバンド経由で結果セットを返したりとかだな。


26:NAME IS NULL
12/01/11 08:10:48.26
APサーバーでバッチ処理って作りはやめてほしいわ

27:NAME IS NULL
12/01/11 08:24:58.40
>>10のネタから広がりすぎだろ

28:NAME IS NULL
12/01/11 09:07:03.48
NoSQL製品出す前に
ちゃんとスケールするRDBを作れよ

29:NAME IS NULL
12/01/11 09:26:50.47
あ、はい。

30:NAME IS NULL
12/01/11 14:34:12.42
ISAM時代に逆戻り

31:NAME IS NULL
12/01/11 17:49:39.35
あーSHAZNAのボーカルね

32:NAME IS NULL
12/01/11 18:08:56.49
>>31が暇人のツッコミを待っていますのでどなたかどうぞ

33:NAME IS NULL
12/01/14 09:55:55.15
PL/SQLのDBMS_OUTPUT.PUT_LINEって
1行の長さ制限ってあります?
どうも512文字を超えるとエラーになるようにみえるんですが。

DBの内容を編集しつつ、テキストファイルに落としたいんだが、
最大で1行8000文字になるんですよね。

プログラムから呼び出して編集する方法を考えるしかないのかなぁ。


34:NAME IS NULL
12/01/14 11:09:53.27
>>33
URLリンク(docs.oracle.com)
・最大行サイズは32767バイトです。
・デフォルトのバッファ・サイズは20000バイトです。最小サイズは2000バイトで、最大サイズは無制限です。

バージョンによって違うかもしれない


35:NAME IS NULL
12/01/14 12:20:21.41
>>34
Oracle10gか11gだけど、AIXで動いてるやつです。

substrで512文字以下に区切ると、うまく通るので、
やっぱり行の長さとしか考えられんす。


36:NAME IS NULL
12/01/14 13:32:54.51
今更なんだけど、プロシージャ実行の途中でバッファの内容を出力する方法
ってあんの?いつも実行終了後にどばぁって出力されるんだけど。

37:NAME IS NULL
12/01/14 13:34:27.63
>>33
素直にUTL_FILE使ったほうがいいと思うけど。
それか、sqlplusから出力させるか。

38:NAME IS NULL
12/01/14 16:55:56.54
>>37
もともとTeratermで接続してsqlplusで出力させて、
テキストデータを回収する予定でした。
そのためのPUT_LINEです。

UTL_FILEはDBサーバ側にファイルが作られそうなので、
ちょっとまずそうです。

しょうがないので、Excel VBAか、perlの使用を検討中。





39:NAME IS NULL
12/01/14 18:58:21.93
>>38
諦めるのも一つの選択だけど少なくともバージョンとsqlplusで
show serveroutput
の結果を晒すべきではないかと思う

40:NAME IS NULL
12/01/14 19:24:24.68
スレ違いだったらすみません。

2月からデータベースになるのですが、難しいですか?
入社1年目でデータベースはORACLEで5台セットのようです。
コツなどあれば教えて欲しいです。宜しくお願いします。

41:NAME IS NULL
12/01/14 19:31:58.02
人柱か・・・・

42:NAME IS NULL
12/01/14 21:40:56.99
>>39
すみません、職場のPCの話なので詳細を報告するのは難しいです。

sqlplusは
set serveroutput on size 1000000
くらいで設定しています。(最大値)

その上で出ているエラーです。

アドバイスありがとうございました。


43:NAME IS NULL
12/01/14 22:51:43.29
>>40

20年くらいひたすらデータベースのことだけ考えてたら、いつかデータベースになれる日がくるんじゃないか?

44:NAME IS NULL
12/01/14 23:47:14.88
>>40

データベースになるのか・・・。
周りの人とはやっぱりSQLで会話する事になるのかな・・・?
10万行の結果とか返すの大変そう・・・。

45:NAME IS NULL
12/01/14 23:51:19.95
>>40

まあ、真面目な話、DBAになるのならちゃんとトレーニング受けさせて貰え。
覚えることがかなりあるから、時間がかかるかも知れないがな。

46:NAME IS NULL
12/01/15 01:00:11.12
>>42
例えば LINESIZE が 512 のとき SERVEROUT の FORMAT が TRUNCATED なら各行512文字で切り捨てられる

47:NAME IS NULL
12/01/15 03:23:16.99
ORACLEで5台セットっていう表現がモヤっとする

48:NAME IS NULL
12/01/15 07:37:24.22
すみません。質問なんですがoracle 11.2.0.2のLinux サーバーで2つ目のインスタンスを作成した後、DBにアクセスしたところora- 12547のエラーが出て、DBにアクセス出来ませんでした。
どなたか原因に心当たりありませんか?

49:NAME IS NULL
12/01/15 07:40:23.88
>>40 のようなのもそうだけど、どこの会社もデータベースの設計や構築に力を入れてないのがよく解る。

インフラ技術者が多くても、
パフォーマンス遅い、データが溢れました、バックアップ取れてませんでした
ってのが多過ぎるよな。



50:NAME IS NULL
12/01/15 07:44:51.81
>>48
1つ目のインスタンスへはアクセス出来たの?


51:NAME IS NULL
12/01/15 09:25:56.59
>>50
はい、できてます。
2つ目のインスタンスにアクセスしようとするとエラーが出ている状況です。

52:NAME IS NULL
12/01/15 09:41:00.82
>>51
ローカル接続?リスナー経由の接続?


初回ログインができない?それとも途中で接続がきれる?

53:NAME IS NULL
12/01/15 09:51:59.16
>>52
リスナー接続になります。
sqlplus起動後の初回ログイン時にエラーが発生し、ログインできないじょうたいです。

54:NAME IS NULL
12/01/15 09:54:29.08
>>49
恥を忍んで言いますが。
某小売(東1上場)の基幹システムのテーブル設計をやったの俺だけど、設計当時
パーティションの概念が全く無くて何も考えてなかった。さすがにINDEXの知識
はあったけど。

今、パーティション化されてないテーブルにレコードが4億件入ってて、もうど
うにも出来ない状態。ちなみにこのシステムはバックアップなんか取って無い。
テーブル事に日々差分を取らなくていいんすかね?て上位会社のSEに言ったら、
それが必要がどうかは設計者が個々に考えろって言われた・・・


55:NAME IS NULL
12/01/15 10:01:41.51 iMO9iSY4
>>54
とりあえずパーティショニングオプション買ってパーティション化すれば?
1.対象テーブルexp
2.テーブル削除
3.パーティション表作成
4.対象テーブルimp

性能の大幅改善という名目でリプレイスだな。

56:NAME IS NULL
12/01/15 10:02:52.62
>>48
環境変数ORACLE_SIDを変えてないだけとか

57:NAME IS NULL
12/01/15 10:35:23.35
>>48

O/Sのリソース不足。
メモリとか使いきってたりとかしてないか?

58:NAME IS NULL
12/01/15 10:38:30.45
>>56
ORACLE_SIDはインスタンスごとに替えてました。
状況としてAインスタンスへのアクセスはoracleユーザ、Bインスタンスへのアクセスはxxxユーザと切り替えてアクセスしようとしています。
dbcaでのインスタンス作成時に2つのインスタンスともAユーザで実施しましたが、インスタンス作成時にもユーザを切り替える必要がありますでしょうか?

59:NAME IS NULL
12/01/15 11:01:52.30
>>58
dbサーバローカルから、リスナー経由でアクセスしようとしているってこと?

oracleユーザの話なのか、osアカウントの話してるのか今一わからん。

60:NAME IS NULL
12/01/15 11:07:05.19 iMO9iSY4
>>58
対象インスタンスのリスナー起動してる?ポート番号重複は?


61:NAME IS NULL
12/01/15 11:09:16.74
こういう質問の仕方する人って自分の使ってる環境を書かなくても
みんな知ってるって思い込んでるんじゃないかと思う

62:NAME IS NULL
12/01/15 11:15:22.91 iMO9iSY4
>>61
確かにね。
質問の仕方ってベンダサポート受ける時も重要。質問の内容でそのユーザのレベルが分かるから
ユーザのレベルが低いとサポート側もナメた対応してくるところ多い。

63:NAME IS NULL
12/01/15 11:18:40.50
>>49
おまえ設計とか分かってるの?
一般的な運用設計項目あげてみ?(大見出しだけでいいから

64:NAME IS NULL
12/01/15 11:21:36.45
と言う感じで誘導して答えを引き出そうとしている訳ですねわかります

65:NAME IS NULL
12/01/15 11:28:33.29
>>55
いや、パーティションのオプションは最初から入ってた。
単に俺(というかうちのメンバ全員)が「パーティション?それ美味しいの?」
てレベルだっただけ。2次開発以降に設計したテーブルは極力パーティション化
してるよ。

ちなみに24時間オンラインからも参照してるんで負荷かけられないし、dumpは
恐らく100GB程度になるだろうし、対象テーブル丸ごとexpとか無理ですから。
3年で4億だから、あと4年放置したらどうなるかもう考えたくない。(しかも
店舗数は今後も増える予定だし)

多分リプレースまでこのまま放置だと思うけど、リプレース時のデータ移行で
また死ぬと思うわ。

66:NAME IS NULL
12/01/15 11:30:45.17
環境情報が不足しており申し訳ありません。

ユーザはOSユーザのことです。
ポートの重複については検討し、listenr.oraにポートを分けて記載してました。
ただ、インスタンスごとにリスナーを分けておらず、上記のリスナーファイルに
ポートを分けて記載しておりました。以下の記載です。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 2000))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oracle)
(ORACLE_HOME = /opt/oracle/app/oracle/product/11.2.0/db_1)
(SID_NAME = oracle)
)
(SID_DESC =
(GLOBAL_DBNAME = instanse2)
(ORACLE_HOME = /opt/oracle/app/oracle/product/11.2.0/db_1)
(SID_NAME = instanse2)
)
)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

またOSユーザであるoracleユーザでBインスタンスへはアクセスできておりました。



67:NAME IS NULL
12/01/15 11:36:30.96
OSユーザでOracleにアクセス?

68:NAME IS NULL
12/01/15 11:46:52.51 iMO9iSY4
>>66
OS上でsqlplus使ってoracleユーザだと両インスタンスへ接続が可能ということ?
で別のOSユーザでBインスタンスへsqlplusで繋ごうとして接続できないとういうこと?


69:NAME IS NULL
12/01/15 11:50:28.58
>>66
ついでに、tnsnames.oraもさらしてみようか。

あと、sqlplusで接続するときの引数もね。

70:NAME IS NULL
12/01/15 11:59:42.99 iMO9iSY4
>>65
よくパフォーマンス維持できてるな
クレームの嵐になる前に上司にはアラート上げておいた方がいいぞ。
(自分の身を守るためにも)

しかしバックアップ取ってないとか考えられない・・・
というかやばい、やばすぎる。
おれがエンドユーザだったら構築・運用ベンダ即刻切るレベル。





71:NAME IS NULL
12/01/15 12:03:46.44
OSユーザの見解については>>68の方のご認識の通りです。
(わかりにくくてすみません。)

tnsnames.oraは以下の通りです。
++++++++++++++++++++++++++++++++++++++++++++++++++++
# tnsnames.ora Network Configuration File: /opt/oracle/app/product/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORACLE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)

INSTANSE2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 2000))
)
(CONNECT_DATA =
(SERVICE_NAME = instanse2)
)
)
++++++++++++++++++++++++++++++++++++++++++++++++++++

sqlplusへの接続時の引数は$ORACLE_HOME/bin配下にて
./sqlplus起動後、
Enter user-name: sys as sysdba
Enter password: sysユーザのパスワード を入力しております。

認識に相違ありましたら申し訳ありません。

72:NAME IS NULL
12/01/15 12:20:57.72
>>70
DB丸ごとのbackupは取ってる、と聞いた気がする。TBL単位で日々は取って無い。
それを取るのは運用の仕事ではないらしい。
過去に一度、バグで誤った削除をしてしまった事があるけど、TBLのバックアップが
無いので元に戻せなくて、大問題になった事がある。

パフォーマンス?
Web画面からデータ検索したら返ってくるまでに10分以上かかりますが何か?
よく客がキレないよな。不思議だ。



73:NAME IS NULL
12/01/15 12:23:34.31 iMO9iSY4
>>71

>>sqlplusへの接続時の引数は$ORACLE_HOME/bin配下にて
./sqlplus起動後、
Enter user-name: sys as sysdba
Enter password: sysユーザのパスワード を入力しております。

これってOS上で実行してるんだよね?
その際環境変数ORACLE_SID=instanse2にしてるの?

Linux環境だとして

xxxユーザで
1.
export ORACLE_SID=instanse2

2.
sqlplus "/ as sysdba"@INSTANSE2

これでどうなの。




74:NAME IS NULL
12/01/15 12:29:12.92 iMO9iSY4
>>72
>>それを取るのは運用の仕事ではないらしい。

客との契約の問題なんだろうか。テーブル単位はアプリ側で取っておくとか。

通常パフォーマンス面でもアプリケーション毎にレスポンスxx秒以内とか契約してるもんだがな・・・
メンテさせてもらいたいわ。いい小遣い稼ぎになりそう。
10分→10秒とかに改善したら客も喜ぶだろうに。


75:NAME IS NULL
12/01/15 12:39:31.81
>>73
ご指摘いただき有難うございます。
以下、インラインにて失礼します。

>xxxユーザで
>1.
>export ORACLE_SID=instanse2
>
>2.
>sqlplus "/ as sysdba"@INSTANSE2
>

上記のコマンドを実施した結果、以下の通りとなりました。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ ./sqlplus "/as sysdba" @INSTANSE2

SQL*Plus: Release 11.2.0.2.0 Production on Sun Jan 15 12:28:23 2012

Copyright (c) 1982, 2009, Oracle. All rights reserved.

ERROR:
ORA-12547: TNS:lost contact

Enter user-name:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ps -ef | grep ora の結果、INSTANSE2側のプロセスも起動しているため
インスタンス自体は起動しているようですが・・・

76:NAME IS NULL
12/01/15 12:46:58.03 iMO9iSY4
>>75
じゃあ

./lsnrctl services
./lsnrctl status listener

の結果は?



77:NAME IS NULL
12/01/15 13:02:30.76
>>76
コマンドの結果ですが長くなりそうなので、2回に分けて記載させていただきます。
(見辛かったらすみません)

①./lsnrctl services の結果は以下の通りです。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ ./lsnrctl services

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 15-JAN-2012 12:55:32

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
Services Summary...
Service "instanse2" has 2 instance(s).
Instance "instanse2", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "instanse2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:91 refused:0 state:ready
LOCAL SERVER
Service "instanse2XDB" has 1 instance(s).
Instance "instanse2", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: localhost.localdomain, pid: 7275>
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=50434))
Service "oracle" has 2 instance(s).
Instance "oracle", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "oracle", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:96 refused:0 state:ready
LOCAL SERVER
Service "oracleXDB" has 1 instance(s).
Instance "oracle", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: localhost.localdomain, pid: 6877>
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=61566))
The command completed successfully
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

続きます。

78:77
12/01/15 13:07:50.61
以下、続きになります。

②./lsnrctl status listenerの結果は以下の通りです。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

$ ./lsnrctl status listener

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 15-JAN-2012 12:54:27

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 15-JAN-2012 10:52:27
Uptime 0 days 2 hr. 2 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/oracle/app/product/db_1/network/admin/listener.ora
Listener Log File /opt/oracle/app/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=2000)))
Services Summary...
Service "instanse2" has 2 instance(s).
Instance "instanse2", status UNKNOWN, has 1 handler(s) for this service...
Instance "instanse2", status READY, has 1 handler(s) for this service...
Service "instanse2XDB" has 1 instance(s).
Instance "instanse2", status READY, has 1 handler(s) for this service...
Service "oracle" has 2 instance(s).
Instance "oracle", status UNKNOWN, has 1 handler(s) for this service...
Instance "oracle", status READY, has 1 handler(s) for this service...
Service "oracleXDB" has 1 instance(s).
Instance "oracle", status READY, has 1 handler(s) for this service...
The command completed successfully
$
++++++++++++++++++++++++++++++++++++++++++++++++++++++++

長文になってしまい、申し訳ありません。

79:NAME IS NULL
12/01/15 13:27:52.30 iMO9iSY4
ちなみに

>xxxユーザで
>1.
>export ORACLE_SID=instanse2
>
>2.
>sqlplus "/ as sysdba"@INSTANSE2
>

上記をoracleユーザで実行すると接続できてるんだよね?

oracleユーザとxxユーザでの以下実行結果は?

id



80:NAME IS NULL
12/01/15 13:40:49.79
Instance 2のalert.logにORA-600とか7445とか出ていないか?
2つのインスタンスのmemory_targetの値がO/Sのメモリーを食いつぶしていたりとか
していないか?
試しにインスタンス1落として、インスタンス2だけ起動してつなげてみ?
それで繋がるのならO/Sのリソース不足だ。
もしかしたらSwapspaceをマウントし忘れていたりとかかもな。

81:NAME IS NULL
12/01/15 13:42:54.61
>>79
ご指示ありがとうございます。idコマンドの結果は以下の通りです。

・oracleユーザ
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ id
uid=502(oracle) gid=504(oinstall) 所属グループ=503(dba),504(oinstall) context=root:system_r:unconfined_t:SystemLow-SystemHigh
$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


・xxxユーザ
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$ id
uid=505(xxx) gid=504(oinstall) 所属グループ=503(dba),504(oinstall) context=root:system_r:unconfined_t:SystemLow-SystemHigh
$
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


82:NAME IS NULL
12/01/15 13:46:21.43
>>81
取り敢えず、selinux無効にしてみたら、状況かわらないかな?

83:NAME IS NULL
12/01/15 13:46:38.03
ulimit -aの値は?

84:NAME IS NULL
12/01/15 14:06:21.03
oracleユーザとxxxユーザ で、TNS_ADMIN とかいう環境変数に
違いがあったりしないか?

85:NAME IS NULL
12/01/15 14:08:33.82
xxxユーザにtnsnames.oraを読むためのread権限がないとか。

86:NAME IS NULL
12/01/15 14:15:02.35
oracleユーザはdbaグループに所属してるから、
実はリスナー経由じゃなく、ローカル接続で両インスタンスに接続できていた
とかいうことはないのかな?
(つまり、oracleユーザであってもリスナー経由だと接続できないとか)

87:NAME IS NULL
12/01/15 14:15:44.57
>>71
ほんとにこのままの手順でやって同じエラーでてるなら、ローカル接続してるから、リスナー系のファイル設定は関係ないと思われる。

88:NAME IS NULL
12/01/15 14:33:12.74
まさかとは思うが、xxxユーザにORACLE_HOME環境変数が設定されてないという
オチはないよな?

89:NAME IS NULL
12/01/15 14:41:35.75
>>88
ORACLE_HOME設定されてなかったら、違うエラーになると思う。

自宅の環境で試してみたけど、同じような設定しても普通に接続できるから、OS周りの設定がおかしい気がする。

ちなみにスタックサイズ制限を意図的に小さくしたら同じエラーでた。11.2.0.1だけど。

90:NAME IS NULL
12/01/15 14:54:19.04
>>各位
皆様、すみません。以下、確認結果になります。

①ulimit -aの結果
コマンドの実行結果は以下の通りです。
- oracleユーザ

$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24543
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 16384
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

- xxxユーザ
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 24543
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 24543
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited


②TNS_ADMIN 環境変数の設定
 申し訳ありません。こちらの設定は現状、未実施の状態です。
 設定しております環境変数は以下の通りです。
 ・ORACLE_BASE /opt/oracle/app
 ・ORACLE_HOME /opt/oracle/app/product/db_1
 ・DISPLAY :0.0

続きます

91:90
12/01/15 15:01:58.91
90の続き

②について一部誤りがありました。(焦ってORACLE_HOMEの記載を誤ってしまいました)
申し訳ありません。正しくは以下の通りです。
 ・ORACLE_BASE /opt/oracle/app
 ・ORACLE_HOME /opt/oracle/app/oracle/product/11.2.0/db_1
 ・DISPLAY :0.0


③tnsnames.oraへの権限は以下の通りです。
読み込み権限はあると認識しておりました。
# ls -al
合計 128
drwxrwxr-x 3 oracle oinstall 4096 1月 15 10:50 .
drwxrwxr-x 11 oracle oinstall 4096 1月 9 13:15 ..
-rwxrwxr-x 1 oracle oinstall 698 1月 15 10:50 listener.ora
-rwxrwxr-x 1 oracle oinstall 321 1月 15 02:28 listener.ora_bk
-rwxrwxr-x 1 oracle oinstall 800 1月 15 02:56 listener.ora~
-rwxrwxr-x 1 oracle oinstall 840 1月 15 10:22 listener12011510午前2235.bak
-rwxrwxr-x 1 oracle oinstall 840 1月 15 10:23 listener12011510午前2305.bak
-rw-r--r-- 1 oracle oinstall 482 1月 15 10:40 listener12011510午前4029.bak
-rwxrwxr-x 1 oracle oinstall 698 1月 15 10:50 listener1201152午前5212.bak
-rw-rw-r-- 1 oracle oinstall 698 1月 15 02:52 listener1201152午前5212.bak~
drwxrwxr-x 2 oracle oinstall 4096 1月 9 12:55 samples
-rwxrwxr-x 1 oracle oinstall 187 5月 9 2007 shrept.lst
-rw-r--r-- 1 oracle oinstall 525 1月 15 10:42 tnsnames.ora
-rwxrwxr-x 1 oracle oinstall 579 1月 15 10:22 tnsnames12011510午前2235.bak
-rwxrwxr-x 1 oracle oinstall 579 1月 15 10:23 tnsnames12011510午前2305.bak
-rwxrwxr-x 1 oracle oinstall 579 1月 15 02:52 tnsnames1201152午前5212.bak
※お見苦しくて、申し訳ありません。


92:NAME IS NULL
12/01/15 15:03:05.69
Swap領域とメモリーも知りたい。
freeの結果も見せてみ。
それと各インスタンスのmemory_targetの値。
あとインスタンス1を落として、インスタンス2だけを上げた状態で
接続出来るかどうかの確認もな。

93:NAME IS NULL
12/01/15 15:11:35.57 oFbJBuor
ls -l $ORACLE_HOME/bin/oracleの結果ちょうだい。

$ORACLE_HOMEの下の権限を変にいじると、こいつのsuidとsgidはずれる
ことがある。

今suidとsgidはずしてみたが、同じ現象になった。


94:NAME IS NULL
12/01/15 15:35:32.50
>>各位

皆様、ご指摘いただき有難うございます。
以下確認結果になります。

①freeコマンドの結果
以下、確認結果になります。
# free
total used free shared buffers cached
Mem: 1552832 1498780 54052 0 8780 684752
-/+ buffers/cache: 805248 747584
Swap: 4192956 196588 3996368


②各インスタンスのmemory_targetの値
→dbcaでのインスタンス作成時の結果になりますが両インスタンスとも
 40%(606MB)ずつ使用しております。(606MB×2=1212MB)
 また、全体のメモリーは1500MBで設定しております。

③インスタンス1を落として、インスタンス2だけを上げた状態で 接続出来るかどうかの確認
 →確認しましたが、同様のエラーが発生しました。
  ORA-12547: TNS:lost contact


④ls -l $ORACLE_HOME/bin/oracleの結果
以下、確認結果になります。
$ ls -l $ORACLE_HOME/bin/oracle
-rwxrwxr-x 1 oracle oinstall 163939574 1月 9 13:13 /opt/oracle/app/product/db_1/bin/oracle
またご指摘の通り、書き込み権限を与えるためoracleインスタンス作成後
/opt/oracle/app配下にchmod -R 775 /opt/oracle/appで権限を付与してます。

⑤SElinux無効化の実施確認
 SElinxu無効化後も、同様のエラーが発生しました。
  ORA-12547: TNS:lost contact

不備などありましたら、申し訳ありません。

95:NAME IS NULL
12/01/15 15:42:51.86 oFbJBuor
④が原因だな。

chmod 6751 $ORACLE_HOME/bin/oracle
した後、oracle再起動してごらん。

てか、ファイルも含めて全部775してるのかね。。
インストールしなおして必要な個所だけにパーミッション
ふり直したほうがいいかもね。。

96:NAME IS NULL
12/01/15 15:59:43.59
おかげで無事解決できました。

Thanks for ALL!!

97:NAME IS NULL
12/01/15 16:19:29.68
すみません。>>96の方に先にお礼書いていただいておりますが、
改めて皆様に現状ご報告させていただきます。

まず本問題はやはり>>95の方にご指摘いただきました権限の問題にありました。
ご指摘いただきました以下のコマンドを実行することで
xxxユーザでinstanse2にアクセスすることができました。
 chmod 6751 $ORACLE_HOME/bin/oracle

お恥ずかしい話ですがsuidとsgidの概念を存じておらず
ゆうに1週間以上かかって悩んでおりました。
また本日は貴重な休日のお時間を割いてご対応いただき、
皆様有難うございました。

私もこの板含め困った人がいた場合に、今日の恩義を忘れず
手助けしていく所存です。

98:NAME IS NULL
12/01/15 18:42:24.14
Oracleのインストーラが未熟だということを知らない人結構居るから仕方ない

99:NAME IS NULL
12/01/15 20:26:51.77
某パッチをあてたら、あるパーミッション関連がおかしくなるという
バグもあったりしたしな。

100:NAME IS NULL
12/01/15 21:23:24.67
>>72
>Web画面からデータ検索したら返ってくるまでに10分以上かかりますが何か?

それ、ブラウザによっては既にタイムアウトのエラー画面を表示してそうだなw
んで、イラついたユーザが検索ボタンを何度もカチカチとクリックして、
その度にWebサーバのプロセスが1つ立ち上がり、Oracleのサーバプロセスも1つ立ち上がり、
で、プロセス上限に達した所でフリーズしたかのような状態に陥って、
手の施しようのないことになるのだろう、きっと。

>>55
マシンスペックやワークロードの条件によりマチマチだと思うけど、
パーティション化の効果って、大体何万件くらいのオーダーで出てくるのかなぁ?

101:NAME IS NULL
12/01/15 22:30:40.09
OracleDBAとしてこの本を読んで良かったという本ありますか?
OracleSilverレベルのエンジニアですが知識を増やしたいので良本をまとめて5冊ほど買いたいです。
オススメあれば教えて下さい。

102:NAME IS NULL
12/01/15 22:56:55.41
>>101
小田圭二の著書は、当時感銘を受けた。

103:NAME IS NULL
12/01/15 23:44:14.12 /BGjvgKm
>>100
少なくともうちはテーブルサイズが32GB超えそうなやつはパーティション化考える(bigfileは使いたくないので)

104:NAME IS NULL
12/01/15 23:51:14.42
>>100
余程滅茶苦茶な構成でない限り、数万件でもパーティション化すれば性能面ではそれなりの効果が出てくると思うけど
よくありがちなデータの運用として日毎とか月毎とか年毎に特定の期間以外のデータを消していくような場合だと
性能面ではなく運用面でも効果があることが多くなる
DELETEで消していく処理時間よりパーティションのDROP&ADDの処理時間の方が大幅に短くなる上に新しいデータの
取り込みも特定のパーティションだけで処理できるから夜間バッチの全体の時間がかなり短縮できたりする

105:NAME IS NULL
12/01/15 23:56:04.62
つ~か、ユーザー名違うのにBinary共有ってどうなのよ?
テスト環境でもあんまり個人的にはやりたくない構成だな。

106:NAME IS NULL
12/01/16 00:04:57.02
<ヒント>
グループID:dba

107:NAME IS NULL
12/01/16 01:08:33.60
出来る事とやりたい事とは違うだろ。
ユーザーを分てまで運用するんっだったら、例えば片方をDBA用のサンドボックス環境にして
もう片方はテスト環境といった使い方とか考えられるだろ?
バイナリも分けていれば、サンドボックス環境はパッチ適用手順を確認したり、パッチがちゃんと
期待通りの動作をする事とかも確認したりとか出来るといった運用も可能な訳だ。
同じバイナリ使うのなら、わざわざユーザー名を分けるメリットを感じないのだがね?

108:NAME IS NULL
12/01/16 03:45:25.67
勝手に想像した2つのユーザの使い分けを前提に話をされてもなあ


109:NAME IS NULL
12/01/16 07:58:06.06
同じバイナリ使っているのにユーザーを分けるメリットって何?

110:NAME IS NULL
12/01/16 07:58:06.01
アプリ部門でも使いたいという要望があったとして、
とはいえoracleユーザやdbaグループのついたOSアカウントを渡すと
万が一、何かされた時に大変なので、あくまでsqlplus程度の必要最低限の
ものしか使わせたくないとかじゃないかな。


111:NAME IS NULL
12/01/16 08:14:34.10
それだったら別途Oracle client入れてやるけどね。

112:NAME IS NULL
12/01/16 09:27:41.64
>>110
DAやDBAがどこまで面倒みてるかによるな。
インフラしかみてないなら権限あげるべき。


113:NAME IS NULL
12/01/16 09:44:43.92
oinstallグループまでなら所属させてもいいけど、dbaグループには
怖くて無理だな。

というか同じバイナリ使って、ユーザー違う名前でDB上げることに
メリットはあるのか?
それだったら同じユーザーでSIDだけ変えればいいじゃん。

114:NAME IS NULL
12/01/16 10:13:43.23
>>113
はい?

すっとこどっこいだなこいつは

115:NAME IS NULL
12/01/16 11:03:44.00
ユーザが100人いればOracleClientを100個入れなきゃならんのか面倒くせえやつだな

116:NAME IS NULL
12/01/16 11:22:09.69
>>114

いちいち違うユーザーで同じバイナリ使ってDBを起動することのメリットを説明してくれ。

>>115

DBサーバー上に直接100人もログインさせているシステムなんかあるのか?
せいぜいアプリからバッチを起動させるユーザーひとりで十分だろが?
そのクライアントのバイナリを共有させるのは十分意味があるだろうな。

117:NAME IS NULL
12/01/16 11:24:13.37
バイナリを共有することのメリットはパッチ充てとかが
一回で済むという事はあるだろうな。
だがユーザー名を分けてDBを2つ以上起動する事の
メリットというのは分からん。

118:NAME IS NULL
12/01/16 11:29:23.03
>>116
おまえが「テスト環境」っていう状況を持ち出したんじゃないの?
100っていうのは大袈裟だけど複数の担当者がDBサーバ上で開発するのは普通にあるよ
井戸の中で何を叫んでるんだってことですよ

119:NAME IS NULL
12/01/16 11:32:58.09
そういう宗教やってる人なんじゃないかと思う

120:NAME IS NULL
12/01/16 11:39:28.55
共有ライブラリについても一家言ありそうな気配を感じるんだが

121:NAME IS NULL
12/01/16 11:40:53.35
>>118

Unixアカウントを分けて2つのDBをあげることのメリットになってないぞ?
同じUnixアカウントでDBを2つあげることの相違があまり感じられないがな?



122:NAME IS NULL
12/01/16 12:04:33.32
話がかみ合ってない人同士の話はそろそろ〆てくれないかな

123:NAME IS NULL
12/01/16 12:35:49.94
>>54
データの削除運用も考慮していないのかよww


124:NAME IS NULL
12/01/16 22:02:43.73
おまえら実はなんちゃってDBAなんだな。

125:124
12/01/16 22:05:10.92
な~んちゃって

126:NAME IS NULL
12/01/17 21:07:11.80
あの~、質問なんですが、
ORACLEってインストール時に契約番号って聞いてこないんでしょうか?
非常に気になったんですが...
Windowsとか鬱陶しいくらいに聞いてくるのに...

127:NAME IS NULL
12/01/17 21:34:20.37 sO4HrurU
>>126
聞いてくるよ。しょっぱなに
それ以外は聞いてこない。インストール後も。

128:NAME IS NULL
12/01/17 22:31:20.38
>>126
バージョン次第

129:NAME IS NULL
12/01/18 08:05:46.26
>>128
いまさら10gR2以下を使うところなんてねーよ田舎者

130:NAME IS NULL
12/01/18 08:23:21.30
田舎者ってw

131:NAME IS NULL
12/01/18 08:39:29.04
バージョン次第って言ってるだけで使うとか言ってないんだがまた妄想の人か?

132:NAME IS NULL
12/01/18 09:00:17.07
>>131
こーゆーやつって顧客満足度低いよな。
残念すぎるわ

133:NAME IS NULL
12/01/18 09:25:42.82
はいはい

134:NAME IS NULL
12/01/18 09:36:12.94
まあ、特定のバージョン限定でしか話せないひとが顧客満足とか持ち出しても説得力ないわな

135:NAME IS NULL
12/01/18 11:13:16.80
最近の商用オラクルってシリアルナンバー必要になったのか
開発者エディションばっかり使ってるから知らんかった

136:NAME IS NULL
12/01/18 11:43:41.31
今日リリースされたパッチ、シャレにならんレベルのバグだな。

137:NAME IS NULL
12/01/18 12:43:41.01
>>135
デマだから安心しろ

138:NAME IS NULL
12/01/18 16:06:40.91
>>136
kwsk

139:NAME IS NULL
12/01/18 18:41:08.09
ある程度の長さのchar、varchar型のカラム内の不等号を、
xmlのタグと誤解して取り除く場合がある

ただし顕在化するのは、SQL*Plusでそれらのカラムから
その不等号入りの文字列を取得しているというような
レアなケースでのみ

楽しいわ本当

140:NAME IS NULL
12/01/18 18:51:13.98
要するにSQL*Plus使わなければ大丈夫ってことだな
sqlplusのバグなんじゃねーの

141:NAME IS NULL
12/01/18 19:58:27.56
Linuxとかのbashって、OS共通の環境変数は/etc/profile、ユーザ固有の設定は~/.bash_profileにと
分けて設定できるじゃないですか

似たようなことを、sqlplusの初期設定ファイルの設定でできますか?

いま、OSユーザ毎に環境変数SQLPATHを設定し、login.sqlに必要な設定をするようにしているのですが、
全ユーザに反映させたい変更をする時に、全ユーザのlogin.sqlをいじるのが大変だし反映漏れとかもあるので、
共通の設定と固有の設定とに分離して管理したいと思ってます

実は、共通設定と個別設定をマージして各ユーザのlogin.sqlを作って配布するスクリプト等もあるのですが、
Oracle自身の機能でできないかと思っています

142:NAME IS NULL
12/01/18 20:17:10.07
>>138
SCN
限界突破
クラッシュバグ

143:NAME IS NULL
12/01/18 20:45:26.77
>>141
ググればすぐ見つかるネタ
/etc/profileに相当するのが{ORACLE_HOME}/sqlplus/admin/glogin.sql

144:NAME IS NULL
12/01/20 22:52:50.75 96O4svvI
こんなことありえるか?

朝出社したらインスタンスが落ちててコールの嵐。
なぜ・・・?と思ったらオペレーターがディスク閾値を超えたから以下を実行したらしい。

sudo cp -p /opt/app/oracle/11.2.0.2/product/db1/admin/bdump/* /tmp/log/
sudo rm -Rf /opt

/opt配下のディレクトリ構成

/opt/data
/opt/redo1
/opt/redo2
/opt/arc
/opt/conf
/opt/tmp
/opt/rman

おれはそれを聞いた瞬間、職場を出て未だにファミレスにいる
イロイロ

145:NAME IS NULL
12/01/20 23:23:24.00
/optの下を勝手にrmするオペレータはクビにして良い

146:NAME IS NULL
12/01/20 23:59:57.18
/opt/data
/opt/redo1
/opt/redo2
/opt/arc
/opt/conf
/opt/tmp
/opt/rman


↑こんなディレクトリ構成にしてるような>>144はクビにして良い



147:NAME IS NULL
12/01/21 00:15:28.43
両方クビで円満解決ですね

148:NAME IS NULL
12/01/21 00:16:38.29
地に足もつかない状態で帰宅しました。
頭がボーっとしてるけど手汗が止まらない・・・
社用携帯怖くて電源入れられないわ

>>146
設計は前任なんだよ・・・前々からこの構成まずいとは思ってんだけどね。
オペレータは外注だからたぶん切られると思う。
そしてあのDBは確実に復旧ができない。どんなスペシャリストでも不可能。
どうなるんだろ・・・



149:NAME IS NULL
12/01/21 00:29:05.32
バックアップしてないのかよ・・・

もしくは、してても同じマシンに置きっぱなしかよ

そこも問題ありじゃね

150:NAME IS NULL
12/01/21 00:32:26.09
>>149
バックアップは /opt/rman の中に入ってたんだろw

ていうか、オペレータの責任だったら別に>>144は逃げなくていいだろ。
どんなスペシャリストにも復旧は無理だったら尚更のこと。



151:NAME IS NULL
12/01/21 00:37:51.16
>>144
オペレータは、

sudo rm -Rf /opt/app/oracle/11.2.0.2/product/db1/admin/bdump/*

と打ちたかったんだけど、

sudo rm -Rf /opt

のところで指が滑ってエンターを押してしまったのかね。。。。
でも -R オプションはディレクトリも削除してしまう実行になるから違うか・・・

DBは怖いよね・・・
俺もますます気を引き締めて気をつけよう。


152:NAME IS NULL
12/01/21 00:38:33.24
バックアップの責務を負う主たる者の責任と
消した人の責任。
この二名が背負ってください。

153:NAME IS NULL
12/01/21 00:41:10.71
社員証、社用携帯、社用ノートPC、E-mobile、保険証、辞表

これら一式郵送します。当分この家にも戻らない。
離職票とか退職関連の書類は貰えるんだろうか・・・

>>150
その通りです・・・ありえない構成ですよね。
オペレータの責任は重大だけど日頃管理しているDBAがバックアップ退避させていないとか
責任問題になるのは明白です。下手したら役員に囲まれて罵倒されまくるんじゃないかと・・・
いずれにしろ、今日ばっくれた時点でどの面下げて戻ってきたって感じなので
絶対に戻れないです。

未だに心臓がバクバクしてる

154:NAME IS NULL
12/01/21 00:44:42.84
ディスクからファイルを復旧する専門会社がなかったっけ?


とりあえず、そこへ持ち込んでみるとか

155:NAME IS NULL
12/01/21 00:46:57.79
mvにする手順にしとけばよかったものを…

フールプルーフな手順の大切さを感じるね。

156:NAME IS NULL
12/01/21 00:50:38.70
いいか。
まずsudo rmを打たずに、それ以降だけ入力してから打ち間違いの確認。
そのあとC-aで行頭に戻ってrmだけ追加して、その記述が目的にあっているか、副作用やリスクは何があるかを確認し、考え方の妥当性および目的と手段の繋がりを確認。
最後にC-aで行頭に戻ってsudoを追記して、typoやスペースの有無の違い、引用符とエスケープ文字の妥当性など表面的なことを確認する。
これらを習慣的に素早くこなせることを目指す。
これがsudo rmの正しい使い方だ。
sudo rm -rf / tmp/work
なんて間違いが絶対に起きないように日々訓練せよ。

それを乗り越えてない奴にroot渡すな。

157:NAME IS NULL
12/01/21 00:52:56.68
>>148
>オペレータは外注だからたぶん切られると思う。

切られるだけじゃ済まないだろ。

>>153
バックアップ退避を命じられていたのにやっていなかったは問題になるけど、
特に指摘されていなかったのであればサンドバックになることはならないとは思うが、どうなんだろ。
最低限のバックアップはしていたわけだし。

>>156
テキストエディタで構文を書いて間違いが無いのを確認してから、
teratermにコピペじゃだめかな?



158:NAME IS NULL
12/01/21 00:52:58.03
つうか、そういうときはオンラインストレージ上に用意したゴミ箱ディレクトリにmvだな。

159:NAME IS NULL
12/01/21 00:56:06.31
>>157
コマンドこぴぺでやるにしても、sudo rmをするときは、sudo rmを消してこぴぺしろ。
些細なミスで全部死ぬぞ。
マウントしている共有サーバーのストレージが丸ごと消えるぞ。

160:NAME IS NULL
12/01/21 00:58:22.60
というか、そもそも root権限で rm する必要あるのかね?


161:NAME IS NULL
12/01/21 01:00:50.12
Windowsだったらプロセスがファイルを掴んでる状態だったら削除することは困難なんだけど、
unix linuxは簡単にrmで削除出来るから怖いんだよなぁ。。。。


162:NAME IS NULL
12/01/21 01:02:17.41
>>153
そこで先回りしてオペレータを罵倒する側に立つとか、逆に「オペレータは悪く
ないんです!DBAである私の監督不行き届きです!」って必死にかばう
ふりをするくらいの才覚があれば逃げなくてもよかったのにな。

163:NAME IS NULL
12/01/21 01:04:01.27
逃げちゃダメ。
電話しまくれ。

164:NAME IS NULL
12/01/21 01:04:28.47
>>160
オペレータのアカウント権限じゃoracleディレクトリの操作無理だろ

165:NAME IS NULL
12/01/21 01:07:27.85
重要ディレクトリでrmなんて使わせるなよ。
最初の手順でcpしてるんだったらmvにすりゃ全て済む。てかそもそもログロテしてないのが悪い。
オペレータにやらせるんだったら削除用スクリプト作ってそれ叩くだけとかにしとけよ。完全にDBAの責任。

166:NAME IS NULL
12/01/21 01:09:34.07
rootでrm -rf ./*とするところをrm -rf /とやってしまった俺が来ましたよ。
幸いな事にテスト器で、しかもO/S再インストール予定だったから問題には
ならなかったけど。
それ以降、rootで何か消す時には-iオプションは欠かせなくなりました。


167:NAME IS NULL
12/01/21 01:11:12.09
それにしてもまともなサーバーだったらO/Sレベルでテープとかに
バックアップとか取っていないのか?

168:NAME IS NULL
12/01/21 01:12:22.06
オペレータに手動ログロテさせてるんだな。
DBAの仕事だと思っていたわ。


169:NAME IS NULL
12/01/21 01:16:02.74
DRとか考えていなかったのかいな?

170:NAME IS NULL
12/01/21 01:19:11.11
>>169
ディザスタリカバリ?

んな予算ないだろ。


171:NAME IS NULL
12/01/21 01:27:36.78
システムバックアップもDBバックアップもなければ終了
つーか、設計段階で普通に設計書レビューしてれば設計者をクビにしてるよな

172:NAME IS NULL
12/01/21 01:28:26.12
所詮この程度の管理体制なんだから、周りを探せば
テスト環境と題して、本番のコピーがそのまま残ってんじゃね?

173:NAME IS NULL
12/01/21 02:05:07.34
基本的にrm絶対パス指定することがまちがってるだろ?
まずcdで掘っていって、lsしてrmするだろ普通。

174:NAME IS NULL
12/01/21 02:47:17.63
>>173

俺もそのクセはついてたんいだが、間違ってrm -rf ./* をrm -rf /*しちゃった(ノ∀`)タハー

175:NAME IS NULL
12/01/21 02:56:16.83
なんだか大変な事態になって落ち込んでるようだけどこれは一人の責任じゃない
オペレータのミスは重大な過失としか言えないけどそれ以前に設計が間違ってるし
閾値超えたときの運用手順もおかしい
これを機にまともな設計ができる人材の確保を真剣に考えるべき

あと重役クラスじゃないのなら「辞表」じゃなくて「退職願」な

176:NAME IS NULL
12/01/21 04:14:51.05
ひどいことになってると聞いて飛んできました。
対応としてはディスク復旧サービスぐらいしか思いつかないけども。

>>157
teratermにコピペはむしろ怖い
コピペするデータにTabと改行が含まれてたときに何かが補完されて、確認するまもなく実行されてしまうことが怖い

177:NAME IS NULL
12/01/21 05:23:44.26
部下がrm ./*をrm /*で実行して
FOして、報告書とか色々書いた俺参上!

危機感がない奴は本番機を触るって意識がないから
ミスばかりやるからなぁ

教育しかないんじゃね?
二人以上での作業をルール化してるけど起きるからね。

178:NAME IS NULL
12/01/21 05:34:04.00
FOってフェイルオーバーかなと思ったけどどうにも理屈が合わないな

179:NAME IS NULL
12/01/21 09:21:21.83
FadeOutだな

180:NAME IS NULL
12/01/21 09:30:57.84
>>178
どうして理屈に合わないのかが解らん。


181:NAME IS NULL
12/01/21 11:44:36.52
failoverはサーバーに障害が起きたとき自動的に待機系に切り替わること

182:NAME IS NULL
12/01/21 11:46:43.44
まぁDBAが悪い

183:NAME IS NULL
12/01/21 12:29:22.30
■誓約書の書かせ方 3つのポイント

誓約書の書き方は一方的に引き渡す、一人称のものが多い。
この誓約書の書き方を知っていると知らないとでは、効力が全然違ってくると思うので、知っておくべきだ。
さて、具体的な誓約書の書き方だが、いくつかポイントがあるので、要点別に下記に列挙する。

1.タイトルについて
誓約書のタイトルの書き方だが、これは別になんでも良く「覚書」でも「念書」でも一向にかまわない。
ただ、その書面の内容にあったタイトルを付けるのが肝要だ。
だから誓い約束するというような内容だったら、誓約書の書き方のタイトルは、そのままで良いだろう。

2.内容について
内容だが、5W1Hが明確である必要がある。
誓約書の書き方は箇条書きでも構わないし、文章形式でも構わない。
誓約書の書き方はこれと言った決まりごとがないので、自由に書かせてもいい。
しかし5W1Hが不明確だとトラブルの元になるので、そこはきっちり押さえておきたい。

3.日付について
日付は大事であり、これが抜けていると、効力が無くなってしまうこともありうる。
誓約書の書き方では、日付は大体内容の下、署名の上に記すものだ。
この日付の書かせ方は、平成○○年○○月○○日とキッチリ日まで書かせることが重要だ。
○月吉日では誓約書の書かせ方としては片・手落ちである。

4.当事者の表示について
誓約書の書き方で、当事者をキッチリ特定するのは大切で、
名前は戸籍の通りに書かせる事。免許証等を出させて確認を怠らない事が重要だ。
誓約書においてこの当事者が間違って記載されていると、証拠力がぶれる可能性がある。
通常は下の方に、書いた本人が署名する。
誓約書の書き方として覚えておきたいのが、この署名の後に押印するのが通常だ。
より確実な誓約書とするには署名押印、しかもこの押印を実印を使った方が証拠力は高くなる。
無い場合は「記名押印に代えて署名」の一文を添えさせる事を忘れずに。

総合していえば、誓約書の書かせ方は証拠力を高めるために、どれだけポイントを押さえられるかだキーとなると思う。

184:NAME IS NULL
12/01/21 12:45:21.34
誓約書を書いても無くなったデータは帰ってこない

185:NAME IS NULL
12/01/21 13:11:38.61
滅多な事では叩かないが、何か障害が起きたときに調査のために叩くような
コマンド(sarとかpsstatとか)をコッソリと

---
#!/bin/sh
shutdown -i5 -g0 -y
---

と書いたshファイルに差し替えておく。無論、本番機の基幹サーバで。



186:NAME IS NULL
12/01/21 13:54:25.03
>>144
怒られて済むなら今からでも怒られに行け。
このままトンズラしたらおまいの人生負け犬決定だ。

187:NAME IS NULL
12/01/21 14:10:15.24
ていうか >144 が直接手を下した訳じゃないんだし、別に逃避するような事でも
無いと思うんだが。まあ、その後の復旧その他諸々を考えて鬱入るのは仕方ない
としても。

障害が起きても自分の責じゃない時は結構気楽なもんよ

188:NAME IS NULL
12/01/21 14:19:56.11
質問攻めはあるな。
前任者から引き継いでそのままだったなら、
「なぜ問題点を報告しなかったか?上司に相談したのか?そもそも気づいていたのか?」
は問題になるだろうが、引き継いだ時点でその構成だったことは>>144の責任じゃないから、
クビとかはないと思うよ。逃亡についてはかなり怒られるだろうけどね。

189:NAME IS NULL
12/01/21 14:26:18.45
闘わないDBA

190:NAME IS NULL
12/01/21 14:31:16.86
復旧不可能なのが自明な上自分が手を下したわけでもないのに辞めるとか逃亡って
v.1.0のテーブル定義書しかなくて環境すらもう作れないくらいオワってるとしか思えんな

191:NAME IS NULL
12/01/21 14:40:26.93
しかし離れたところにDataGuardでバックアップしてるようなシステムは少ない。


192:NAME IS NULL
12/01/21 14:52:40.55
DBAとしての責務を果たさない時点で失格。
何のデータを失ったんだろうか。顧客関連でないことを祈る。

193:NAME IS NULL
12/01/21 14:58:05.91
>>185
aliasでいいじゃんと思いました

194:NAME IS NULL
12/01/21 15:04:29.06
リモートバックアップしてたとしても、放置時間長ければ消えた状態しか残ってないんじゃないかと・・・。

195:NAME IS NULL
12/01/21 16:22:43.23
損害の賠償について責任あるとして追求される可能性あるんじゃないの?
そうなったら逃げ回ってたら余計に不利になると思うけど

196:NAME IS NULL
12/01/21 16:24:13.82
昨日からこの話題で持ちきりだな

197:NAME IS NULL
12/01/21 16:30:30.21
故意じゃない限り、過失に対して社員個人に賠償責任が発生する事はないな。
まあ、その後の昇進とか昇給賞与とかへの影響は知らんが。

198:NAME IS NULL
12/01/21 16:43:47.80
>>185は故意だから違法性あるな

199:NAME IS NULL
12/01/21 17:00:30.50
>>195
それは会社全体の責任だろう。個人の重過失があればさらに会社から請求
されるかもしれんが、今回はそうでもないようだし。最悪でもクビだろう。
ただし敵前逃亡は銃殺刑だけどな。

200:NAME IS NULL
12/01/21 17:17:53.50
>>199
会社から請求される可能性のことを言ったんだけどな
今回のオペミスを予測できたかどうかは別としても今までいろいろ放置してきたことが
最悪な事態の要因の一つにはなってるよね
過失の程度がどう判断されるかは分からんけど

201:NAME IS NULL
12/01/21 18:06:26.88
>>146
一応、そのディレクトリが全部ディスクが違う可能性はある。
普通、あんまりしないけどw

202:NAME IS NULL
12/01/22 03:17:14.51
逃げちゃ、駄目です。諦めたら試合終了です。
むしろ、失敗をどうリカバリーするか、リカバリーが無理ならどういう代替案を顧客に提案出来るかが大事だと思います。
問題が起きたら全て終わり、ではなく
逆に毅然と対応し、チャンスに変える方がいい。
とりあえずは謝りに行くといいと思います。

203:NAME IS NULL
12/01/22 07:15:22.20
>/opt/app/oracle/11.2.0.2/product/db1/admin/bdump

見た所、11gなのに10gのような印象を受けるな。
リプレースか何かがあり、構成を変えると恐いからそのままにして使ってたのだろうか?
過去に遡って調査ができるとか色々理由があるけど、
ADRで自動削除ポリシーに頼って運用してれば、悲惨なことにならなかったかもね。
無論、何らかの原因で短時間のうちに大量にログ出力した場合は無理だが。

しかし、逃げたくなる気持ちも分かるわ。
みんなあんまいじめるなよ。

204:NAME IS NULL
12/01/22 09:07:05.46
>>203
一連のレスをもう一回読み直したらどうか

205:NAME IS NULL
12/01/22 11:05:58.24
うちのOracleサーバはVMで運用してるから安心
毎日OSのスナップショット取得してるからこんなときは即戻せる

206:NAME IS NULL
12/01/22 11:41:42.32
>>205
ちっこいDBはそういうこと簡単にできていいよね。


207:NAME IS NULL
12/01/22 12:04:44.51
>>206
サーバー数46台
トータルディスク使用(OS領域含まず):2.6テラ

小さいか?



208:NAME IS NULL
12/01/22 12:24:06.60
>>207
そういう運用形態って小さなシステムを1つにまとめたって奴じゃない?
鰯の群れみたいな

209:NAME IS NULL
12/01/22 13:38:18.98
46台で2.6TBだったら一個いっこはかなり小さいからvm単位で
スナップショット取るのはそう難しくなさそうだな。

うちも1.5TBくらいのDBをvm上で動かしているけど、さすがに
オンラインのスナップショットをバックアップ代わりにする勇気は
ないわ。まぁ、「時間がかからないコールドバックアップ」みたいな
使い方ならアリかもな。

210:NAME IS NULL
12/01/22 13:53:12.21
データファイルもVMに置いてんの?

211:NAME IS NULL
12/01/22 14:11:29.49 3TfYHouu
>>207
あのなぁ・・・・

DB単体のサイズを記載しないと、DBが大きいのか小さいのかの判別なんかつくわけねぇだろ



212:NAME IS NULL
12/01/22 16:28:03.96
RACって、仮想OSはサポート外だよね?

213:NAME IS NULL
12/01/22 16:48:08.80
>>208
いや小さくないから

>>209
データベースファイルはRMAN使ってるわ

>>210
置いてるよ。

>>211
46台もあるんだから単体サイズなんて書いてられないだろ。

>>212
そうなの?RACなんて使ったことないから分からん。RACのメリットなんてないだろこの時代

214:NAME IS NULL
12/01/22 17:02:46.18
今時4TBのHDDある時代に、何をケチ臭いこといってるのか…
大容量を生かしきれるだけの性能(ランダムアクセス速度)向上が無いことは問題だけどな。

215:NAME IS NULL
12/01/22 17:41:08.56
ということはRMANでディスクか仮想テープドライブにバックアップした
状態のスナップショットを取っているということかな。
vmだからどうこう、という話じゃないんだな。

216:NAME IS NULL
12/01/22 18:23:37.84
m9っ`Д´) RACノメリットナイッ!!

217:NAME IS NULL
12/01/22 18:30:31.18
>>212
そのデマはどこで聞いたの?

218:212
12/01/22 20:20:06.01
>>217
え、デマなの?
うちの会社ではそう聞かされたんだけどなぁ。

>>213,216
>RACのメリット
ぐあ!
それは俺も半分異議なし。
高いし、いざって時にバグでフェイルオーバーしなかったり、フェイルバックしなかったり、
gc系の待機イベントに今でも悩まされているので。

219:NAME IS NULL
12/01/22 20:59:25.97
>>218
RACは設計も運用も厄介だよな。
目もあてられない状況になっている会社をいくつか知ってる。

220:NAME IS NULL
12/01/22 21:36:42.65
>>213
>RACのメリットなんてないだろこの時代

え?


221:NAME IS NULL
12/01/22 22:21:32.55
>>220
え?っと思った理由を書けよ低脳

222:NAME IS NULL
12/01/22 22:31:58.17
HA関連はそれなりにメリットあると思うぞ。
パッチもローリングで充てられたり出来るしな。

223:NAME IS NULL
12/01/22 23:22:01.98
サードパーティのHAにした方が使いやすい

224:NAME IS NULL
12/01/23 01:17:51.84
まぁ数分以上の停止時間が許されるシステムなら、RACなんて必要ないかもしれないなw



225:NAME IS NULL
12/01/23 08:37:13.25
>>224
RACは両ノード上がらなくなる事案多発。

226:NAME IS NULL
12/01/23 10:23:31.86
RACはRAID0と割り切って運用すべき

227:NAME IS NULL
12/01/23 10:29:15.62
つまりないほうがましと

228:NAME IS NULL
12/01/23 10:37:04.49
Oracle 11g + oo4oはVB6.0に対応していますでしょうか?

229:NAME IS NULL
12/01/23 10:49:25.50
oo4oはともかくVB6はもうやめとけ

230:NAME IS NULL
12/01/23 11:01:08.76
RAID1って言いたかったのかな

231:NAME IS NULL
12/01/23 12:20:58.26
>>225

OPFSの時代から使っているが、そんなに酷い事にはまだ
ぶつかった事はないな。
なんかRACを使いもせずに単に耳年増で毛嫌いしている
という感じが否めない。

232:NAME IS NULL
12/01/23 12:39:19.81
RACを毛嫌しして安価なDBサーバーを複数台作って
強引にデータを分割するという腐ったシステムを提案するバカSIerは氏んで欲しい

233:NAME IS NULL
12/01/23 15:38:54.00
安くて安定稼動するならどっちでもいいよ

234:NAME IS NULL
12/01/23 22:06:49.72
>>213
> 46台もあるんだから単体サイズなんて書いてられないだろ。

もしかして46台全てがDBサーバなのか??


235:NAME IS NULL
12/01/23 22:10:28.01
RAC運用していてgc系のエラーで四苦八苦してると言ってる奴がいるけど、
アプリケーションがRACを考慮した作りになっていないだけだとちゃいまっか?



236:NAME IS NULL
12/01/23 22:20:38.07
>>235
そのアプリを作ったのが、Oracle社なのですのよ。

237:NAME IS NULL
12/01/23 22:21:31.79
ちゃいまっかって関西ではおっさんしか使わない

238:NAME IS NULL
12/01/23 22:28:36.53
>>228
32bit版はあるが、64bit版は消滅
oo4o(VB6)に明日はないと思ったほうが良い

239:NAME IS NULL
12/01/23 22:53:40.20
>>235
RACを考慮したアプリケーション作りってのは、具体的にどういったことを指す?

教科書どおりの回答だと、やれブロックサイズを小さくしろとか、
やれ逆キー索引使えとか、やれシーケンスのキャッシュを大きくしろとか、
やれ使用しない索引はDROPしろとか、やれコミットは頻繁に行えとか書かれてるんだけど、
そういったことじゃなくて、
例えば、
予算の関係上、開発環境はシングル構成。
本番環境のみRACってのが多くない?
本番に搭載してみて、初めてわかることが多いのが現状。
そこからアプリに手を入れるのは正直厳しい。

そんな状況下で、あなたならどんな解決策を見出せるのか教えてくれ。


240:NAME IS NULL
12/01/23 23:20:54.12
もうRACで苦労するくらいなら、これでええやん

エンジニアから見たOracle Database Applianceの特徴とは?
URLリンク(enterprisezine.jp)

241:NAME IS NULL
12/01/23 23:21:01.30
>>236

EBSとDBはOracle社内でも開発チームは別れているからね。
DBでサポートされているのにEBSではサポートされていない
機能なんかザラにある。
それでも最近は結構まともに動く様になって来ているけどな。

242:NAME IS NULL
12/01/23 23:31:21.37
依然としてうんこだろ


243:NAME IS NULL
12/01/23 23:57:02.82
>>242

その点に関しては全く否定しない。

244:NAME IS NULL
12/01/24 00:01:21.45
>>239

本番機と同等か、最悪でも若干のスケールダウンしたQA機を
用意出来ないのようなら、そういったリスクが当然つきまとう事を
まずは程説明する。
低予算で準備出来ないのならリスクは当然客は覚悟しないと
ならんだろうが。

245:NAME IS NULL
12/01/24 00:07:50.15
RACは設計しっかりやらないと悲惨

246:NAME IS NULL
12/01/24 00:13:45.73
>>239
単純にキャッシュフュージョンを防ぐために、
機能単位に接続するDBサーバを振り分けるとかあると思うが。
それが難しいようであれば、
OLTP系とバッチ系とかで分けるようにするとか。

どうしても各サーバの消費リソースに偏りが生じてしまうのは気持ち悪いけどね。

まぁ完全にRACの力を引き出すためには、
どのアプリがどのテーブルを参照・更新するかを把握する必要があるわな。
なかなか困難だということは理解してるつもりだよ。


247:246
12/01/24 00:16:57.31
>OLTP系とバッチ系とかで分けるようにするとか。

ああ、ごめん。
OLTP系とバッチ系で単純に分けれんわ。
忘れてくれ。



248:NAME IS NULL
12/01/24 01:01:52.46
>>247
なにこいつ、イラっとするわ

249:NAME IS NULL
12/01/24 02:08:47.92
AIX5.3Oracle10.2からAIX6.1Oracle11.2にデーターを持ってくるよい方法を教えてください。



250:NAME IS NULL
12/01/24 02:15:34.70
>>249

データのサイズは?

251:NAME IS NULL
12/01/24 04:15:20.12
Oracleってちゃんと設定することさえできれば速いっていう印象がずーっとあるんだけど、そこは相変わらずなのかな。
結局ちゃんと設定できるDBAとかがいなくって、性能を引き出せてない的な。
もちろん他のDBMSでも起こり得ることだけど、設定できてないことのパフォーマンスダウンが著しい(らしい?)という点で

252:NAME IS NULL
12/01/24 04:49:19.43
>>249

考えられる方法としては・・・

1. ストレージのFlash Copy等のコピー機能使って、対象サーバーに10gで上げてそれからウプグレード。

2. 普通にDatapump

3. Network link (DB Link)使ってのDatapump

4. トランスポータブル表領域

5. GoldengateやStreams

253:NAME IS NULL
12/01/24 05:11:22.11
>>251
いやハードウェア面も大きいよ。
俺が特に重きを置いているのはディスクI/O(ストレージ)。
ディスクI/Oが遅いシステムはどんなにOracleをうまく設定しても
どうにもならんことがある。

254:NAME IS NULL
12/01/24 05:25:22.22
>>241
そうなんだよな。
SunやBEAなど、合併&吸収の繰り返しで、
Oracle Fusion Middleware 11gとかいう巨大戦艦を作り上げてしまった感がある。
(大きすぎて取り回しが効かないというか…)

この巨大戦艦の前では、むしろDBAなんて不要なんだろうか?

255:NAME IS NULL
12/01/24 05:42:05.92
>>254

欧州やアメリカではEBSはOracle Appsと言ってそれなりに使われている。
DBAもApps系をメインに扱う人をApps DBAと呼んでいたりする。






256:239
12/01/24 05:43:16.01
>>244
>低予算で準備出来ないのならリスクは当然客は覚悟しないと ならんだろうが。

そうだよなぁ。
勿論リスクは事前に説明させてもらっているのだが、
その時は耳に入っておらず、安いほうに飛びつく。
んでいざ問題が発生した時には、なんとかしろと怒鳴り込んでくる。
あぁ、我々って…(悲)

>>246
>機能単位に接続するDBサーバを振り分ける
事後だとやっぱ遅いから、事前にアプリ部門に伝えておけば、
ある程度は、なんとかなるかもしれないな。
 LOAD_BALANCE=off, FAILOVER=on
でDataSourceを複数作る設計にしてね。っと。

257:NAME IS NULL
12/01/24 05:52:13.39
Oracle 10gのグリッドってのはどうなったんだろうか。

258:NAME IS NULL
12/01/24 07:33:29.54
>>248
知識に追いつけないからってイライラすんなよw



259:NAME IS NULL
12/01/24 13:11:54.38
>>251
Oracleはキッチリ嵌ればSQL Serverよりパフォーマンス出るけど、ちょっと外
すとパフォーマンスの落ち方がマジ半端ない。

SQL Serverは常にそこそこのパフォーマンスを出す。極端に落ちるって事もあ
まりない。

260:NAME IS NULL
12/01/24 17:45:34.50
>>259
ああ、やっぱ、なんていうか、そのとおりなんだ…
Oracleを使うってのは怖いことだね。経験があればいいんだろうけど…

261:NAME IS NULL
12/01/24 22:43:17.57
自動車で例えるなら、
Oracleはマニュアル車、SQLServerはオートマ車のイメージだな。



262:NAME IS NULL
12/01/24 22:56:58.12
SQL Serverもきっちり運用していかないとすぐにパフォーマンス落ちるぞ

イメージ先行してるんじゃね?

263:NAME IS NULL
12/01/24 23:13:59.66
プラットフォームがWindowsサーバで、構成が同じ場合、Oracleの方がパフォーマンス出るようにするのはしんどいとかなんとか
スレ違いかもしれん

264:NAME IS NULL
12/01/25 01:16:12.00
単に最初から、SQLServer/Windowsサーバに過大な期待を持っていないからだけだと思う。

265:NAME IS NULL
12/01/25 01:43:15.83
>>261
走り屋みたいで、やっぱOracleはかっこいいな。
気分はイニDで、
「ここで必殺ミゾ落としだぁ!」とか、
ライト消して「ブラインドアタックだぁ!」とかって、
パフォーマンスチューニングやっていたい。
そうやってブツブツ言ってたら、同僚からは避けられそうだがw

266:NAME IS NULL
12/01/25 08:21:26.09
>>265
こんな同僚嫌だ

267:NAME IS NULL
12/01/25 08:33:05.02
ゲーセンとかに勤めてれば何の問題もないな

268:NAME IS NULL
12/01/25 18:41:13.16
>>261
>自動車で例えるなら、
>Oracleはマニュアル車、SQLServerはオートマ車のイメージだな。

8iから使っている俺はマニュアル車どころか
ハイブリッドATのプリウスだお。
覚える事は増えたけど、楽でいいや。
おそらく10g、11gから入った人はAT限定免許と同じで
8iを乗りこなす事は不可能と思われ。

269:NAME IS NULL
12/01/25 18:50:09.75
>>268
結局何が言いたいんだ?

270:NAME IS NULL
12/01/25 20:42:13.15
8iとか本当にクソだったな

271:NAME IS NULL
12/01/25 21:23:40.14
8iはローカル表領域の登場がトピックだった

272:NAME IS NULL
12/01/25 21:49:51.22
>>268
確かにOracleも人間が介在するようなことも無くなってきているから、
バージョンを重ねる毎にオートマ車に近づいているかもしれな。

きちんとチューニングされていれば、
UNDO表領域よりもロールバックセグメントを作成した方が早いもんな。
自動セグメント管理よりもフリーリストの方が早いもんな。


273:NAME IS NULL
12/01/25 23:42:06.76
>>272

自動セグメントはRACにおけるInsert処理は圧倒的に早いけどな。
フリーリストも前もってエクステントを割り当てておかないと、スーパーマスターフリーリストの
コンテンションが高くなって、遅くなる。

274:NAME IS NULL
12/01/26 02:42:06.33
メモリ管理も11gならmemory_targetが使えるけど、
もしかして8iみたいにSGAとPGAで分けて、
しかも共有プールやデータベースバッフャキャッシュとかソートエリアとか、
各コンポーネント毎に最適値が事前に分かっているとしたら、
静的に割り当てておいたほうが早いのか?


275:NAME IS NULL
12/01/26 02:48:42.71
待機イベントとか、その辺の統計が見れない9i以前なんて、
俺、チューニングできる自信ねーよ…。

276:NAME IS NULL
12/01/26 04:22:41.07
>>274

PGRA_AGGREGATE_TARGETとSORT_AREAとでベンチ取ったが、
スピードに差は無かった。
O/Sコールそのものは違っていたけどな。

277:NAME IS NULL
12/01/26 04:24:52.80
>>275

何を言うか、8iには立派なutlbstat/utlestatというツールがあるんじゃよ。

278:NAME IS NULL
12/01/26 21:38:15.77
結局逃亡者は逃げ切れたの?

279:NAME IS NULL
12/01/26 22:08:00.71
>>278
その話はネタでしょ。
オライリー社のバックアップリカバリ(分厚い奴)に
それと良く似た話が載っている。アメリカのSEだけど。

280:NAME IS NULL
12/01/26 22:31:36.35
なるほど釣られたってことか

281:NAME IS NULL
12/01/27 20:32:01.49
SQLの関数で、gzip形式の圧縮・伸長を行ってくれる関数ってない?
例えばBLOB型のフィールドに対して、

INSERT INTO HOGE_TBL ( blob_data ) VALUES ( GZIP('abcd') ) ;

SELECT GUNZIP(blob_data) FROM HOGE_TBL ;

みたいなイメージで文字列を圧縮・伸長して出し入れしたいのだが。

282:NAME IS NULL
12/01/27 21:06:05.37
オラクルよく分からないから知らないけど、JAVAストアドプロを駆使すれば
JAVAの標準ライブラリが使えて圧縮身長も出来るんじゃない?
自分の担当したプロジェではJAVAストアドプロは使用禁止だったんで分から
んけど。

283:NAME IS NULL
12/01/27 21:34:39.87
Oracleの圧縮機能を使えばいいんじゃね

284:NAME IS NULL
12/01/27 22:10:41.47
>>281
blob_dataが何型かは知らんが、短い文字列にgzipのような圧縮を行うと逆にサイズが膨らむんだけど。

試しに自分の環境で数百バイトの文字列を格納したファイルを圧縮してみ。

285:281
12/01/27 22:19:27.98
>>282
>JAVAストアド

うちも禁止なんだわー。

>>283
>Oracleの圧縮機能

実は、あるJavaのパッケージソフトが既にgzipで圧縮した文字列で使う仕様になっているんよ。
んで、手動でデータの検索をやりたいのだけど、文字列がBLOB型に圧縮されて入ってるもんだから、
単純に、Like 検索とかできない。
なので、SQL関数で用意されてればいいなぁ、と思った次第です。

SELECT GUNZIP(blob_data)
FROM HOGE_TBL
WHERE GUNZIP(blob_data) Like '%ab%' ;

↑こんな感じでWHERE句に適用することで検索ができれば…。

これができないがために、Javaアプリでデータを全部読みこんだ後、
アプリの中で文字列検索をしなくてはならないという、なんともつまらないことになってるんだわー。

>>284
>blob_data

BLOB型です。
短く書いたのは、あくまで例です。
既に入っているデータは伸長すると1メガバイト以上あった。

286:NAME IS NULL
12/01/27 22:21:44.72
ORACLE/オラクルPL/SQLリファレンス(COMPRESS.LZ_COMPRESS)
URLリンク(oracle.se-free.com)

ORACLE/オラクルPL/SQLリファレンス(COMPRESS.LZ_UNCOMPRESS)
URLリンク(oracle.se-free.com)

287:281
12/01/27 22:46:35.97
>>286
>COMPRESS.LZ_UNCOMPRESS

ありがとう、知らなかった。
ただ、バイナリToバイナリなファンクションなんだな。
WHERE句で文字列としてLike検索の対象とするには、
もう一工夫要りそう。

288:NAME IS NULL
12/01/27 22:57:49.30
Oracle Technology Network (OTN) Japan - 掲示板 : バイナリデータを16進数変換したものを元 ...
URLリンク(otn.oracle.co.jp)

289:281
12/01/27 23:03:55.02
>>288
すげー。
こんな昔の記事がよくすぐに出てくるなぁ。
ありがとう、試してみる。

290:NAME IS NULL
12/01/27 23:12:39.39
まあ、ggrksってやつだ

最初のは「oracle pl/sql gzip」、後半は「oracle バイナリ 文字 変換」

291:281
12/01/27 23:30:58.85
はは、手厳しいな(苦笑)
精進しますw

292:NAME IS NULL
12/01/28 00:32:37.98
ググった方が明らかに早く解決するのに何が手厳しいんだぜ

293:NAME IS NULL
12/01/28 01:33:35.68
Oracle始めようとおもうのですが
何から手をつければよいでしょうか

294:NAME IS NULL
12/01/28 01:37:06.64
まずは服を脱いでください

295:NAME IS NULL
12/01/28 02:10:55.43
そして1時間外で待ちます

296:NAME IS NULL
12/01/28 02:41:22.94
俺がOracleだ

297:NAME IS NULL
12/01/28 03:10:53.85
>>293

普通にトレーニング受けたら?

298:NAME IS NULL
12/01/28 06:08:43.91
そう、トレーニングだ。
今流行のビリーズ・ブートキャンプなんておすすめ。

299:NAME IS NULL
12/01/28 08:44:00.83
今流行

300:NAME IS NULL
12/01/28 17:12:23.34
おまえら全員出て行けよな。臭すぎる

301:NAME IS NULL
12/01/28 17:56:15.07
>>293
必要がない限り、SQLiteとかですませた方が時間が節約できると思う。

本気で始めたいなら、以下の資料をざっとを通して
PCにインストールして、アプリつくって動かしたらいいじゃない?
個人での開発目的なら、使用に制限が無いと記憶している。
URLリンク(blogs.oracle.com)

必要に迫られていないなら時間の無駄だと思う。

302:NAME IS NULL
12/01/29 18:01:03.86
OracleDB勉強しようと思ったらJavaの知識はある程度必要なん?
それともまったくプログラムの知識無しでやってる人いる?

303:NAME IS NULL
12/01/29 18:08:21.89
どうやってDBにアクセスするのか

って部分の言語力は必要じゃね?

304:NAME IS NULL
12/01/29 18:19:28.41
>>302
目的は?
・これから仕事でDBを使うアプリ開発者になる ⇒ 自分がJava担当じゃなくても必要
・これから仕事でDB構築できる人材になる ⇒ Javaが必須じゃないけどプログラミング要素はある
・外部の業者に騙されないように知識を身に付ける ⇒ ある程度の知識はあるべき
・今更RDBの研究素材としてOracleを構造解析する ⇒ 必要
・その他(内容を詳しく)

305:NAME IS NULL
12/01/29 20:58:36.87
>>302
必要ない。PL/SQLとSQLとOracleDBのアーキテクチャとネットワーク接続のアーキテクチャ・接続設定だけ分かってればおk。
プログラム覚えるならアプリケーションサーバのインフラ知識をざっくり把握してればおk

あとは何かあればアプリの問題だから知らんでおk

おk?

306:NAME IS NULL
12/01/29 21:08:25.93
俺以外はなるべく勉強しないでほしい

307:NAME IS NULL
12/01/29 21:46:29.46
パフォーマンスが出ないのを一方的にDBAの責任にしてくるアプリ屋がたまにいるので
そいつらと対等以上に話すをするには、やっぱアプリの知識はあったほうがいい。

308:NAME IS NULL
12/01/29 22:53:44.55
>>307
この意見は間違いない。

アプリ屋はクソキチガイが多すぎる。

309:NAME IS NULL
12/01/29 23:12:11.11
アプリ屋ですがなにか?

310:NAME IS NULL
12/01/29 23:42:19.43
あ、いや、別に何でもございません

311:NAME IS NULL
12/01/30 00:19:56.26
>>302

あった方が良い時もある。

たとえばクソみたいなフレームワークをかませて開発していて、
そいつのせいで問題が発生している様な時に問題切り分け
とか出来たりする。
実際にそういう事があった。

フレームワークがJDBC使っててい、そいつを通すと、アプリに
DB関係のエラーが返っていたんだが、自分で単純にJDBCだけ
使って1万回以上SQLを実行させてもエラーが起きなかった。

フレームワークのせいでは無くてDBの問題だとアプリ開発者達は
ずっと言いはっていたけど、この結果見て「持ち帰らせてください」
って言って黙ったよ。
みて相手は黙ったよ。

312:NAME IS NULL
12/01/30 00:23:44.32
2回書いたのは黙らせたことを強調したかったんです

313:NAME IS NULL
12/01/30 00:26:20.24
アプリ屋はクズばっかり
アプリ屋はクズばっかり
アプリ屋はクズばっかり
アプリ屋はクズばっかり
アプリ屋はクズばっかり
アプリ屋はクズばっかり

大事なことなので6回言いました。

314:NAME IS NULL
12/01/30 00:39:38.08
おまえらのように程度の低い人たちがタッグを組むと最強のゴミシステムが出来上がるな

315:NAME IS NULL
12/01/30 00:44:15.05
ごめん、俺アプリ屋だけどアプリ屋がクズっていう指摘には反論出来んわ。
この1年で前任が書いたクズアプリを直せるだけ直したけど、マジで10倍とか
速くなる事がある。実装後に一度位は実行計画見ようよ。ていうかそんなの
見なくてもダメダメなの丸分かりだけど。

あと、このテーブル設計じゃINDEXとかSQLチューニングではどうにもならない
とかアプリ屋に言われる事もあるけど、だったら最初からもっとマシなテーブ
ル設計しとけよボケとか思う事多々あり。

316:NAME IS NULL
12/01/30 01:16:09.81
勉強すること多いっすね
独学でやっていけるだろうか

317:NAME IS NULL
12/01/30 01:32:45.12
>>315

>ごめん、俺アプリ屋だけど
(中略)
>とかアプリ屋に言われる事もあるけど、

クズアプリ屋どうしなんだから仲良くな

318:NAME IS NULL
12/01/30 04:15:05.00
>フレームワーク
S2Daoの↓これには参ったなぁ。
URLリンク(s2dao.seasar.org)

(抜粋)
=========
データベースのメタデータの取得にとても時間がかかることが判明しています(Oracleなど)。
=========

簡単に言うと、
「アプリ開発者ですら知らない所で、フレームワークが勝手にSQLを発行しているので、
 それが激オソになることがある」ってこと。
アプリの生産性を上げたいのは分かるが、
そのフレームワークを使う以上、完全なブラックボックスとして扱うんじゃなく、
ちゃんと理解した上、責任をもって使って欲しい。

319:NAME IS NULL
12/01/30 05:57:38.44
メタデータ取得が激遅ってDBMSとして致命的だよな

320:NAME IS NULL
12/01/30 09:56:23.91
>>319

はぁ? フレームワークがアホ過ぎて内部処理で激遅になってんだろ?

321:NAME IS NULL
12/01/30 10:31:50.57
恐らくドライバ部分じゃないのか?

322:NAME IS NULL
12/01/30 23:55:50.82
アプリ屋は自意識過剰なやつ多い

DBAはガラパゴス野郎ばっかり

いまの時流はITアーキテクト。こき使ってやるよ下流の下衆ども

323:NAME IS NULL
12/01/31 03:06:11.75
上流≠上等では無いのだよ( ´,_ゝ`)プッ
勘違いが痛々しいな。

324:NAME IS NULL
12/01/31 03:46:13.35
夢を見るのも自由だし夢を語るのも自由
ここは2chだ存分に語れ

325:NAME IS NULL
12/01/31 23:15:43.73
>>324
なにこいつキモチワルイ

326:NAME IS NULL
12/02/02 14:14:40.83
先月まで動いてたオラクルサーバーに入れない

ORACLE not available
shared memory realm does not exist

とか
1/12に自動的にWUかかったほかには、何も弄ってないんだが
なんでだ

327:NAME IS NULL
12/02/02 14:29:12.44
ひとつ心当たり?としては、
このサーバー(開発用)、DHCP からアドレスを貰って動いてました。

どっかでIPアドレスが変わってるかもしれません。
何か関連性ありますか?

328:NAME IS NULL
12/02/02 22:03:09.52
IPアドレスが変わったらlistener.oraを直す必要がある。
けどまずはイベントビューアのログとOracleのアラートログを
確認したらいいよ

329:NAME IS NULL
12/02/02 23:49:58.56
>>326

サーバーがリブートかかって、その後単にOracle DBを上げ忘れてるだけじゃね?


330:NAME IS NULL
12/02/03 01:03:17.08
仕事でOracle使ってる人って独立する気ある?
DB屋ってフリーでやってけるもんでは無いのかね

331:NAME IS NULL
12/02/03 01:53:21.91
>>330
今は見知らぬフリーランスにまわせるくらい仕事があるような状況じゃない
それなりのスキルは当然としてDB屋に限らずコネがあるかどうかが重要

332:NAME IS NULL
12/02/03 05:37:58.10
>>326

それはListener 経由の接続のみでか?
BEQ 接続だと問題ないか?

333:NAME IS NULL
12/02/03 06:08:29.96
>>330

そういやフリーの人が作るシステムは、
Linux+Apache+Tomcat+Java+(MySQL or PostgreSQL)
って構成をよく見かけるなぁ。
(勿論、冗長化構成なんてものはなく、1つの筐体にこれら全てが入ってる)
そんなに厳しいミッションクリティカルが要求されないシステムでは
金がかからない分、客も喜ぶんだろうな。

334:NAME IS NULL
12/02/03 07:38:03.94
>>326
これってSIDが設定されてないんじゃ?

335:NAME IS NULL
12/02/03 08:19:01.65
おまえらが相手しようとしてる質問者はどうやらWindows使いみたいだぞ(勘だけど)
WUってなんだろうと考えたらWindowsUpdateのことを言ってるっぽいしな
何をどこでどうしようとしたらそうなったのかもっと詳しく説明させるべきじゃないのか

336:326
12/02/03 09:29:43.50
イベントログにはエラーらしき情報は落ちてないんだけど
どうやら起動後に、Oracle×××× のサービスを
手動で再起動させないといけないサーバーに成り下がったようです。

本番用だったらゾッとしますが、とりあえず開発用なので、
手間ではありますが、そういう使い方で続けます。

337:NAME IS NULL
12/02/03 09:42:17.46
>>336
sqlnet.oraに↓の設定がある?
SQLNET.AUTHENTICATION_SERVICES =(NONE)

338:NAME IS NULL
12/02/03 10:22:20.78
インスコしてから何も触ってないけど

SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

ってなってる

339:NAME IS NULL
12/02/03 19:04:18.84 ylJo/Bgl
アーカイブログが溢れたか

340:NAME IS NULL
12/02/03 19:47:37.43
>>338
昔からWindows版のOracleは自分が必要な他のサービスと連携する気がないらしくて自動起動で立ち上がるのは
先にそのサービスが上がってるかどうか運次第なんだよ
なので
SQLNET.AUTHENTICATION_SERVICES= (NTS)
つまりOS認証を使うために関連するサービスが上がってないときにインスタンスを起動しようとすると失敗するから
それをNONEにして逃げるという手があるってこと
どうしてもNTSを使う必要があるなら知らん

341:NAME IS NULL
12/02/03 21:46:44.98
サービスの依存関係って設定できなかったっけ

342:NAME IS NULL
12/02/04 04:33:20.26
できるけど、そこに設定するのはそのサービスのプロセス自体に依存するものを設定するのが本来の使い方で、
ソケット接続のようなゆるいものは設定しない。

343:NAME IS NULL
12/02/04 13:18:30.94
ちなみに依存関係を設定するための管理画面のようなものはないからレジストリを直接いじるしかない

344:NAME IS NULL
12/02/04 13:20:17.45
クソだな
やっぱunixでないとダメだな

345:NAME IS NULL
12/02/04 14:31:42.22
UNIX系だと自動起動の設定、自分で作らないと駄目ですよね?

346:NAME IS NULL
12/02/04 15:38:13.17
素人のような質問ばかりがとびかってるな

347:NAME IS NULL
12/02/04 15:40:45.93
とか素人に言われましてもね

348:NAME IS NULL
12/02/04 16:02:44.57
ど素人の頃は何から勉強していった?
知識も何もないからとりあえずオラクルマスターのブロンズ目指してるんだけど
平日は夜1時間くらいしか勉強できないから全然進まん

349:NAME IS NULL
12/02/04 16:47:35.05
>>348
ブロンズなんてトータル10時間あれば取れるだろ

350:NAME IS NULL
12/02/04 17:55:00.64
10日かかっちゃうじゃん

351:NAME IS NULL
12/02/04 17:57:31.28
ちゃんと計算できるみたいだから合格するんじゃね?

352:NAME IS NULL
12/02/04 19:03:18.00
いや、10日っていう結論出す前に仕様を確認できてないんじゃないのか
「平日は1時間」という条件しか記述されていないのだから平日以外は
何時間勉強できるのかをまず確認するべき

353:NAME IS NULL
12/02/04 19:07:34.04
~なら10日あれば合格しちゃうでしょ笑
とかほざいてる奴は大抵1ヶ月以上かかってる
マジで10日くらいで合格してる奴は案外難しいから注意したほうが良いってアドバイスをする

受験と一緒だわ

354:NAME IS NULL
12/02/04 19:50:24.79
独学で10時間は難しいのでは?
SQLとDBA、2つ必要だから詰め込みでも30時間ぐらい必要だと思いますよ♪

355:NAME IS NULL
12/02/04 20:37:44.86
>>343
2003以降なら、scっていうコマンドで管理できるわけだが。

356:NAME IS NULL
12/02/04 21:25:09.15
>>355
それは失礼した
前言取り消して
リソキのsc.exeを使えばコマンドラインでサービスの依存関係も設定できる
ということかな

357:NAME IS NULL
12/02/05 16:35:31.74
質問なんだけどJdbc接続のほうが良いの?
ウェブサーバーからバッチでsqlplusで流してるんだけど、jdbcにするほうがいいのかな。

358:NAME IS NULL
12/02/05 16:42:32.58
そりゃそうだよ

359:NAME IS NULL
12/02/05 17:22:12.39
そんなわけないじゃん

360:NAME IS NULL
12/02/05 18:21:51.95
表現力不足な質問多すぎだろ

361:NAME IS NULL
12/02/05 18:36:44.90
で?

362:NAME IS NULL
12/02/05 19:05:05.97
その理由は?

363:NAME IS NULL
12/02/05 19:36:01.74
表現力というより提示すべき情報が不足してるのは多いな

364:NAME IS NULL
12/02/05 20:02:11.85
表現力が不足してるのは>>360だからな

365:NAME IS NULL
12/02/06 00:02:54.66
分かるのに分からん振りするのもどうかと思うが

366:NAME IS NULL
12/02/06 03:01:44.31
>>357
OracleにJDBCは使っちゃダメ。
結果セットが静的にしか生成できなくなる。
(ResultSetをDynamicにできない)

367:NAME IS NULL
12/02/06 07:36:14.55
>>366
じゃあJavaから何を使えばいいの?

368:NAME IS NULL
12/02/06 07:38:13.02
ボケててODBCと間違えたスマソ

369:NAME IS NULL
12/02/06 08:39:26.31
とにかく否定したいという思いがあるから間違えるんだよね

370:NAME IS NULL
12/02/06 20:32:59.38
teratermやcmdでsqlplus使うとselectの結果がひどいです。
colmn xx for aXXとかでいちいち整形しなくても済む方法なにかないですかね?

371:NAME IS NULL
12/02/06 20:56:28.26
CSEを使う

372:NAME IS NULL
12/02/06 20:57:37.55 JMa/P6HI
SQL Developerを使う

373:NAME IS NULL
12/02/06 21:54:39.84
AIX のOracleでProCのコンパイラ環境使ってるんだけど、バージョン11.2に上げたら文字化け発生するようになりますた。こんな経験ありませんか?

374:NAME IS NULL
12/02/06 22:11:25.46
CSEってそろそろオープンソースにしてもいいレベルだよな

375:NAME IS NULL
12/02/06 23:12:27.16
CSEくらいソースもらわなくても自分で作れるだろ

376:NAME IS NULL
12/02/06 23:15:57.93
>>370
SELECT '"'||COL1||'","'||COL2||'","'||COL3||'","'||・・・
FROM table

みたいなSQLを作ってExcelとかで見る。

SQL*PLUSならCOLSEP使ってもいい

377:NAME IS NULL
12/02/06 23:37:31.62
CSEってなつかしいなまだあんのか

378:NAME IS NULL
12/02/06 23:51:43.98
でもCSE、Windows7だと少し挙動が変なんだよね。
全然我慢できるレベルだけど。

379:NAME IS NULL
12/02/07 00:01:36.88
CSEはCSVでの入出力の為だけに使ってるな。普通にデータ見るときは別のツール
使うわ。それとも、「とりあえず最初の10行だけselectして、続きはなんかボタ
ンを押したらfetch」みたいなこと出来るの?>CSE

いっつも、"WHERE ROWNUM<100" みたいな事書いてんだけど

380:NAME IS NULL
12/02/07 02:32:41.37
フリーだと

SQL Developer
CSE
黒猫
A5:SQL

くらい?どれも一長一短だね


381:NAME IS NULL
12/02/07 03:00:41.27
PL/SQL developer \25000
Object Browser \46500

OBは結構便利な機能(loaderのctrlファイルを吐いてくれるとか)があって常用
したいんだが、個人で買うにはちょっとだけお高くて厳しい。
PL/SQL developerはPL/SQLで大き目のプロシージャを書くならマジお勧め。しかし
これに慣れると、他のツールが使えなくなる。obj名補完の無いツールとかもう
無理だわ。

382:NAME IS NULL
12/02/07 03:19:53.70
黒猫でいいんじゃね?

383:NAME IS NULL
12/02/07 07:26:07.62
Object BrowserはRead Only Editionでよければ、そこそこ安いよ。
URLリンク(www.sint.co.jp)

384:NAME IS NULL
12/02/07 23:14:20.27 gKjY1fiR
オラクルで分からないところがあるんだが
答えてくれるとありがたい

Q1、一つのPCで起動可能なインスタンス、データベース数
Q2、変数に値を入れた場合、どこの領域に格納されて管理されるか
Q3、リスナーAが接続してるところにリスナーBが接続するとどうなるか
Q4、表領域が10%切ったら通知を出したい。どうすればいいか

385:NAME IS NULL
12/02/07 23:27:03.65
>>384
A1:リソースや設定に依存
A2:変数とは何か。バインド変数?
A3:意味不明。ポート競合を意図しているなら、後に起動するリスナーは起動できない
A4:表領域の何が10%を切るのか。通知手段は

386:NAME IS NULL
12/02/07 23:38:34.56
>>384
まず設問を正しく理解してから聞け

387:NAME IS NULL
12/02/07 23:44:06.09
Windowsユーザっぽい質問だな
とくにQ3の意味がつかめん
ここはエスパーの出番

388:NAME IS NULL
12/02/07 23:56:26.28
>>384
A1:無限大。どんどん好きなだけ立ち上げろ!
A2:変数はどこにも格納できない仕様なので、常にCSVファイルに出力するようにして、必要になったら読み込む処理を自分で実装するしかない。
A3:それぞれのリスナーがパケットをバラバラに受け取るようになるので、ヒッチャカメッチャカになる。
A4:通知を出すことは不可能なので、必ず自動拡張をONにしておく。DISK容量がパンクした時点であぼーん。

…いや、全て冗談なw

389:NAME IS NULL
12/02/08 00:22:52.38
>>384
A4
表領域使用率をチェックするスクリプトでも書いて、定期的に実行させろ。
メール通知でも音楽鳴らすでも何でも出来る。

A2
Privateなメモリ領域。
複数のProcedureやFunctionから共通で読み書きしたいPublicな変数が欲しけれ
ばテーブルに書き出せ。

A1
可能性は無限大

390:NAME IS NULL
12/02/08 00:29:39.86
>>384
うちのDBAが客先でこんなトンチンカンなことを口走ってたらと思うと恐ろしすぎる。
考えさせられた

391:NAME IS NULL
12/02/08 02:05:54.62 C0rq3LnK
質問です。
expdpによるバックアップをバックアップサーバ(Windows)の共有フォルダに保存したいのですが、
一般的にはどのような仕組みにするもんなのでしょうか?
(Windows2003 Oracle 11.2)

392:NAME IS NULL
12/02/08 05:19:12.94
>>391

直接保存する事も出来るし、一回ローカルに取ってからコピーとかも出来る。

ただし、直接Datapumpの出力先にする場合にはドメイン関連の設定とかかなり
ややしこしかったかと思う。

393:NAME IS NULL
12/02/08 05:30:22.72
>>391

直接Datapumpの保存先にする場合。

- Network driveのmapはOracleをインストールしたユーザーで行う。(再起動時の設定も変えておく)
- ディレクトリオブジェクトの作成時には、ドライブレターでは無く、サーバー名を直接指定する。
例: SQL> CREATE OR REPLACE DIRECTORY SHARE_DRIVE AS '\\hogeserver\boge';

394:NAME IS NULL
12/02/08 09:48:07.91
共有フォルダ使うときは権限の設定に注意がいるかもしれんね
具体的な内容はググれば見つかると思う

395:NAME IS NULL
12/02/08 10:48:53.16
>>393
それ11gからはセキュリティ強化されて出来なくなってね?


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