問題タブ [oracle11g]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 日付を会計年度に切り捨てる
次のデータベース ビューでは、日付が会計年度 (4 月 1 日) に切り捨てられます。
これにより、今日の日付に基づいて現在の会計年度を計算できます。
この計算をどのように簡略化または最適化できますか?
sql - 単一のクエリを使用して複数のテーブル列の値を更新する
単一のクエリを使用して複数のテーブルのデータを更新するにはどうすればよいでしょうか?
MySQL の例
MySQL での同等のコード:
Oracle 11g を使用した同じステートメントは何ですか?
ありがとうございました!
RTFM
Oracle を使用する場合、単一のクエリでは不十分なようです。
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_108a.htm#2067717
plsql - ApplicationExpressでSql*Plusコマンドを実行します
PL / SQLは初めてで、コースで学習したコマンドを実行しようとしています。
SqlPlusを使用してこれを実行できることは理解していますが、先生がApplicationExpressを使用してWebブラウザーからこれを実行していたことを覚えています。HOME> SQL> SQLコマンドで同じコマンドを実行しようとしましたが、エラーが発生し続けます
「ORA-00900:無効なSQLステートメント」
。
Application Expressで実行するのを手伝ってもらえますか、それともエディターを使用してこれらのコース演習を実行できる方法を教えてもらえますか?
ありがとう!
oracle11g - Oracle Hash Cluster オーバーフロー ブロック
Oracle の 1 つのテーブル ハッシュ クラスタに多数の行を挿入すると、そのハッシュ値にハッシュされる値でブロックがいっぱいになり、オーバーフロー ブロックの使用が開始されます。
これらのオーバーフロー ブロックは、メイン ブロックからチェーンされたものとしてリストされていますが、それらがどのように割り当てられているか、またはチェーンされているかについての詳細な情報を見つけることができません。
オーバーフロー ブロックがハッシュ値に割り当てられる場合、そのブロックはそのハッシュ値に排他的に割り当てられますか、それともプールとして使用されるオーバーフロー ブロックであり、異なるハッシュ値は同じオーバーフロー ブロックの使用を開始できます。
チェーンの空き領域はどのように監視されていますか? つまり、データが挿入され続けているため、現在のオーバーフロー チェーンに空き領域があるかどうかを確認するためにチェーン全体を走査する必要がありますか? 、次に新しいブロックを割り当てることを選択しますか?
oracle - Oracle Schema Design:I / Oオーバーヘッドのあるスキーマを分離しますか?
Oracle11gR1をベースにした新しいシステムのデータベーススキーマを設計しています。100近くのテーブルを持つメインスキーマを特定しました。これらはフロントエンドJavaアプリケーションからアクセスされます。
50近くのテーブルで変更された値を監査する必要があります。これは、すべての行で実行する必要があります。
つまり、1つの行の場合、テーブルMYSYS.T1
に50(またはそれ以上またはそれ以下ですが、最小1)の行が存在する可能性がありMYSYS_AUDIT.T1_AUD
ます。すべての列エントリの古い値と、から利用可能な新しい値がある可能性がありますT1
。
DBAは観察を行い、この方法に反対するようアドバイスしました。彼が言ったのは、個別のスキーマはすべての操作に対して追加のI/Oを意味するからです。基本的に、AUDITスキーマは、値の分析と入力を行うためにのみ使用されます(したがってSELECT
、INSERT
)。
「別個のスキーマは追加のI/Oを意味する」というのは本当ですか?正当な理由が見つかりませんでした。
AUDITデータは改ざんされるべきではないので、私には論理的に見えます。したがって、別のスキーマです。
また、からいくつかのテーブルをアーカイブするための別のスキーマを設計しましたMYSYS
。テーブルからMYSYS_ARC
テープにバックアップされるか、十分な時間が経過すると削除される可能性があります。
いくつかの統計:
スキーマ
内のいくつかのテーブル(20、30に近い)がMYSYS
約5,000万行に拡大する可能性があります。
合計4TBのディスク容量を要求しました。
MYSYS_AUDIT
スキーマはその10倍になる可能性がありますがMYSYS
、3か月以上保持することはありません。
MYSYSのいくつかのテーブルには、次のトランザクション/分があります。
- テーブルへの同じ数の挿入を意味する
INSERT
100 。MYSYS
MYSYS_AUDIT
- テーブル内の1000
UPDATE
は、MYSYS
テーブル内の同じ数の挿入を意味しMYSYS_ADIT
ます。
質問:
これらすべてを踏まえて、改善点を提案していただけますか?
- 別のスキーマはディスクI/Oに影響しますか?(スキーマごとに1つの追加I / O?)
- 一般的な提案はありますか?
形:
これとは別に、読み取り専用の権限のみを持つスキーマがさらに2つありますが、主にそれらはアドホックな目的であり、それらのパフォーマンスは気にしません。
提案:
いくつかの提案があります。私たちは次のことに同意します。
- 論理的分離のスキーマ。
TRIGGER
AUDITテーブルにデータを挿入するため。_AUD
テーブル名にはサフィックスはありません。:)ARCHIVE
スキーマテーブルにデータを入力する手順。- 間隔に基づいて分割します。
私たちは分析しています...
- ワークスペースマネージャーオプション。
APCまたはdpbradelyのソリューションを受け入れる前に、質問はまださらなる提案のために開かれています。
plsql - OracleDatabase10gと11gでの...の更新の選択の違い
OracleDatabase10gと11gでは次のPL/SQLブロックの処理が異なることがわかりました(便宜上、scottスキーマを使用しています)。
10g(10.2)では、このコードは正常に終了しますが(NO_DATA_FOUND例外が発生しますが、これは予期されます)、11g(11.2)では、「列があいまいに定義されています」という例外が発生します。そして、それは絶対に期待されていません。FOR UPDATE OF e.empno(これも機能しません)の列をe.mgr (一意)に変更すると機能し始めることがわかったため、テーブルエイリアスが考慮されていないようです。それで、これは11gのエラーですか?何かご意見は?
sql - Oracleのサブクエリによるグループからの値で条件付きでテーブルを更新する
問題は、5 つ以上のプロジェクトに携わった全従業員の給与を 50%、30% (>= 3 つのプロジェクト)、20% (>= 1 つのプロジェクト) で更新するプロジェクトの数です。 EMPLOYEE_PROJECT_HISTORY に対してグループごとのクエリを実行する。
私はこれらのクエリを試しました
oracle - リモート接続用のポートの変更をリッスンしているOracle
Oracle 11gR2をインストールしましたが、リモートシステムからデータベースにアクセスしようとしています。
私のlistener.oraはまだデフォルトです:
./lsnrctlサービスはこれを返します:
ポート1521を使用してリモート接続を取得できませんが、上記のポート47616は機能します。1521とは別のポートを使用してもかまいませんが、問題は、再起動するたびにこのポートが変更されることです。
何が問題になっていますか?
ありがとう!
oracle10g - 11g 環境で Oracle SSO 10g を置き換えるために必要な提案
現在、Oracle 10g App Server の SSO コンポーネントを使用して、外部/インターネットに面したクライアント「ポータル」でユーザーを認証しています (オンライン バンキングに似ていると考えてください)。
SSO は Oracle Internet Directory を使用してデータを格納します。PL/SQL および Java を使用して、OID に保持されているデータにアクセスし、変更することができました (たとえば、ユーザーの作成/削除、パスワードの変更/検証など)。
11g の登場により、Oracle は SSO を「孤立」させたように見えます...利用可能ですが、アドオンとしてのみ使用でき、Oracle Access Manager に取って代わられたようです。合わせて12g落とされると思います。さらに、インストールして正しく実行するのはかなり難しいようです。
それで、誰かが私たちと同じ移行の問題を経験した経験があるかどうか疑問に思っていますか? もしそうなら、あなたは何をしましたか?
または、Oracle Access Managerを使用して同様のことを行った経験のある人はいますか? 私たちが望むことをしてくれると思いますか?
それとも、下るのにもっと良い道がありますか?他に考慮すべきことはありますか?
非常に大雑把な質問で申し訳ありませんが、+ がうまくいかないことについての人の経験が、私たちがタイムリーに何らかの進歩を遂げるのに大きな違いをもたらす可能性がある状況の 1 つです。ありがとう。
user-interface - ラップトップに 64 ビットの Oracle クライアントをインストールしましたが、toad が動作しません。古いバージョンの SQL*Plus のようなユーティリティはありますか?
sqlplus コマンド ライン ユーティリティは正常に動作していますが、コマンドをコピーする必要があります。それらを編集して再実行します。コマンド プロンプトは、その点で少し邪魔になります。SQL インスタント クライアント 32 ビットをダウンロードしましたが、さらに先に進む方法がわかりません。それのインストール。