問題タブ [oracle10g]
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 - OracleForms10gからWindowsファイルフォルダにアクセスする
ユーザーのCドライブの特定のフォルダーにあるすべてのPDFファイルを表示するOracle10g形式のブロックが必要です。ユーザーは、少なくともファイルをダブルクリックして開くことができ、理想的にはファイルを削除して名前を変更できる必要があります。
ファイルのリストには、ファイル名(明らかに)とファイルのサイズと日付が表示されている必要があります。
フォームは、InternetExplorerを介してアクセスされるSolaris10サーバーで実行されます。
それがどのように、あるいは可能であるとしても、何か考えはありますか?
oracle - ORA-4031「xバイトの共有メモリーを割り当てられません」の解決
この問題を診断して修正する方法について、いくつかの指針が必要です。これが単純なサーバーのセットアップの問題なのか、アプリケーションの設計上の問題なのか (またはその両方) なのかはわかりません。
この Oracle XE データベースでは、数か月に 1 ~ 2 回、ORA-4031 エラーが報告されます。一貫して sga の特定の部分を指しているわけではありません。最近の例は次のとおりです。
ORA-04031: unable to allocate 8208 bytes of shared memory ("large pool","unknown object","sort subheap","sort key")
このエラーが発生したときに、ユーザーが更新を続けて別のリンクをクリックすると、通常、これらの種類のエラーが別のタイミングでさらに発生し、すぐに「404 not found」ページ エラーが発生します。
通常、データベースを再起動すると問題はしばらく解決し、1 か月ほど後に再び発生しますが、プログラムの同じ場所で発生することはめったにありません (つまり、コードの特定の部分にリンクされているようには見えません) (上記の例テーブルから 5000 行以上を並べ替えていた Apex ページからエラーが発生しました)。
sga_max_size
140M から 256M に増やしてみましたが、これが役立つことを願っています。もちろん、設定を変更するためにデータベースを再起動する必要があったため、これが役に立ったかどうかはわかりません:)
512MB の RAM を搭載した Oracle Enterprise Linux 5 ボックスで Oracle XE 10.2.0.1.0 を実行しています。サーバーは、データベース、Oracle Apex (v3.1.2)、および Apache Web サーバーのみを実行します。ほとんどすべてのデフォルト パラメータを使用してインストールしましたが、1 年ほどの間、問題なく動作しています。ほとんどの問題は、アプリケーション コードを調整することで解決できました。集中的に使用されることはなく、ビジネスに不可欠なシステムではありません。
これらは、関連する可能性があると思われる現在の設定の一部です。
参考になれば、現在の SGA サイズは次のとおりです。
sql - ストアドプロシージャ内で即時実行すると、不十分な特権エラーが発生し続けます
ストアドプロシージャの定義は次のとおりです。
呼び出しは次のとおりです。
何らかの理由で、EXECUTEIMMEDIATEコマンドに対して不十分な特権エラーが発生し続けます。オンラインで調べたところ、不十分な権限エラーは通常、Oracleユーザーアカウントに、渡されるクエリで使用されるコマンド(この場合はDROP)に対する権限がないことを意味します。ただし、ドロップ権限があります。私は本当に混乱していて、自分に合った解決策を見つけることができないようです。
よろしくお願いします。
解決:
スティーブが以下に述べるように、Oracleのセキュリティモデルは、プロシージャのどこかで使用する特権の種類を明示的に知る必要があるという点で奇妙です。これをOracleに通知する方法は、CREATEORREPLACEステートメントでAUTHIDキーワードを使用することです。プロシージャの作成者と同じレベルの特権が必要な場合は、AUTHIDDEFINERを使用します。Oracleで現在ストアドプロシージャを実行しているユーザーの権限を使用する場合は、AUTHIDCURRENT_USERを使用します。プロシージャ宣言は次のようになります。
返信ありがとうございます。これは、解決策を見つけるのに間違いなく非常に厄介な問題でした。
oracle - データベースへの接続が 1 つしかない場合、ORA-08177 が発生することはありますか?
バックエンドが本番環境で使用するのに十分な品質であるかどうかを確認できるように、オラクルのストーム バックエンドで単体テストを実行する任務を負っています。私が直面している問題の 1 つは、シリアル化可能モードで接続すると、ORA-08177 (このトランザクションのアクセスをシリアル化できません) が発生することです。コミット読み取りモードを使用すると、問題はなくなります。
この質問記事を読んだところ、これは基本的に同時実行の問題であることがわかりました。
データベースに接続しているスレッドが 1 つしかなく、世界中でこのデータベースに接続している人がいないと仮定すると、このエラーが発生する可能性はありますか? もしそうなら、誰かがこのエラーを生成するクエリの例を教えてくれませんか?
それとも、これはカーソルまたは接続がどこかで閉じられていないことを示している可能性がありますか? または、トランザクションがコミットまたはロールバックされていませんか?
sql - Oracle 10g PL/SQL-更新列の値として結果を選択
Oracle 10gのクエリからのレコード値を使用して、テーブル内の複数の列を簡単に/エレガントに更新する方法はありますか?
簡単にするために、2つの列とを含むテーブル(ソースと呼びます)があり ID
ますKEY
。
バッチ内のIDのキーマップである列を使用して、それを取得して使用する別のテーブル(と呼びますKeyMap
)があります。trunc(ID/100)
batchID
IDはバッチで作成および処理されるため、バッチ処理の最後に、ストアドプロシージャを呼び出して、これらのキーを提供する副選択またはコレクションを使用して、1つの更新ステートメントでKeyMap
テーブル内のレコードを新しい値で更新します。Key
値。
これは可能ですか?これを行うための最良/最も効率的な方法は何ですか?
parsing - 氏名フィールドの解析 Oracle
誰かがフルネームフィールドの解析を手伝ってくれるかどうか疑問に思っていました. ラストネーム、ファーストネーム、ミドルネームのイニシャル、サフィックスに分けたいと思います。
これは、名前の入力に続いて、それらをどのように解析したいかです。
入力できるすべてのサフィックス値のリストがあります。つまり、
姓と残りの名前を分割するところまで来ましたが、残りの方法がよくわかりません。私はオラクル10gを使用しています。
これは宿題の質問ではありません。これは私が仕事で取り組んでいる実際の問題です。
これが私が現在持っているものです:
oracle - CREATE OR REPLACE の使用方法
CREATE OR REPLACE は基本的に「オブジェクトが存在する場合は、それをドロップし、いずれかの方法で作成する」ことを意味することを理解するのは正しいですか?
もしそうなら、私は何を間違っていますか?これは機能します:
そして、これはそうではありません (ORA-00922: オプションが見つからないか無効です):
私は愚かなことをしていますか?この構文に関する多くのドキュメントを見つけることができないようです。
oracle - Oracleで現在開いているカーソルを見つける方法
Oracleインスタンスで現在開いているカーソルの数を見つけるためのクエリは何ですか?
また、このデータの精度/更新頻度はどれくらいですか?
Oracle10gR2を使用しています