Oracle管理文件(二)
?
??? 來接著學習一下Oracle管理文件相對應的操作方式。舉了一個詳細的使用Oracle管理文件方式來創建數據庫的例子,基本上使用了Oracle管理文件,就不用再在后面跟上一長串的文件地址了,對創建來說還是比較方便的,而且刪除時無需再跟上datafile子句。
?
?
一、取消Oracle管理文件
?
??? 1、取消數據文件和臨時文件
?
??? DROP TABLESPACE tablespce_name;
??? ALTER DATABASE TEMPFILE tempfile_name DROP;
?
??? 2、取消聯機重做日志文件
?
??? ALTER DATABASE DROP LOGFILE logfile_name;
??? ALTER DATABASE DROP LOGFILE MEMBER logfile_name;
?
??? 3、重命名文件
?
??? ALTER DATABASE RENAME FILE file_name1 to file_name2;
??? ALTER TABLESPACE tablespace_name RENAME DATAFILE datafile_name1 to datafile_name2;
?
?
二、Oracle管理文件案例
?
??? 以數據庫最開始創建為例,需要創建所有均為Oracle管理文件
?
??? 1、設置初始化參數:
?
??? DB_CREATE_FILE_DEST = '/u01/oradata/sample'
??? DB_CREATE_ONLINE_LOG_DEST_1 = '/u02/oradata/sample'
??? DB_CREATE_ONLINE_LOG_DEST_2 = '/u03/oradata/sample'
??? UNDO_MANAGEMENT = AUTO
?
??? 2、創建數據庫
?
??? CREATE DATABASE sample
??? DEFAULT TEMPORARY TABLESPACE dflt_tmp;
?
??? 注:
????? ① 沒有DATAFILE子句,則在'/u01/...'中創建SYSTEM表空間數據文件,文件名按約定規則,起始大小100M,自動擴展無上限;
????? ② 沒有LOGFILE子句,創建兩個聯機重做日志組,每個日志組兩個成員,分別位于'/u02/...'和'/u03/...',大小100M;
????? ③ 沒有CONTROL_FILES參數,則在'/u02/...'和'/u03/...'中創建兩個控制文件,'/u02/...'中為主控制文件;
????? ④ 沒有設定UNDO TABLESPACE,則在'/u01/...'創建SYS_UNDOTBS表空間,大小10M,自動擴展無上限;
????? ⑤ 指定了TEMPORARY TABLESPACE,則在'/u01/...'創建dflt_tmp臨時表空間,大小100M,自動擴展無上限;
????? ⑥ 所有文件均為Oracle管理文件
?
??? 3、查詢當前文件:
?
????? ① TABLESPACE文件:V$DATAFILE
????? ② LOGFILE文件:V$LOGFILE
????? ③ CONTROLFILE文件:V$CONTROLFILE
?
??? 4、管理控制文件
?
??? Oracle在創建數據庫時會將CONTROL_FILES初始化參數添加到參數文件中。
??? 如果需要,Oracle可以新建、重建控制文件
?
??? CREATE CONTROLFILE REUSE
??? DATABASE sample
??? LOGFILE GROUP 1 ('/u02/oradata/sample/ora_1_o220rtt9.log',
???????????????????? '/u03/oradata/sample/ora_1_vhs82jdm.log',),
??????????? GROUP 2 ('/u02/oradata/sample/ora_2_82jd6nd9.log',
???????????????????? '/u03/oradata/sample/ora_2_nmisk9wj.log',)
??? NORESETLOGS
??? DATAFILE '/u01/oradata/sample/ora_system_xu34ymd7.dbf'
??? MAXLOGFILES 5
??? MAXLOGHISTORY 100
??? MAXDATAFILES 10
??? MAXINSTANCES 2
??? ARCHIVELOG;
?
??? 5、管理聯機重做日志
?
??? ALTER DATABASE ADD LOGFILE
??? ALTER DATABASE DROP LOGFILE GROUP 3;
?
??? 6、管理表空間
?
??? CREATE TABLESPACE tablespace_name;
??? DROP TABLESPACE tablespace_name;
??? ALTER TABLESPACE tablespace_name ADD DATAFILE;
?
??? 7、歸檔重做信息
?
??? 歸檔日志的文件位置可以通過LOG_ARCHIVE_DEST_n來指定,文件名通過LOG_ARCHIVE_FORMAT參數指定
?
??? 歸檔日志文件不是Oracle管理文件
?
??? 8、備份、還原、恢復
?
??? 所有Oracle管理文件的備份、恢復與非管理文件相同
?
?
?
?