問題タブ [oracle12c]

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.

0 投票する
1 に答える
13297 参照

sql - ORA 7445: Oracle 12c がクラッシュするクエリ

Oracle 11 ですべてのテストに合格した後、現在、Oracle 12 でアプリケーションをテストしています。テスト中、特定のクエリを実行すると、アプリケーションは Oracle への接続を失い続けました。問題を正確に再現する簡単な例を次に示します。

このクエリを実行すると、Oracle への接続が切断されます。Oracle アラート ログに「インシデント」が記録されていますが、それが発生した理由は示されていません。TO_NUMBER(... と SELECT(MIN... の部分の組み合わせのようです。どちらかを置き換えると、問題はなくなります。ただし、テストおよび検証済みであるため、これを行うのは気が進まないので、この手法は、プログラム全体の複数の場所に表示されます。

他の誰かがこのようなことに遭遇しましたか? 何が原因ですか?

Oracle 12.1.0.1.0 を実行しています。サーバーは 64 ビット、クライアントは 32 ビットです。

アップデート

アラート ログからの関連する抜粋を次に示します。

結果のトレース ファイルのコピーを次に示します。

0 投票する
2 に答える
274 参照

cube - Microstrategy で Oracle SQL Cube を表現する

こんにちは、Oracle 12c データベースに serveral キューブ テーブルがあります。Microstrategy でどのように表現しますか? Microstrategy のオブジェクト インテリジェント キューブは、このキューブを正しく表現せず、インメモリ SQL を保存します。キューブテーブルに対してリアルタイムでSQLを実行する必要があります

0 投票する
1 に答える
53 参照

database - INMEMORY から取得されたデータを監視するにはどうすればよいですか?

Oracle 12c DB で INMEMORY COLUMN STORE をチューニングしています。データが一般的なDBからではなく、INMEMORYから収集されることをどのように理解するのですか?

SQL Developer の Plan からこの情報を取得できません。

0 投票する
1 に答える
225 参照

sql - INMEMORY パーティションからデータを収集するには?

Oracle 12c DB をチューニングして、いくつかのテーブルをINMEMORYパーティションにロードしようとしています。だから、私は2つのテーブルを変更しましCRITICAL PRIORITYた。しかし、メモリ内のテーブルからデータを取得しようとするとSELECT、一般的なパーティションから収集されます。Autotrace から取得しました。

私が間違っていることは何ですか?

0 投票する
1 に答える
35 参照

oracle12c - 2 つの日付を減算すると条件が機能せず、その差が特定の数値よりも大きい

以下の where 句を指定しましたが、クエリは 4 より大きいかどうかに関係なく出力を返します。何が間違っているのか教えてください

0 投票する
9 に答える
31243 参照

c# - Oracle.ManagedDataAccess および ORA-01017: ユーザー名/パスワードが無効です。ログオンが拒否されました

サーバーの 1 つで困難な状況に陥っています。Oracle 12c データベースに接続する必要がある ASP.NET MVC 3 アプリケーションがあります。これは、次の接続文字列を使用して行われます。

また、Oracle の Oracle.ManagedDataAccess バージョン 4.121.1.0 も使用しています。接続を試行するたびに、次のエラーが発生します。

上記の資格情報を使用して、デスクトップに正常に接続できます。別のサーバーに同じコードがありますが、管理されていない古いバージョンのライブラリを使用しており、前述の資格情報で正常に接続できます。ただし、コードを実行したいサーバーは、異なるサーバーでの接続を成功させる同じ資格情報を使用して毎回失敗します。

失敗したサーバーでは、次のことができます。

  • SQLPLUS経由で接続
  • TNSPING でデータベースにアクセスする
  • システム DSN を作成して ODBC 接続を確立する

すべての場所で TNSNAMES.ORA を確認しましたが、正しいようです。

データベースに何度もアクセスした後、アカウントは実際にロックされ、実際にデータベースにアクセスしたこと、およびデータベースが提示された資格情報を気に入らなかったことが示されました。以前に正常に接続されたアプリケーションを確認したところ、アカウントがロックされていることを示すエラーで失敗しました。アカウントのロックを解除すると、問題が発生しているサーバーを除いて、これらのアプリケーションが正常に接続されました。

私は途方に暮れています。

この問題の原因について他に何か提案はありますか?

編集

ローカル コンピューターと問題のあるサーバーに WireShark をインストールしました。デスクトップとデータベース、および問題のサーバーとデータベースの間の通信をキャプチャしました。私のデスクトップがパスワードを伝えていることがわかりました:

一方、私が問題を抱えているサーバーはそうではありませんでした(または少なくともそれが仮定です):

パスワードが接続文字列に存在する場合でも、パスワードが送信されないようにするセキュリティ/構成設定を知っている人はいますか?

編集 (20180713):

私の特定のケースでは、問題は FIPS 設定でした。

研究を行っている人には、これを回避する方法がいくつかあります。

  1. HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled にあるレジストリ設定を変更できます。FIPS が有効な場合、値は 1 です。無効な場合、値は 0 です。再起動する必要はありません。

  2. ほとんどの場合、この問題が発生する理由は、FIPS が有効になっており、Oracle マネージド データ アクセス ライブラリを使用しているためです。確実な回避策は、管理されていないライブラリを使用することです。ただし、このライブラリを使用するには、Oracle Instant Client をインストールする必要があります。クライアントは、 Oracle Data Access Componentsでダウンロードできます。

  3. サーバーを Oracle 12.2c にアップグレードします。12.2c より前の Oracle 12c バージョンには、まだこの問題があります。

FIPS を有効にしていない場合は、データベースで SEC_CASE_SENSITIVE_LOGON 設定が true に設定されているかどうかを調査する必要があります。ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; を実行する必要があります。次に、すべてのパスワードをリセットします。

0 投票する
1 に答える
1584 参照

oracle - Oracle 12c CLOB データ型が期待どおりに機能しない

この手順を匿名ブロックで呼び出します (ここから XML データをダウンロード:リンク)

しかし、エラー PLS-00172: 文字列リテラルが長すぎます。

xml のサイズを 40 ~ 50 の要素に減らすと、いくつかの要素を削除するようになります。これはうまくいきます。

0 投票する
1 に答える
455 参照

dynamic-sql - DBMS_SQL.PARSE オーバーロードされた CLOB バージョンが機能しない

Oracleデータベース12cのドキュメントには、dbms_sql.parseにはCLOB DataTypeを受け入れるオーバーロードされたバージョンがあると記載されているためです。

しかし、dbms_sql.parse オーバーロードに clob を渡すと、PLS-00172: stringliteral too long というエラーが発生します。私はこれに行き詰まっています。私は何を間違っていますか?

これは私がやっていることのほんの一例です。

-- これは、エラー PLS-00172: 文字列リテラルが長すぎます。--これは、CLOB を受け入れるオーバーロードされたバージョンです。 stmt の長さは約 50000 文字で、重量は約 5 から 7 MB です。

0 投票する
2 に答える
14876 参照

oracle - Oracleで異なるテーブルの上位10行を取得する方法は?

共通の5つの列を持つ4つのテーブルがあります。これらのテーブルの最新の上位 10 行をフェッチして取得したいと考えています。
どうやってやるの?単純な結合コマンドを使用してみましたが、5 列ではなく 20 列になりました。各テーブルには独自の列名エイリアスがあります! しかし、私が望むのは、これらの上位 10 をすべて含む 5 列のテーブルを持つことです。

アップデート:

たとえば、次のコマンドを実行すると、コマンドは最新のレコードではなく、最初の 10 レコードを返します。

私は得る

私が実際に必要としていた場所

どうすればそのようなことを達成できますか?

0 投票する
1 に答える
21700 参照

database - Oracle Database12c ORA 01918 および接続エラー

Oracle 12c をインストールしましたが、最初のデータベースの作成と使用に問題があります。SQL Developerを実行し、「hr」ユーザーを使用していますが、アカウントがロックされていると表示され続けます。stackoverflowの回答と公式ドキュメントを検索し、次の方法でロックを解除しようとしました:

しかし、成功しませんでした。ユーザーが存在しないことを意味するエラーORA01918が発生しました。

次に、インストール時に作成されたユーザー (SYSDBA としての SYS) を使用しようとしましたが、ユーザー/パスワードが正しくないと表示されます。自分のシステム (Windows 8.1 x64) に Oracle 12c を正しくインストールしたと確信しています。

私は何をすべきか?私を助けてください。

私が理解していない他のことは、「データベース」という用語がMySQLの「スキーマ」と同等であるかどうかです。「接続」とは、特定のデータベースに接続することですよね?ありがとうございました。