問題タブ [oracle-text]
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.
oracle - Oracle 11.2 の emagent.trc の DRG-11119 エラーを解決します。
Oracle 11.2.0.3 データベースには、タイプ CTXCAT の Oracle Text 索引がいくつかあります。Oracle Enterprise Manager のプロセスが 8 分ごとに実行され、トレース ファイル $ORACLE_HOME/node_SID/sysman/log/emagent.trc の次のように、何年も存在していなかったインデックスに関するエラーがダンプされます。
私は乱暴に突き刺し、タイプ CONTEXT のその名前で新しいインデックスを作成し (CTXCAT は機能しませんでした)、エラーはしばらく停止しました。そのインデックスを削除すると、次のエラーが発生し始めました。これは、タイプ CTXCAT としてインデックスを作成しようとしたときに表示されたのと同じエラーでした。
調査を行ったところ、CTXCAT タイプのインデックスで ctx_report.index_stats( ctxcat_indexname ) を呼び出すと、行番号までまったく同じエラーが発生することがわかりました。
Google で textIndexStats を検索してもあまりヒットしなかったため、さらに調査が続きました。私は最終的に次の出力リストでそれを見つけました:
しかし、 には何もないselect * from dba_scheduler_jobs matched textIndexStats
ので、次にどこを見ればよいかわからなかったので、再発を防ぐ方法を知りたい.
sql - クエリの最適化と連結
このクエリを頻繁に実行しており、最適化したいと考えています。
インデックスを作成しましたが、インデックスがない場合と同じくらい時間がかかりました
他にオプションはありますか?
sql - 同期でOracle Text索引を作成できません(すべて...)
テーブルの CLOB 列に Oracle テキスト インデックスを作成しようとしていますが、同期パラメーターを 'SYNC (EVERY "(sysdate+30/24/60/60)")' として指定しようとすると、失敗します。権限が不十分であるというエラー。
テーブルは次のように定義されます。
したがって、次のように message_data 列にテキスト インデックスを作成しようとすると:
したがって、基本的には、30 秒ごとに同期するインデックスを作成したいと考えています。これは、常に多くの新しいメッセージが追加される (1 秒あたり数百から数千のメッセージになる可能性がある) テーブルであるためです。
create index を実行すると、次のように出力されます。
私が知る限り、ユーザーは必要なすべての権限を持っています。「sync」パラメーターを削除するか、「SYNC (ON COMMIT)」に変更すると、インデックスが適切に作成されます。
sync パラメータを「every」に設定できないのはなぜですか? 私は何を間違っていますか?
私が使用しているOracleのバージョンは次のとおりです。
sql - Oracle テキスト: catsearch は関数呼び出しをサポートしていません
これが私のセットアップです:
私の(簡略化された)クエリ:
エラー:
コマンドの 1 行目から始まるエラー: select /*+ INDEX(customer CTXCAT_CUSTOMER_NAME) / from customer where CATSEARCH(customer_name,'ltd Anderson',null) > 0 or customer_id > 100 エラー レポート: SQL エラー: ORA-20000: Oracle Textエラー: DRG-10849: catsearch は機能呼び出し 20000 をサポートしていません。 00000 - "%s" *原因: ストアド プロシージャ 'raise_application_error' が呼び出されたため、このエラーが生成されました。*処置: エラー・メッセージの説明に従って問題を修正するか、アプリケーション管理者またはDBAに詳細を問い合わせてください。
ヒントの提案はここから来ました: https://forums.oracle.com/message/2847094明らかに私にはうまくいきません。
解決方法はありますか?
sql - 特定の列に対するOracle Text検索
contains
複数のフィールドでOracle Text検索を使用する方法は?
emp_name
とのみを検索したいsupervisor
ので、次のクエリを使用しました
ただし、結果は取得されませんでした。
テーブルまたはマテリアライズド ビューの特定の列を使用して、ブール演算子の有無にかかわらず検索する方法。
oracle - 短い文字列を含む、Oracle テキスト検索との最も近い一致
特定の文字列のデータベース列で最も一致する文字列を見つけたいです。検索した後、次のテーブルとクエリを思いつきました
類似度スコアを最小値、つまり 1 に設定しました。「Parsi」や「Parse」などの検索文字列で機能します。必要な結果が得られます。しかし、検索文字列が「par」や「pa」のように小さすぎると、結果が表示されません。
非常に短い文字列を使用して検索する場合でも、最も近い一致を取得するにはどうすればよいですか?