Oracle 質問総合スレ13 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
>>625
使ってないからわからないだけだろうが。 >>627
MySQLの<=>演算子とか、非推奨だけどSQL-ServerでANSI_NULLSをOffにするとか
>>628
nullable な値の比較が面倒って話でしょ >>630
そういうこと。
そもそもLEFT JOIN以外でのNULL発生を禁止しなかったSQL標準化の失策 >>629
散々検討して使えなかったから
たしかに使ってない >>632
SQL Developerはどんどん変わってる。
あなたは12cのマルチテナントの管理操作をSQL Developerでする想定でオラクル社は説明し、SQL Developerがオラクルマスターの出題範囲になっていることも知らないのか? >>634
日本語でお願いします。なんでもしますから >>631
あなたは自分の都合を言っているだけで、NULLの定義が気にいらないだけだろうが。
LEFT OUTER JOINのときだけNULL値が発生する仕様にしろと言っているのも支離滅裂だぞ。 >623
あれ、今のSQL Developerってそんなに便利なの?
11gぐらいの知識で止まっててよく知らないんだけど
imp/expの代わりに成り得るもの?
バッチ化してバックアップしたり復元したりできるなら個人的ハッピー insert文を泥臭くエクスポートして
インポートするくらいしか知らないなぁ
12cで機能増えたの? ダメだこりゃ。SQL Developerの配付の基本ルートはOracle Databaseのインストーラではない。 SQL Developerっていつまでたってもバグだらけ。
いろいろ機能試してみても、内部的にバグったSQLが発行され、エラーでどうにもならないことが多い。 >>642
使えるけど、テーブル指定いっぱい指定すると、実行時に文字数制限オーバーでエラーとか出る。 配布ルートというのがよく分からんけどoracle databaseインストールすると、ORACLE_HOMEに入ってるけどな 結論からいうと
exp/impの代替はSQLDveloperじゃ、つとまらんです
サーバーサイド機能のデータポンプをキックするだけのゴミ機能があるだけ U.S.A!!
U.S.A!!
かーもんデータアメリカ!
データを高速にimport
Data Pump >>636
少なくとも、外部結合のみnullが発生するという建前があれば、空文字列がnullになってしまうようなヘンテコな仕様にはならなかっただろう。 >>652
まさかおまえの頭では空文字列とNULLがごっちゃなのか? >>653
俺の頭の中では別物。そのせいでoracle使うときに苦しむ。 INSERT文、UPDATE文等ではシングルクォーテーション2つはNULLとみなす。
値がないことがNULLだから、Oracleは空文字列をNULL値にしている。
空文字列とNULLが同居するRDBMSの方がさらに面倒で、両方が混ざりあったりして、両方想定していないといけなくなる。 値が NULL と非 NULL の場合とで、ケースを区別していることと大差ないような >>657
> 空文字列とNULLが同居するRDBMSの方がさらに面倒で、両方が混ざりあったりして、両方想定していないといけなくなる。
バカには難しいってことか w >>657
そもそも値がないことと、空文字はそもそも違う。
選挙で投票しないのと、白票を投票するぐらい違う。
白票をカウントしない選挙制度と同じくらい雑な仕組み。 その件については白票しかカウントしない選挙制度が妥協の産物なだけやけどな なんか経緯があるのかね
最初に作った人が「こっちの方が便利じゃね?」と思ったとか
逆に
・文字列は空文字、数値はゼロ、日付は0001-01-01 00:00:00を初期値とする
・外部結合で結合結果が存在しない場合初期値とします
とかいうDBがあったらそれはそれで他の言語からデータを取り扱う際便利そう
プログラム言語は基本そっち側だよね >プログラム言語は基本そっち側だよね
だったらヌルポとか発生しないわ >>663
空文字列は空文字列がデータで良いのかどうかという判断が難しくなるので、リレーショナルデータベースではNULL値を採用している。 >>663
外部結合させた場合に発生するNULLは正確には不定値で、値がないというNULLとは少し異なる。 >>667
NULL値てw初心者スレいけよおまえw >>667
リレーショナルデータベースの一般の話ではなく、ORACLEのみの話 >>670
Oracle DatabaseではNULL値(NULL Value)という言葉を使います。Oracle Databaseのマニュアルくらいは見ましょう。 oracleのオプティマイザがアホすぎてなかなかexadataのsmart scanを生かし切れない。
インデックス無しでも必要なデータのみストレージで絞って返すというのが売りなのに、実行計画が悪いと大量データ返して来てHASH結合で一時表領域がパンクすることが多い。
なんかコツある? direct path readになってないんしょ。
インデックスは最小限で、必要に応じてinvisible indexが基本じゃない? Exadataが特別なものだと信じ込んでいるやつが多すぎて仕事でも会話が成立しない。 >>673
普通に索引作って回避してるぞ?
smartscanを過信しすぎるのは禁物。 まぁ、Storage Serverの存在が相当特殊だわな >>678
検索条件によってはそっちの方が普通に早いし。 ストレージサーバーが全てのSQL、データに有効とは言ってないしな
チューニング出来る人がExadataでも必要 デベロッパー、テスターの一人一人に互いに干渉しない全く同じデータベースを提供したいのですがどういった手段が考えられますか?
データ量は開発用に控えめにしてあるのでディスク容量が足りなくなることはないという前提です >>683
Oracle Database Express Edition(OracleDB XE)を使う、
インスタンスを分けるなど
目的に応じて検討 >>683
プラガブルデータベース違いで使い分ける。 >>683
スキーマを人数分複製が一般的だろう。
干渉しないというのが負荷の話でなくデータの話なら。 >>684-686
どうもです
人数分create databaseすることにしました
スキーマで分けるのが確かに簡単かと思ったのですが
アプリが複数のスキーマに依存していて、スキーマ名を明示してしまっている(select * SA.T1, SB.T2)ので、おそらく不可能かなと どの程度のスペック(cpuコア数、メモリサイズ、ディスクサイズ)のサーバに、何人分のデータベースを立てようとしてるの? その感じだと、データベース一つあたりミニマムでどんくらいリソース使うのか検討ついてないでしょ 自社開発ならフリーで製品機能使えるやつがあるんだっけ?
顧客向けは無理だった気がするけど >>687
スキーマをSQLに書いちゃだめだよ。
アプリから他のスキーマ見たい場合、シノニムでやるのが一般的 つまらない質問だけど気になったので質問
LOG という名前のテーブルは問題なく作れて、SQL レベルでは普通に扱えるんですが
PL/SQL で
rec LOG%ROWTYPE;
とか書くとエラーになる
PLS-00310: %ROWTYPE属性の場合、LOGは表、カーソル、カーソル変数である必要があります
LOG の前にスキーマ名を付けて完全修飾にすると問題なく通ります
これは LOG という名前を対数関数 log() かなんかと混同してるせい? >>701
回答がもらえないようで。やはり誰も知らないのか
確かにLOG なんて名前のテーブルは本能的にヤバそうな気がして普通は作らないのかも
途中から関わったプロジェクトでこの名前のテーブルがあって、プロシジャ作っててハマったんだけど
もちろん名前は変えてもらいましたw >>702
本当にそのスキーマにLOGという名前のテーブルが存在していたのか?
スキーマ修飾したら、エラーが発生しないという点がひっかかる。 >>701
たしかにビルトインパッケージのLOGファンクションと判断されたのかもしれない。
データベースオブジェクトの評価順位のうち、ビルドインバッケージの方が先に評価されるなら、言っているような理由かもしれない。 15分程度の間に自分で誤魔化すくらいなら書き込む前に確かめておけよ >>705
構文を後ろからチェックするプログラミング言語は多いんだよ。 >>704
確認してもらったようで どうもでした
やっぱそうなのか、と思って他の関数でも調べてみると
sin、cos とか substr でも同じ現象が起こります
どうやらそういう事みたいですね https://docs.oracle.com/cd/E57425_01/121/SQLRF/sql_elements008.htm#i44213
> データベース・オブジェクトのネーミング規則
> *特に*、SYS_またはORA_で始まる文字をスキーマ・オブジェクト名として使用しないでください。
> また、*SQL組込みファンクションの名前*を、スキーマ・オブジェクトまたは
> ユーザー定義ファンクションの名前として使用しないでください。 >>711
なるほど、ちゃんと書かれてたんですね
じゃ、テーブル名を変えてもらったのは正しかったのか
create table の時点でエラーにせず、ガイドライン的な記述にとどめているのは
それが出来ない政治的な理由がありそうだけど
少なくとも Oracle が問題を認識してることは はっきりしました
ありがとうございました >>713
同感だけど、そういう感覚を持たない人がいるので下っ端が苦労するわけです 以前、表や列といったオブジェクト名に「スペース」が使われてる事例があった。
同様にマルチバイト文字や、大文字・小文字を区別するのも後で悩まされるが、
Oracle が "日本語" のようにダブルクオートで囲まなくても受け付けちゃうのも
問題かもしれない。便利だけどね。 >>715
ORACLE10の頃、日本語項目ダブルクォートで囲まず酷い目にあったのは今でもトラウマ 私たち日本人の、日本国憲法を改正しましょう。
『憲法改正國民投票法』、でググってみてください。
(へいわ)は、勝ち取るものです。拡散も含め、お願い致します。 SQL監視って複雑すぎるSQLは遅くても拾ってくれないのね。見事に騙された。 winx64_12201_databaseの中のsetup.exeをクリックすると、黒い画面のあとにインストーラが起動します。
そこでフリーズしちゃうんだけど理由を教えてください。
Windows10 64bit メモリ8GBでハードウェア要件は満たしています。 >>720
12c Release 2 (12.2.0.1.0) はオレもノートPC (Win10 x64 HomeEd) に入れようとしたら途中で止まった
Release1 (12.1.0.2.0) の方は止まらずイントールできたので、そっちを使ってる >>722
どうもありがとうございました。
試してみたけど、やっぱり駄目でした。
同じPC同じ環境で半年前は普通にインストールできたのに、アンインストールの仕方が悪かったのかな? アプリのサポート屋なので知識不足申し訳ないんですが
Oracle11g→12cに移行してからやけにレスポンスが落ちたので
DB担当に相談してオプティマイザのバージョンを11.2に下げたんですが
それだけで良いもんなんでしょうか むしろオプティマイザ下げて他に影響がないかきになる 1adative系が実行計画改悪するのはよく聞く。
今やoracleも適応統計はデフォルト無効を推奨するナレッジ出してるしな。 ■ このスレッドは過去ログ倉庫に格納されています