忍者ブログ
DatabaseやLinuxなどの技術情報に関する備忘録を集めます。
2025 . 06
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • カレンダー
    05 2025/06 07
    S M T W T F S
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30
    フリーエリア
    最新コメント
    最新トラックバック
    プロフィール
    HN:
    Claude
    性別:
    非公開
    バーコード
    ブログ内検索
    アクセス解析
    ×

    [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

    以下のSQLたちは、大量データをインポートする際に
    高速化を狙ったDB構成情報を変更するためのものです。


      --表領域の拡張と増分変更
        set lines 200
        col tablespace_name format a10 trunc
        col file_name format a50 trunc
        select 
              file_id,
              tablespace_name,
              file_name, 
              bytes/1024/1024 || ' MB' as tablesize, 
              NEXT_EXTENT || 'KB' as NextExtent
        from 
              dba_data_files
        order by  file_id;

      -- エクステント数の確認
         SELECT
           SEGMENT_NAME, SEGMENT_TYPE, TABLESPACE_NAME, EXTENTS
         FROM DBA_SEGMENTS
         WHERE TABLESPACE_NAME = 'USERS'
         ORDER BY SEGMENT_NAME;

      -- データファイルのサイズ変更
        alter database datafile '/opt/oracle/oradata/test/users01.dbf' resize 11800M;

      -- データファイルの領域拡張サイズ変更
        alter database datafile '/opt/oracle/oradata/test/users01.dbf' autoextend on next 100M;
     
      -- REDOログの追加
      alter database add logfile group 4 '/opt/oracle/oradata/test/redo04.log' size 300M
      alter database add logfile group 5 '/opt/oracle/oradata/test/redo05.log' size 300M
      alter database add logfile group 6 '/opt/oracle/oradata/test/redo06.log' size 300M

      -- CURRENTログファイルの切り替え
      ALTER SYSTEM SWITCH LOGFILE;

      -- REDOログファイルの情報取得
      select * from v$log;

      -- ACTIVEなREDOログをNOT ACTIVEにするためにCHECKPOINTを行う。
      ALTER SYSTEM CHECKPOINT;


      -- REDOログファイルの削除
      alter database drop logfile group 1
      alter database drop logfile group 2
      alter database drop logfile group 3
     
    -- DB全体の統計情報取得(GATHER_STATS_JOBと同様の処理?)
    EXECUTE DBMS_STATS.GATHER_DATABASE_STATS();


    -- 統計情報取得JOBのスケジューリングON
    EXECUTE sys.dbms_scheduler.enable( '"SYS"."GATHER_STATS_JOB"' );

    -- 統計情報取得JOBのスケジューリングOFF
    EXECUTE sys.dbms_scheduler.disable( '"SYS"."GATHER_STATS_JOB"' );

     

    PR
    ■ この記事にコメントする
    お名前
    タイトル
    文字色
    URL
    コメント
    パスワード
    Vodafone絵文字 i-mode絵文字 Ezweb絵文字
    ■ コメント一覧
    ■ この記事のトラックバック
    この記事にトラックバックする:
    [Oracle] 渡したバインド変数を確認する。 HOME [その他]正規表現リファレンス
    Copyright © Excellentデータベース技術者(?)のブログ All Rights Reserved
    Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
    忍者ブログ / [PR]