添加日志文件组与日志文件成员
生活随笔
收集整理的這篇文章主要介紹了
添加日志文件组与日志文件成员
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
添加日志文件組與日志文件成員 首先確定當前登錄的賬戶的權限,是否包含創建日志文件組或者日志文件成員的alter database 系統權限。 SQL> select privilege from user_sys_privs 2 ?where privilege='ALTER DATABASE'; PRIVILEGE ---------------------------------------- ALTER DATABASE 在添加日志文件組或者日志文件成員的時候先查看下數據庫兼容參數。 SQL> show parameter compatible NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE ------------------------------------ ----------- ------------ compatible ? ? ? ? ? ? ? ? ? ? ? ? ? string ? ? ?11.2.0.0.0 compatible >=10.2.0 添加日志文件組或者日志文件成員,就不需要考慮是否會超過maxlogfiles、 maxlogmembers 的上限值限制了。 確定系統現有的日志文件組數與組中的日志文件成員數。 SQL> select group#,member from V$logfile; GROUP# MEMBER ---------- ---------------------------------------- 1 /opt/oracle11g/oradata/oracl/redo01.log 2 /opt/oracle11g/oradata/oracl/redo02.log 3 /opt/oracle11g/oradata/oracl/redo03.log 系統中共有3個日志文件組,每個組中各有一個日志文件成員。 往系統中添加一個日志文件組,組中日志文件成員數量是2. SQL> alter database add logfile group 4? 2 ?('/opt/oracle11g/oradata/oracl/redo401.log','/opt/oracle11g/oradata/oracl/redo402.log') 3 ?size 20M; Database altered. 注:在實際的系統中上面的語句是明顯不合理的,因為把兩個日志文件成員放置在相同磁盤中。為了日志文件組中日志文件的可用性,應該把不同的日志文件成員放置在不同的磁盤上面,以免出現日志切換到該組的時候因介質故障導致日志文件不能訪問,從而數據庫宕機。查看添加以后的日志信息。另外應該保持系統中所有的日志文件的大小相同,這里的20M和系統以后存在的日志文件的大小50M不相同。 SQL> select group#,member from V$logfile; GROUP# MEMBER ---------- ---------------------------------------- 1 /opt/oracle11g/oradata/oracl/redo01.log 2 /opt/oracle11g/oradata/oracl/redo02.log 3 /opt/oracle11g/oradata/oracl/redo03.log 4 /opt/oracle11g/oradata/oracl/redo401.log 4 /opt/oracle11g/oradata/oracl/redo402.log SQL> select group#,blocksize,archived,members,status 2 ?from V$log; GROUP# ?BLOCKSIZE ARC ? ?MEMBERS STATUS ---------- ---------- --- ---------- ---------------- 1 ? ? ? ?512 NO ? ? ? ? ? 1 INACTIVE 2 ? ? ? ?512 NO ? ? ? ? ? 1 INACTIVE 3 ? ? ? ?512 NO ? ? ? ? ? 1 CURRENT 4 ? ? ? ?512 YES ? ? ? ? ?2 UNUSED 新添加的日志文件組一般是unused狀態的,表示該日志文件組還沒有別寫入過。不過也可能是其他狀態,比如添加完該日志文件組不久就發生了日志卻換,則狀態應該是current。另外我們在創建日志文件的時候是沒有指定blocksize,所有會使用默認的磁盤扇區的大小,這里是512 bytes。磁盤扇區的大小 不是4KB,指定4KB,1kB為block的大小也是沒用的。 SQL> alter database add logfile group 5? 2 ?('/opt/oracle11g/oradata/oracl/redo501.log','/opt/oracle11g/oradata/oracl/redo502.log') 3 ?size 20M blocksize 4096; ? ? alter database add logfile group 5 * ERROR at line 1: ORA-01378: The logical block size (4096) of file /opt/oracle11g/oradata/oracl/redo501.log? is not compatible with the disk sector size (media sector size is 512 and host sector size is 512) 錯誤信息已經說明了一切。如果磁盤的扇區是4KB,則可以選擇4KB,1KB,512bytes 中的一個值為日志文件的block大小(database version 11.2.0 以后)。 添加日志組日志文件成員: 添加日志組日志文件成員適用于日志組已經存在,但是其中的一個或者多個日志文件成員因為某些原因被刪除了。下面往group 2中添加一個日志文件成員。 SQL> alter database add logfile member 2 ?'/opt/oracle11g/oradata/oracl/redo.log' 3 ?to group 2; Database altered. 添加日志文件不需要指定大小。oracle 會自動根據該組已經存在的日志文件成員的大小設置新添加的日志文件成員大小。 注:最最重要的是為什么要添加日志文件組,為什么要添加日志文件成員?
總結
以上是生活随笔為你收集整理的添加日志文件组与日志文件成员的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Chapter 1:Introducti
- 下一篇: css文字和背景色渐变色