一、ALTER DATABASE命令
?
?
??? 1、切換歸檔類型(ARCHIVELOG/NOARCHIVELOG)
?
??? 使用歸檔模式可以執(zhí)行數(shù)據(jù)庫(kù)的:聯(lián)機(jī)備份、大部分?jǐn)?shù)據(jù)庫(kù)文件和表空間的聯(lián)機(jī)恢復(fù)以及數(shù)據(jù)庫(kù)基于時(shí)間點(diǎn)的恢復(fù)。
??? 切換歸檔類型必須要先把數(shù)據(jù)庫(kù)設(shè)置為mount狀態(tài):
?
??? SHUTDOWN IMMEDIATE;
??? STARTUP MOUNT;
??? ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;
??? ALTER DATABASE OPEN;
?
??? 關(guān)于ARCHIVE的參數(shù)主要有這些:
?
SQL> show parameter log_archive
?
NAME???????????????????????????????? TYPE??????? VALUE????????DESC
------------------------------------ ----------- ------------ --------------------------
log_archive_dest???????????????????? string???????????????????歸檔日志的目標(biāo)目錄(10個(gè))
log_archive_dest_1?????????????????? string???????????????????歸檔日志的目標(biāo)目錄(10個(gè))
log_archive_dest_state_1???????????? string????? enable???????歸檔日志的目標(biāo)的狀態(tài)
log_archive_dest_state_2???????????? string????? enable???????歸檔日志的目標(biāo)的狀態(tài)
log_archive_duplex_dest????????????? string?????????????????? 歸檔日志的目標(biāo)第二個(gè)目錄
log_archive_format?????????????????? string????? ARC%S.%T?????歸檔日志文件名格式
log_archive_max_processes??????????? integer???? 2????????????系統(tǒng)可以啟動(dòng)ARCHIVE進(jìn)程的最大數(shù)量
log_archive_min_succeed_dest???????? integer???? 1??????????? 復(fù)制成功的日志文件目標(biāo)目錄最小數(shù)
log_archive_start??????????????????? boolean???? FALSE??????? 用于啟動(dòng)數(shù)據(jù)庫(kù)ARCHIVE進(jìn)程
log_archive_trace??????????????????? integer???? 0??????????? 設(shè)定歸檔日志的trace級(jí)別
------------------------------------ ----------- ------------ --------------------------
log_archive_dest???????????????????? string???????????????????歸檔日志的目標(biāo)目錄(10個(gè))
log_archive_dest_1?????????????????? string???????????????????歸檔日志的目標(biāo)目錄(10個(gè))
log_archive_dest_state_1???????????? string????? enable???????歸檔日志的目標(biāo)的狀態(tài)
log_archive_dest_state_2???????????? string????? enable???????歸檔日志的目標(biāo)的狀態(tài)
log_archive_duplex_dest????????????? string?????????????????? 歸檔日志的目標(biāo)第二個(gè)目錄
log_archive_format?????????????????? string????? ARC%S.%T?????歸檔日志文件名格式
log_archive_max_processes??????????? integer???? 2????????????系統(tǒng)可以啟動(dòng)ARCHIVE進(jìn)程的最大數(shù)量
log_archive_min_succeed_dest???????? integer???? 1??????????? 復(fù)制成功的日志文件目標(biāo)目錄最小數(shù)
log_archive_start??????????????????? boolean???? FALSE??????? 用于啟動(dòng)數(shù)據(jù)庫(kù)ARCHIVE進(jìn)程
log_archive_trace??????????????????? integer???? 0??????????? 設(shè)定歸檔日志的trace級(jí)別
?
??? 可使用ALTER SYSTEM SET ... 來修改參數(shù)
?
?
??? 2、改變數(shù)據(jù)庫(kù)狀態(tài)
?
??? SQL>
startup nomount;
??? ORACLE instance started.
??? ORACLE instance started.
?
??? Total System Global Area? 135338868 bytes
??? Fixed Size?????????????????? 453492 bytes
??? Variable Size???????????? 109051904 bytes
??? Database Buffers?????????? 25165824 bytes
??? Redo Buffers???????????????? 667648 bytes
??? Fixed Size?????????????????? 453492 bytes
??? Variable Size???????????? 109051904 bytes
??? Database Buffers?????????? 25165824 bytes
??? Redo Buffers???????????????? 667648 bytes
?
??? SQL>
alter database mount;
?
??? Database altered.
?
??? SQL>
alter database open;
?
??? Database altered.
?
?
??? 3、維護(hù)日志文件
?
??? * 添加日志組
?
??? ALTER DATABASE ADD LOGFILE GROUP 5
???? ('D:\ORACLE\ORADATA\KAKA\REDO01.LOG',
????? 'D:\ORACLE\ORADATA\KAKA\REDO02.LOG',
????? 'D:\ORACLE\ORADATA\KAKA\REDO03.LOG') SIZE 100M;
?
??? * 添加日志組成員
?
??? ALTER DATABASE ADD LOGFILE MEMBER
???? 'D:\ORACLE\ORADATA\KAKA\REDO01.LOG' TO GROUP 5;
?
??? * 刪除日志組
?
??? ALTER DATABASE DROP LOGFILE GROUP 1;
?
??? * 刪除日志組成員
?
??? ALTER DATABASE DROP LOGFILE
???? MEMBER 'D:\ORACLE\ORADATA\KAKA\REDO01.LOG' ;
?
??? 注:不能刪除最后一個(gè)成員,最后一個(gè)需要?jiǎng)h除整個(gè)組來操作
?
?
??? 4、維護(hù)數(shù)據(jù)文件
?
??? SQL> select file_id,tablespace_name,bytes from dba_data_files;
?
?????? FILE_ID TABLESPACE_NAME???????????????????? BYTES
?????? ------- ------------------------------ ----------
?????? ????? 4 USERS
?????? ????? 3 SYSAUX???????????????????????? 1073741824
?????? ????? 2 UNDOTBS1??????????????????????11644436480
???????????? 1 SYSTEM???????????????????????? 1073741824
?????? ????? 5 MISORA_TBS????????????????????? 104857600
?????? ????? 6 MISBI_TBS?????????????????????10737418240
?????? ------- ------------------------------ ----------
?????? ????? 4 USERS
?????? ????? 3 SYSAUX???????????????????????? 1073741824
?????? ????? 2 UNDOTBS1??????????????????????11644436480
???????????? 1 SYSTEM???????????????????????? 1073741824
?????? ????? 5 MISORA_TBS????????????????????? 104857600
?????? ????? 6 MISBI_TBS?????????????????????10737418240
?
?? ?SQL> ALTER DATABASE DATAFILE 5 RESIZE 100M;
?
?
??? 5、控制備份文件
?
??? * 創(chuàng)建備份控制文件
?
??? ALTER DATABASE BACKUP CONTROLFILE TO 'D:\Oracle\oradata\kaka\ctl_mydb.ctl';
?
??? * 創(chuàng)建備份跟蹤文件
?
??? ALTER DATABASE BACKUP CONTROLFILE TO TRACE; --不能指定地址
?
??? 注:控制文件最好通過RMAN備份
?
?
??? 6、管理默認(rèn)數(shù)據(jù)庫(kù)設(shè)置(10g)
?
??? ALTER DATABASE SET DEFUALT TABLESPACE users; --創(chuàng)建默認(rèn)表空間
?
??? ALTER DATABASE ENABLE/DISABLE BLOCK CHANGE TRACKING; --塊交換跟蹤
?
??? ALTER DATABASE SET DEFUALT BIGFILE TABLESPACE; --修改表空間數(shù)據(jù)保存類型
?
??? ALTER DATABASE FLASHBACK ON; --閃回
?
?
??? 其他操作....
?
?
?
二、刪除數(shù)據(jù)庫(kù)
?
?
??? 關(guān)于刪除數(shù)據(jù)庫(kù)實(shí)例的問題,最好的辦法就是使用DCBA,沒有什么選項(xiàng),直接選刪除就可以了。
?
??? 但是有的時(shí)候不能使用圖形界面,要?jiǎng)h除數(shù)據(jù)庫(kù)大致要做到這些步驟:
?
??? 刪除單個(gè)數(shù)據(jù)庫(kù):
?
??? 1、備份當(dāng)前數(shù)據(jù)庫(kù)
??? 2、關(guān)閉數(shù)據(jù)庫(kù)實(shí)例
??? 3、手動(dòng)刪除各類數(shù)據(jù)庫(kù)相關(guān)文件(數(shù)據(jù)文件、控制文件、日志文件等)
??? 4、刪除當(dāng)前實(shí)例下的所有文件夾(udump、bdump等)
??? 5、刪除密碼文件pwdfile
??? 6、重新設(shè)定oracle_sid
??? 7、在注冊(cè)表中刪除該實(shí)例的服務(wù)項(xiàng)
?
?
??? 刪除整個(gè)oracle軟件:
?
??? 1、關(guān)閉數(shù)據(jù)庫(kù)
??? 2、停止所有數(shù)據(jù)庫(kù)相關(guān)的服務(wù)
??? 3、使用Universal Installer寫在軟件
??? 4、刪除oracle目錄下所有文件
??? 5、刪除C:\Program Files\Oracle所有文件
??? 6、刪除注冊(cè)表中所有與oracle相關(guān)的項(xiàng)
??? 7、刪除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下所有相關(guān)服務(wù)項(xiàng)
??? 8、刪除環(huán)境變量
?
?