如果建立 online redolog, datafile, 如果指定名稱, 不指定存放路徑, 則預設存放oracle_home
利用 omf
修改 datafile 預設存放路徑
show parameter db_create_file
mkdir /u1/oracle/datafile; <- 目錄必須存在, 權限正确
alter system set db_create_file_dest='/u1/oracle/datafile';
建立表空間測試
create tablespace ts3 datafile size 100m extent management local segment space management auto;
select name from v$datafile;
/u1/oracle/datafile/btdb/datafile/o1_mf_ts3_7f8o7dln_.dbf
當執行 drop tablespace ts3; <- 自動删除資料檔案
==================================
預設狀态下 archive log 存放路徑
db_recovery_file_dest -> 預設狀态下 archive log 存放路徑
-> /u1/oracle/flash_recovery_area
預設存檔格式
log_archive_format -> %t_%s_%r.dbf
啟用 archive log
shutdown immediate;
startup mount;
alter system archivelog;
startup open;
修改預設 archive_log 路徑
a. 如果隻需要設定單獨路徑可以設定 log_archive_dest
b. 如果需要多路徑, 可以設定 log_archive_dest_n
當設定 log_archive_dest_n 後設定 log_archive_dest 則報錯
ora-16018: cannot use log_archive_dest with log_archive_dest_n or db_recovery_file_dest
1. alter system set log_archive_dest_1='location=/u1/oracle/archive';
2. alter system switch logfile;
[oracle@server archive]$ ls -lh /u1/oracle/archive/
total 836k
-rw-r----- 1 oracle oinstall 741k nov 29 10:45 1_14_762540711.dbf
-rw-r----- 1 oracle oinstall 84k nov 29 10:48 1_15_762540711.dbf
spfile 參數 db_recovery_file_dest 仍然 /u1/oracle/flash_recovery_area
但已經改變了 archive log 存檔路徑
注: alter_system_set_log_archive_dest_n 具有兩種設定路徑
a. location -> 本地存儲
b. service -> 主從複制使用 example: 'service = standbyserver'
總結
預設狀态優先順序為
log_archive_dest_n
log_archive_dest
db_recovery_file_dest
預設日志位置
sys@btdb> select member from v$logfile;
member
----------------------------------------------
/u1/oracle/oradata/btdb/redo03.log
/u1/oracle/oradata/btdb/redo02.log
/u1/oracle/oradata/btdb/redo01.log
修改線上日志
alter system set db_create_online_log_dest_1='/u1/oracle/online';
alter database add logfile size 100m;
select member from v$logfile;
/u1/oracle/online/btdb/onlinelog/o1_mf_4_7f8nsn9w_.log