糊言亂語

          志未半斤, 才無八兩. 有苦有樂, 糊涂過活。
          posts - 25, comments - 7, trackbacks - 0, articles - 42
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          日歷

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          搜索

          •  

          最新評論

          oracle筆記整理四[物理結構管理]

          Posted on 2007-08-08 16:30 Stanley Sun 閱讀(317) 評論(0)  編輯  收藏 所屬分類: Oracle Database

          來自:http://blog.csdn.net/iori_guojun

          1、參數文件
          --每個實例啟動時都要讀入一個初始化參數文件
          --#注釋
          --可以以任意順序指定參數
          --若想在一行輸入若干參數,要用空格分開,例如
          --PROCESSES=100 CPU_COUNT=1 OPEN_CURSORS=10
          --若想為某一參數設置多重值,多重值要包含在圓括號中,并用逗號隔開,例如
          --ROLLBACK_SEGMENTS=(SEG1,SEG2,SEG3,SEG4,SEG5)
          --參數文件中任何變化只有在實例重啟后生效
          --有些參數可以用ALTER SYSTEM、ALTER SESSION立即設置,稱為動態初始化參數
          --立即修改實例中所有會話的參數,并保持到實例關閉
          ALTER SYSTEM SET parameter_name=value DEFERRED;
          --修改整個實例的參數,但已保持的會話參數不變,直到重新連接為止
          ALTER SYSTEM SET parameter_name=value;
          --在當前會話內改變參數
          ALTER SESSION SET parameter_name=value;
          --顯示所有初始化參數的當前設置
          SHOW PARAMETERS;
          --顯示特定的初始化參數當前設置
          SHOW PARAMETERS parameter_name;

          2、數據文件
          1>、增加數據文件
          --Oracle數據庫必須至少有一個數據文件且至少應150M,這時只有SYSTEM一個表空間
          --增加數據文件受到的限制:
          --操作系統限定了每個進程打開的文件數
          --Oracle限定了實例打開的數據庫的最大打開的數據文件數
          --當發出CREATE DATABASE或CREATE CONTROLFILE時,MAXDATAFILES參數指定了控制
          --文件的數據文件的初始大小,以后增加的數據文件數若大于該參數但小于初始參數
          --文件中的DB_FILES參數設置,則系統會自動調整。DB_FILES設置過小,以后調整時
          --要先關閉數據庫,若設置太大,會造成內存消耗
          --初始參數文件中SGA上限設置
          ALTER TABLESPACE mytab ADD DATAFILE 'mydb1.dbf' SIZE 100M;
          2>、改變數據文件大小
          --方法一,啟用數據文件的自動擴展功能
          --通過查看DBA_DAT_FILES視圖的AUTOEXTENSIBLE列可知數據文件是否為自動擴展
          --方法二,手工改變數據文件大小
          ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' RESIZE 100M;
          3>、改變數據文件的可用性
          --歸檔模式下使數據文件脫機或聯機
          ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' ONLINE;
          ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' OFFLINE;
          --不歸檔模式下使數據文件脫機并立即刪除
          ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' OFFLINE DROP;
          --改變表空間所有數據文件和臨時文件可用性
          ALTER TABLESPACE tablespacename DATAFILE {ONLINE/OFFLINE};
          ALTER TABLESPACE tablespacename TEMPFILE {ONLINE/OFFLINE};
          4>、重命名和定位數據文件
          a.確定要操作的數據文件的名稱
          SELECT FILE_NAME,BYTES FROM DBA_DATA_FILES
          WHERE TABLESPACE_NAME='mytabname';
          b.將包含該數據文件的表空間脫機
          c.使用操作系統命令拷貝數據文件到新位置并重新命名
          d.在Oracle中重新命名該數據文件
          ALTER TABLESPACE mytabname RENAME DATAFILE
          '/u02/oracle/rbdb1/users01.dbf',
          '/u02/oracle/rbdb1/users02.dbf' TO
          '/u03/oracle/rbdb1/users01.dbf',
          '/u03/oracle/rbdb1/users02.dbf';
          e.使表空間聯機
          5>、校驗數據文件的數據塊
          --通常將設置DB_BLOCK_CHECKSUM設為FALSE
          6>、查看數據文件信息
          DBA_DATA_FILES
          DBA_EXTENTS
          USER_EXTENTES
          DBA_FREE_SPACE
          USER_FREE_SPACE
          V$DATAFILE
          V$DATAFILE_HEADER

          3、控制文件
          1>、創建控制文件拷貝/重命名/重定位控制文件
          a.關閉實例
          b.使用操作系統命令拷貝控制文件備份到新位置并重新命名
          c.修改初始化參數文件中的CONTROL_FILES,增加新控制文件或改變指向
          d.重啟數據庫
          2>、使用備份恢復被損壞的控制文件
          a.關閉實例
          b.使用操作系統命令拷貝控制文件備份覆蓋被損壞的控制文件
          c.重啟數據庫
          3>、刪除控制文件
          a.關閉實例
          b.修改初始化參數文件,刪除CONTROL_FILES中相應條目
          c.重啟數據庫
          4>、查看控制文件
          V$CONTROLFILE
          V$CONTROLFILE_RECORD_SECTION
          V$PARAMETER

          4、重做日志文件
          1>、增加重做日志文件組
          ALTER DATABASE ADD LOGFILE('/oracle/dbs/log1c.rdo',
          '/oracle/dbs/log2c.rdo') SIZE 500K;
          --也可指定組號,組號應在1和MAXLOGFILES設置之間
          ALTER DATABASE ADD LOGFILE GROUP 10('/oracle/dbs/log1c.rdo',
          '/oracle/dbs/log2c.rdo') SIZE 500K;
          2>、增加重做日志文件組成員
          ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2b.rdo' TO GROUP 2;
          --也可通過指定組中所有其他成員來識別
          ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2c.rdo'
          ('/oracle/dbs/log2a.rdo','/oracle/dbs/log2b.rdo');
          3>、重命名和重定位聯機重做日志文件成員
          a.關閉數據庫
          SQL>SHUTDOWN;
          b.用操作系統命令拷貝日志文件到新位置并重命名
          cp /diska/logs/log1a.rdo /diskc/logs/log1c.rdo
          cp /diska/logs/log2a.rdo /diskc/logs/log2c.rdo
          c.啟動并裝配數據庫,但不打開它
          CONNECT / as SYSDBA
          STARTUP MOUNT
          d.重命名聯機重做日志文件成員
          ALTER DATABASE RENAME FILE '/diska/logs/log1a.rdo',
          '/diska/logs/log2a.rdo'
          TO '/diska/logs/log1c.rdo',
          '/diska/logs/log2c.rdo';
          e.正常打開數據庫,此時轉換立即生效
          ALTER DATABASE OPEN;
          4>、刪除重做日志文件組
          --刪除日志文件組時要考慮以下限制
          --一個實例至少需要兩組聯機重做日志文件
          --刪除之前要使該日志文件組變為不活動,可以強制重做日志文件轉換
          --刪除之前,必須保證它是歸檔了的,可查看V$LOG
          ALTER DATABASE DROP LOGFILE GROUP 3;
          5>、刪除重做日志文件組成員
          ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo';
          6>、強制重做日志文件轉換
          ALTER SYSTEM SWITCH LOGFILE;
          7>、清空聯機重做日志文件內容
          ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;
          8>、查看聯機重做日志文件信息
          V$LOG
          V$LOGFILE
          V$LOG_HISTORY

          5、歸檔重做日志文件

          主站蜘蛛池模板: 古田县| 武邑县| 霸州市| 南溪县| 通海县| 垦利县| 苍梧县| 芷江| 信阳市| 德阳市| 图片| 宁波市| 康乐县| 五寨县| 饶河县| 五河县| 通许县| 溧阳市| 政和县| 阿鲁科尔沁旗| 安宁市| 美姑县| 兴安县| 洪湖市| 龙南县| 靖安县| 静宁县| 株洲县| 静海县| 罗田县| 遵义市| 海林市| 福州市| 东安县| 揭东县| 离岛区| 葫芦岛市| 平远县| 三原县| 奎屯市| 平谷区|