改變歸檔檔案路徑

wzhalal發表於2013-06-29

上篇文章提到了 怎麼手動建庫,在實際中我們可能要執行資料庫到歸檔模式下,

但是手動建庫我們可能沒有設定歸檔路徑 他預設咋$oracle_home\rdbms\下

下面我們可能就要改他的路徑

windos 環境下操作方法

SQL> show parameter db_recove


NAME                                 TYPE        VALUE

------------------------------------ ----------- ----------------------

db_recovery_file_dest                string

db_recovery_file_dest_size           big integer 0

SQL> select name,SPACE_LIMIT,SPACE_USED from v$recovery_file_dest;


未選定行


SQL> alter system set log_archive_dest_1='location=d:\oracle\product\10.2.0\dimsarchive‘

 scope=spfile;


系統已更改。


SQL> archive log list

資料庫日誌模式             非存檔模式

自動存檔             禁用

存檔終點            D:\oracle\product\10.2.0\db_1\RDBMS

最早的聯機日誌序列     7

當前日誌序列           9

SQL> alter database archivelog

  2  ;

alter database archivelog

*

第 1 行出現錯誤:

ORA-01126: 資料庫必須已裝載到此例項並且不在任何例項中開啟



SQL> shutdown immediate

資料庫已經關閉。

已經解除安裝資料庫。

ORACLE 例程已經關閉。

SQL> startup mount

ORACLE 例程已經啟動。


Total System Global Area  209715200 bytes

Fixed Size                  1295848 bytes

Variable Size              67111448 bytes

Database Buffers          134217728 bytes

Redo Buffers                7090176 bytes

資料庫裝載完畢。

SQL> show parameter pga


NAME                                 TYPE        VALUE

------------------------------------ ----------- ----------------------

pga_aggregate_target                 big integer 40M

SQL> alter database archivelog

  2  ;


資料庫已更改。


SQL> alter database open

  2  ;


資料庫已更改。


SQL> archive log list;

資料庫日誌模式            存檔模式

自動存檔             啟用

存檔終點            d:\oracle\product\10.2.0\dimsarchive

最早的聯機日誌序列     7

下一個存檔日誌序列   9

當前日誌序列           9



下文是在linux 環境下

1.更改歸檔路徑


在ORACLE10G中,預設的歸檔路徑為$ORACLE_BASE/flash_recovery_area。對於這個路徑,
ORACLE有一個限制,就是預設只能有2G的空間給歸檔日誌使用,可以使用下面兩個SQL語句去檢視它的限制
1. select * from v$recovery_file_dest;

sql >show parameter db_recovery_file_dest(這個更友好直觀一些)
當歸檔日誌數量大於2G時,那麼就會由於沒有更多的空間去容納更多的歸檔日誌會報無法繼續歸檔的錯誤。
如:
RA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 10017792 bytes disk space from 2147483648 limit
ARC0: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2007_04_30/o1_mf_1_220_0_.arc'

這時我們可以修改它的預設限制,比如說將它增加到5G或更多,也可以將歸檔路徑重新置到別的路徑,就不會有這個限制了。
更改限制語句如下:

alter system set db_recovery_file_dest_size=5368709102  (這裡為5G 5x1024x1024x1024=5G)

或者直接修改歸檔的路徑即可

SQL> alter system set log_archive_dest_1='location=/u01/archivelog' scope =both;


2.更改歸檔模式

sql> archive log list;
sql> shutdown immediate;
sql> startup mount;
sql> alter database archivelog;
sql> alter database open;
sql> archive log list;

-----end----

oracle 10g rac下如何開啟歸檔模式?

 
答:在確定好每個例項的歸檔路徑後,關閉所有例項,然後把某個時候mount後,把資料庫和資料庫叢集軟體都設定為歸檔模式,例如
alter database archivelog;
alter system set cluster_database=true scope=spfile sid='*';
最後重啟資料庫,確認歸檔是否生效,在每個例項上,執行alter system switch logfile;看對應的歸檔位置時候有archivelog產生

oracle rac用的是裸裝置?


答:
首先你的共享儲存用的裸裝置,而你的資料庫軟體用的應該是檔案系統吧? archivelog是在media recovery的時候才會用到,而且所有的例項要都能訪問到,根據這個特點,可以把archivelog放在共享的裸裝置上或者放在本地(其他例項可以把archivelog同步到本地或者用NFS歸檔,在或者用tns歸檔),放在共享儲存裸裝置上,可能會產生爭用,管理也不方便

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

相關文章