online redo file讀書筆記

foxmile發表於2008-01-17
C:\Documents and Settings\zero>sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.1.0 - Production on 星期六 1月 5 13:55:53 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


連線到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

SQL> alter database add logfile member 'd:\oracle\oradata\zero\redo0022.log' to group 2;

資料庫已更改。

SQL> alter database drop logfile redo0022.log
  2  ;
alter database drop logfile redo0022.log
                            *
ERROR 位於第 1 行:
ORA-02236: 無效的檔名


SQL> alter database drop logfile 'd:\oracle\oradata\zero\redo0022.log';
alter database drop logfile 'd:\oracle\oradata\zero\redo0022.log'
*
ERROR 位於第 1 行:
ORA-01514: 日誌說明中出現錯誤: 沒有此類日誌
ORA-01517: 日誌成員: 'd:\oracle\oradata\zero\redo0022.log'


SQL> alter database drop logfile member 'd:\oracle\oradata\zero\redo0022.log';
alter database drop logfile member 'd:\oracle\oradata\zero\redo0022.log'
*
ERROR 位於第 1 行:
ORA-00362: 組成組 2 中的有效日誌檔案要求輸入成員
ORA-01517: 日誌成員: 'd:\oracle\oradata\zero\redo0022.log'


SQL> alter system switch log file;
alter system switch log file
                    *
ERROR 位於第 1 行:
ORA-01900: 需要 LOGFILE 關鍵字


SQL> alter system switch logfile;

系統已更改。

SQL> alter system switch log file;
alter system switch log file
                    *
ERROR 位於第 1 行:
ORA-01900: 需要 LOGFILE 關鍵字


SQL> alter database drop logfile member 'd:\oracle\oradata\zero\redo0022.log';
alter database drop logfile member 'd:\oracle\oradata\zero\redo0022.log'
*
ERROR 位於第 1 行:
ORA-01609: 日誌2是執行緒1的當前日誌 - 無法刪除成員
ORA-00312: 聯機日誌 2 執行緒 1: 'D:\ORACLE\ORADATA\ZERO\REDO02.LOG'
ORA-00312: 聯機日誌 2 執行緒 1: 'D:\ORACLE\ORADATA\ZERO\REDO0022.LOG'


SQL> alter system switch logfile;

系統已更改。

SQL> alter database drop logfile member 'd:\oracle\oradata\zero\redo0022.log';

資料庫已更改。

SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup mount;
ORACLE 例程已經啟動。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
資料庫裝載完畢。
SQL> alter database rename file 'd:\oracle\oradata\zero\redo001.log' to
  2  'd:\oracle\oradata\zero\redo0011.log';
alter database rename file 'd:\oracle\oradata\zero\redo001.log' to
*
ERROR 位於第 1 行:
ORA-01511: 重新命名日誌/資料檔案時出錯
ORA-01516: 不存在的日誌檔案, 資料檔案或臨時檔案
'd:\oracle\oradata\zero\redo001.log'


SQL> alter database open;

資料庫已更改。

SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> alter database rename file 'd:\oracle\oradata\zero\redo001.log' to
  2  'd:\oracle\oradata\zero\redo0011.log';
alter database rename file 'd:\oracle\oradata\zero\redo001.log' to
*
ERROR 位於第 1 行:
ORA-01034: ORACLE not available


SQL> startup mount;
ORACLE 例程已經啟動。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
資料庫裝載完畢。
SQL> alter database rename file 'd:\oracle\oradata\zero\redo001.log' to
  2  'd:\oracle\oradata\zero\redo0011.log';
alter database rename file 'd:\oracle\oradata\zero\redo001.log' to
*
ERROR 位於第 1 行:
ORA-01511: 重新命名日誌/資料檔案時出錯
ORA-01516: 不存在的日誌檔案, 資料檔案或臨時檔案
'd:\oracle\oradata\zero\redo001.log'


SQL> shutdown immediate;
ORA-01109: 資料庫未開啟


已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup mount;
ORACLE 例程已經啟動。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
資料庫裝載完畢。
SQL> host move D:\oracle\oradata\zero\redo01.log D:\oracle\oradata\zero\redo011.log

SQL> host move D:\oracle\oradata\zero\redo011.log D:\oracle\oradata\zero\REDO011.log

SQL> host move D:\oracle\oradata\zero\redo011.log D:\oracle\oradata\zero\REDO011.LOG

SQL> alter database rename file 'D:\oracle\oradata\zero\redo01.log' to
  2  'D:\oracle\oradata\zero\REDO011.LOG';

資料庫已更改。

