タグ

ブックマーク / www.shift-the-oracle.com (5)

  • Oracle 性能限界 - オラクル・Oracleをマスターするための基本と仕組み

    通常の表領域では(⇔ BIGFILE 表領域) 約 4M(1024*1024)*1 × ブロックサイズ ブロックサイズ 4K ... 約 16GB ブロックサイズ 8K ... 約 32GB ブロックサイズ 16K .. 約 64GB ブロックサイズ 32K .. 約 128GB (一部のUNIXのみ) (注意事項) OSの各種コマンドが 2GBの壁が残っているかを再確認(dd / tar / etc )しておく。( Linux ) 蛇足: ファイルシステムレベルの制限をWebで調べてみたところ以下のような内容だった。(自信を持って自信なし) Windows NTFS:2TB/ファイル (12EB/パーティション) FAT32:4GB/ファイル (32GB/パーティション:Win2000/XP) (2TB/サーバー系?) Linux kernel2.4系以上 1TB (EXT2/EXT3仕

  • シノニム - オラクル・Oracleをマスターするための基本と仕組み

    シノニム シノニムとは、ある スキーマオブジェクト、非スキーマオブジェクト へのエイリアス(別名)である。 主にセキュリティや別スキーマ(リモート含む)オブジェクトに対して透過的にアクセスするために使用される。 プライベート・シノニム プライベート・シノニムとは、ある特定ユーザーだけに所有された別名である。 シノニムを使用する基的かつ有効で代表的な利用方法のひとつに、表のオーナ(管理者)とユーザー(閲覧者)を切り分ける、または、複数ユーザーでスキーマを共有するという使用方法がある。 切り分ける場合の例として、表の管理者(ADMIN)、閲覧者=プログラム(WORKER) と二つのユーザー(スキーマ)を用意し、表の所有者は ADMIN とする。 所有者を ADMIN とすることで WORKER には特別な権限を付与しないかぎり ADMIN の表にはアクセスできない。 ここでのポイントは WO

  • TOP n レコードの取得 - オラクル・Oracleをマスターするための基本と仕組み

    トップN分析、上位 n レコード、 n〜m レコードの取得 SELECT 文 にて条件を伴う上位の n レコードを取得したい場合には ROWNUM によるインラインビューを使用してネストした問い合わせをインライン化するか ROW_NUMBER 分析関数 を使用する。 FETCH FIRST / FETCH NEXT による TOP n 件抽出 SELECT NO FROM ROWNUM_TEST ORDER BY NO -- OFFSET 0 ROW / OFFSET 0 ROWS FETCH FIRST 5 ROWS ONLY ; "FETCH FIRST ROW" と行数を省略した場合には最初の 1 行が抽出される。 ※ FETCH FIRST n ROWs の n に 0以下が設定された場合には 1件も抽出されない。 ROW_NUMBER 分析関数による TOP n 件抽出 ROW_

  • ORA-02049 - オラクル・Oracle エラー FAQ

    運用時に発生するエラー ORA-02049: タイムアウト: 分散トランザクションがロックを待機しています。 分散トランザクションのタイムアウトが発生している データベースリンクを直接使用しているトランザクションやシノニムなどを用いて間接的に行なっている 分散トランザクションにはロックのタイムアウトの設定が存在する。 初期化パラメータの distributed_lock_timeout (単位:秒/設定後、要再起動) に指定された時間内に 要求した(ロックされている)リソースを取得できない場合に、ORA-02049: 〜エラーとなる。 デフォルトのタイムアウト時間は 60 秒なので初期化パラメータを変更して待機時間を延長するか、 例外処理を施してリラン(RE-RUN) させるようにする。 もしくは、ロックの設計自体に大きな問題がある可能性も考えられる。ロックの設計の見直しやバッチ処理の ス

  • 検索結果を辞書順に取り出す - オラクル・Oracleをマスターするための基本と仕組み

    検索結果を辞書順に取り出す、五十音順に取り出す デフォルトのソートはバイナリ順に並び替えられる。これは他のソートに比べて高速に処理することが可能である。 しかし、大文字小文字や全角半角、濁点、半濁点を扱うときに問題が発生する。 各言語サポートソート (NLSSORT) 関数を使用することで、これらの問題を解決することが可能である。しかしコード変換に関する変換コストは発生する。 NLSSORT 関数と NLS_SORT パラメータ 関数名には NLSSORT とアンダースコア(アンダーバー)が入っていないが、パラメータの場合には NLS_SORT を設定するのでスペルミスに気をつける。 NLS_SORT=GENERIC_BASELETTER マルチバイト・キャラクタセット においては、正しく働いていないようにみえる。よくわかりません NLS_SORT=JAPANESE_M NLS_SORT=

  • 1