SQL> alter database open;

資料庫已更改。

SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL>  host move D:\oracle\oradata\zero\REDO011.LOG D:\oracle\oradata\zero\REDO01.LOG

SQL> startup mount;
ORACLE 例程已經啟動。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
資料庫裝載完畢。
SQL> alter database rename file 'D:\oracle\oradata\zero\redo011.log' to
  2  'D:\oracle\oradata\zero\REDO01.LOG';

資料庫已更改。

SQL> alter database open;

資料庫已更改。

SQL>

SQL> alter database drop logfile group 4;

資料庫已更改。

SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('D:\ORACLE\ORADATA\ZERO\LOGZERO4.ORA') SIZE 102401K
  2  ;
ALTER DATABASE ADD LOGFILE GROUP 4 ('D:\ORACLE\ORADATA\ZERO\LOGZERO4.ORA') SIZE 102401K
*
ERROR 位於第 1 行:
ORA-00301: 新增日誌檔案 'D:\ORACLE\ORADATA\ZERO\LOGZERO4.ORA' 時出錯 -
無法建立檔案
ORA-27038: skgfrcre: 檔案存在
OSD-04010: 指定了 選項, 但檔案已經存在


SQL> ALTER DATABASE ADD LOGFILE GROUP 4
  2  ('D:\ORACLE\ORADATA\ZERO\LOGZERO4.ORA') SIZE 102401K;

資料庫已更改。

SQL>
SQL>
SQL> alter system switch logfile;

系統已更改。

SQL> select *from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- --------------------
MEMBER
--------------------------------------------------------------------------------
         3         ONLINE
D:\ORACLE\ORADATA\ZERO\REDO03.LOG

         2         ONLINE
D:\ORACLE\ORADATA\ZERO\REDO02.LOG

         1         ONLINE
D:\ORACLE\ORADATA\ZERO\REDO01.LOG


    GROUP# STATUS  TYPE
---------- ------- --------------------
MEMBER
--------------------------------------------------------------------------------
         4         ONLINE
D:\ORACLE\ORADATA\ZERO\LOGZERO4.ORA


SQL> select group#,status from v$logfile;

    GROUP# STATUS
---------- -------
         3
         2
         1
         4

SQL> desc v$log
 名稱                                      是否為空? 型別
 ----------------------------------------- -------- ----------------------------
 GROUP#                                             NUMBER
 THREAD#                                            NUMBER
 SEQUENCE#                                          NUMBER
 BYTES                                              NUMBER
 MEMBERS                                            NUMBER
 ARCHIVED                                           VARCHAR2(3)
 STATUS                                             VARCHAR2(16)
 FIRST_CHANGE#                                      NUMBER
 FIRST_TIME                                         DATE

SQL> select group#,sequence#,members,status from v$log;

    GROUP#  SEQUENCE#    MEMBERS STATUS
---------- ---------- ---------- ----------------
         1        146          1 INACTIVE
         2        147          1 ACTIVE
         3        144          1 INACTIVE
         4        148          1 CURRENT


在Oracle中,從9i開始引入了spfile,也就是服務 器端初始化引數,有很多是可以支援線上修改的,也就是修改會馬上生效,詳細內容看下面的說明:

The ISSYS_MODIFIABLE column in V$PARAMETER tells us whether the parameters are static or dynamic. Static parameters require the instance to be restarted while dynamic parameters can take effect immediately upon being changed.

SQL> select distinct issys_modifiable from v$parameter;
 
ISSYS_MODIFIABLE
---------------------------
DEFERRED
FALSE
IMMEDIATE

If the ISSYS_MODIFIABLE value is set to FALSE for a parameter, it means that the parameter cannot change its value in the lifetime of the instance; the database needs to be restarted for changes to take effect. A parameter set to IMMEDATE value means that it is dynamic and can be set to change the present active instance as well as future database restarts. A parameter set to DEFERRED is also dynamic, but changes only affect subsequent sessions, currently active sessions will not be affected and retain the old parameter value.

   1. 可以使用“alter session set sort_area_size=3000000”使得新值只對當前連線生效
   2. 可以使用“alter sysetm set sort_area_size=3000000 deferred”使得新值對隨後登入的賬號生效,而對當前連線不生效
   3. 可以使用“alter system set sort_area_size=3000000 scope=spfile”使得新值在資料庫重新啟動後生效
   4. 這裡的數值不能包含K、M、G作單位,多數錯誤基本都是在數值中包含了這些單位引起的

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/79499/viewspace-149746/,如需轉載,請註明出處,否則將追究法律責任。

相關文章