1.日誌管理
1.1.強制日誌切換(forcing log switches)
sql> alter system switch logfile;
1.2.強制執行檢查點(forcing checkpoints)
sql> alter system checkpoint;
1.3.增加一個重做日誌組(adding online redo log groups)
sql> alter database add logfile [group 4]sql> (‘/disk3/log4a.rdo’,’/disk4/log4b.rdo’) size 1m;
1.4.增加一個重做日誌文件(adding online redo log members)
sql> alter database add logfile member
sql> ‘/disk3/log1b.rdo’ to group 1,
sql> ‘/disk4/log2b.rdo’ to group 2;
1.5.改變重做日誌文件名(changes the name of the online redo logfile)
sql> alter database rename file ‘c:/oracle/oradata/oradb/redo01.log’
sql> to ‘c:/oracle/oradata/redo01.log’;
1.6.刪除重做日誌組(drop online redo log groups)
sql> alter database drop logfile group 3;
1.7.刪除重做日誌文件(drop online redo log members)
sql> alter database drop logfile member ‘c:/oracle/oradata/redo01.log’;
1.8.清空重做日誌文件(clearing online redo log files)
sql> alter database clear [unarchived] logfile ‘c:/oracle/log2a.rdo’;
1.9.使用logminer分析重做日誌文件(using logminer analyzing redo logfiles)
a. in the init.ora specify utl_file_dir = ‘ ‘
b. sql> execute dbms_logmnr_d.build(‘oradb.ora’,’c:\oracle\oradb\log’);
c. sql> execute dbms_logmnr_add_logfile(‘c:\oracle\oradata\oradb\redo01.log’,
sql> dbms_logmnr.new);
d. sql> execute dbms_logmnr.add_logfile(‘c:\oracle\oradata\oradb\redo02.log’,
sql> dbms_logmnr.addfile);
e. sql> execute dbms_logmnr.start_logmnr(dictfilename=>’c:\oracle\oradb\log\oradb.ora’);
f. sql> select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters
sql> v$logmnr_logs);
g. sql> execute dbms_logmnr.end_logmnr;
2.表空間管理
2.1.創造表空間(create tablespaces)
sql> create tablespace ts_name datafile ‘c:\oracle\oradata\file1.dbf’ size 100m ,
sql>’c:\oracle\oradata\file2.dbf’ size 100m minimum extent 550k [logging/nologging]sql> default storage (initial 500k next 500k maxextents 500 pctinccease 0)
sql> [online/offline] [permanent/temporary] [extent_management_clause]
2.2.創建本地管理的表空間(locally managed tablespace)
sql> create tablespace user_data datafile ‘c:\oracle\oradata\user_data01.dbf’
sql> size 500m extent management local uniform size 10m;
2.3.創建臨時表空間(temporary tablespace)
sql> create temporary tablespace temp tempfile ‘c:\oracle\oradata\temp01.dbf’
sql> size 500m extent management local uniform size 10m;
2.4.改變表空間的存儲參數(change the storage setting)
sql> alter tablespace app_data minimum extent 2m;
sql> alter tablespace app_data default storage(initial 2m next 2m maxextents 999);
2.5.使表空間離線或連線(taking tablespace offline or online)
sql> alter tablespace app_data offline;
sql> alter tablespace app_data online;
2.6.設置表空間為只讀/可寫模式(read_only tablespace)
sql> alter tablespace app_data read only|write;
2.7.刪除表空間(droping tablespace)
sql> drop tablespace app_data including contents;
2.8.允許數據文件自動擴展(enableing automatic extension of data files)
sql> alter tablespace app_data add datafile ‘c:\oracle\oradata\app_data01.dbf’ size 200m
sql> autoextend on next 10m maxsize 500m;
2.9.手工改變數據文件的大小(change the size fo data files manually)
sql> alter database datafile ‘c:\oracle\oradata\app_data.dbf’ resize 200m;
2.10.改名表空間中的數據文件(Moving data files: alter tablespace)
sql> alter tablespace app_data rename datafile ‘c:\oracle\oradata\app_data.dbf
sql> to ‘c:\oracle\app_data.dbf’;
2.11.改變數據庫中的數據文件(moving data files:alter database)
sql> alter database rename file ‘c:\oracle\oradata\app_data.dbf’ to ‘c:\oracle\app_data.dbf’;
3.表
3.1.創建表(create a table)
sql> create table table_name (column datatype,column datatype]….)
sql> tablespace tablespace_name [pctfree integer] [pctused integer]
sql> [initrans integer] [maxtrans integer]sql> storage(initial 200k next 200k pctincrease 0 maxextents 50)
sql> [logging|nologging] [cache|nocache]
3.2.複製一個已存在的表(copy an existing table)
sql> create table table_name [logging|nologging] as subquery
3.3.創建一個臨時表(create temporary table)
sql> create global temporary table xay_temp as select * from xay;
on commit preserve rows/on commit delete rows
3.4. pctfree和pctused參數計算公式
pctfree = (average row size – initial row size) *100 /average row size
pctused = 100-pctfree- (average row size*100/available data space)
這是標準的計算公式。
PCTFREE:指定表內每個數據塊中空間的百分比。 PCTFREE的值必須介於0和99之間。如果值為零,表示可以通過插入新行來填充整個塊。缺省值為10。此值表示每個塊中保留著10%的空間,用於更新現有的行以及插入新行,每個塊最多可填充到90%。
PCTUSED:指定為表內每個數據塊維護的已用空間的最小百分比。如果一個塊的已用空間低於PCTUSED,則可在該塊中插入行。 PCTUSED的值為介於0和99之間的整數,缺省值為40。
結合PCTFREE和PCTUSED就可以確定將新行插入到現有數據塊中,還是插入到新塊中。這兩個參數值的和必須小於或等於100。使用這兩個參數可以更有效地利用表內的空間。
設置PCTFREE和PCTUSED
設置PCTFREE
PCTFREE值越高,可為數據庫塊內的更新提供的空間就越大。如果表存在下面兩種情況,則應設置一個更高的值:
?某些列最初為NULL,後來更新為某個值
?某些列由於更新,大小可能增加
PCTFREE的值越高,塊密度就越低,即每個塊容納的行數就越少。
上面的公式確保塊中有足夠的空閒空間供行增長使用。
設置PCTUSED
設置PCTUSED以確保只有在具備足夠空間來容納一個平均大小的行時才將塊返回到空閒列表中。如果空閒列表中的某個塊沒有足夠的空間來插入一行,Oracle服務器將查找空閒列表中的下一個塊。直到找到具備足夠空間的塊或者到達列表的末尾,這種線性掃描才會結束。使用給定的公式可以增加找到具有所需空閒空間的塊的概率,從而縮短掃描空閒列表的時間。
注:可以使用ANALYZE TABLE命令估算平均行大小的值。
注:Oracle9i “自動段空間管理”功能可替代PCTUSED、FREELISTS和FREELIST GROUPS。
3.5.改變存儲和塊利用率參數(change storage and block utilization parameter)
sql> alter table table_name pctfree=30 pctused=50 storage(next 500k minextents 2 maxextents 100);
3.6.手工分配區間(extents)(manually allocating extents)
sql> alter table table_name allocate extent(size 500k datafile ‘c:/oracle/data.dbf’);
3.7.改變表的所屬表空間(move tablespace)
sql> alter table employee move tablespace users;
3.8.釋放表中未用空間(deallocate of unused space)
sql> alter table table_name deallocate unused [keep integer]
3.9.截斷表(truncate)(truncate a table)
sql> truncate table table_name;
截斷一個表將刪除表中所有行,從而釋放已使用的空間。
對應的索引將被截斷。
(注:truncate table不是DML語句,是DDL語句
另外,truncate與delete的區別是,delelte不釋放空間,truncate釋放空間。 )
3.10.刪除表(drop a table)
sql> drop table table_name [cascade constraints];
3.11.刪除列(drop a column)
sql> alter table table_name drop column comments cascade constraints checkpoint 1000;
alter table table_name drop columns continue;
3.12.標識某一列為未使用(unused)(mark a column as unused)
sql> alter table table_name set unused column comments cascade constraints;
alter table table_name drop unused columns checkpoint 1000;
alter table orders drop columns continue checkpoint 1000
data_dictionary : dba_unused_col_tabs
除將列從表中刪除以外,還可以先將列標記為“未使用”,以後再刪除。因為沒有刪除數據,所以此操作不回收磁盤空間,因而具有速度比較快的優點。被標為“未使用”的列可在以後系統活動較少時從表中刪除。
未使用的列就像不屬於表一樣。查詢時看不到未使用列中的數據。此外,在執行DESCRIBE命令時,也不會顯示這些列的名稱和數據類型。用戶可以添加與未使用的列同名的新列。
如果想刪除同一表中的兩列,則可先將列設置為“未使用”然後再刪除。在刪除兩列時,表中的所有行都會更新兩次;但如果將這些列設置為“未使用”然後再刪除,則所有的行僅更新一次。
4.索引
4.1.創建一個基於函數的索引(creating function-based indexes)
sql> create index summit.item_quantity on summit.item(quantity-quantity_shipped);
基於函數的索引(Function-based indexes):
如果在表中要建立索引的一列或多列上使用了函數或表達式,則創建的是基於函數的索引。基於函數的索引預先計算函數或表達式的值,並將結果存儲在索引中。可以將基於函數的索引創建為B樹或位圖索引。
4.2.創建一個B樹索引(create a B-tree index)
sql> create [unique] index index_name on table_name(column,.. asc/desc) tablespace
sql> tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]
sql> [logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0 maxextents 50);
B樹:平衡二叉樹,oracle中用的最多的索引模式,適用於取值唯一性高的情況。只有兩層,非葉級、葉級(指針所在級)
4.3.索引中pctfree參數計算公式
pctfree(index)=(maximum number of rows-initial number of rows)*100/maximum number of rows
4.4.創建一個反向鍵索引(creating reverse key indexes)
sql> create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200k next 200k pctincrease 0 maxextents 50) tablespace indx;
4.5.創建位圖索引(create bitmap index)
sql> create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 200k pctincrease 0 maxextents 50) tablespace indx;
在下列情況中,位圖索引比B樹索引更有利:
?當表包含數百萬行且鍵列的基數很低(即,該列中重複的值很多)時。例如,對於包含護照記錄的表的性別列和婚姻狀況列而言,位圖索引比B樹索引更適合
?當查詢經常使用涉及OR運算符的多個WHERE條件組合時
?當鍵列上存在只讀或很少的更新操作時
(位圖索引適用於取值的唯一性很低的情況)
4.6.改變索引的存儲參數(change storage parameter of index)
sql> alter index xay_id storage (next 400k maxextents 100);
4.7.為索引分配空間(allocating index space)
sql> alter index xay_id allocate extent(size 200k datafile ‘c:/oracle/index.dbf’);8.alter index xay_id deallocate unused;
手動分配索引空間:
在表上進行頻繁的插入操作前,可能需要向索引添加區。添加區可防止索引動態擴展並導致性能降低。
(其中指定的數據文件一定是索引所在表空間的數據文件)
5.約束(constraints)
5.1.將約束定義為立即(immediate)或延遲(deferred)(define constraints as immediate or deferred)
sql> alter session set constraint[s] = immediate/deferred/default;
set constraint[s] constraint_name/all immediate/deferred;
SET CONSTRAINTS語句用於將特定事務處理的約束設置為DEFERRED或IMMEDIATE。可以使用此語句設置約束名稱列表或約束的模式。 SET CONSTRAINTS模式將一直持續到事務處理完成或者另一個SET CONSTRAINTS語句重置模式。 SET CONSTRAINTS語句不允許在觸發器內部使用。
ALTER SESSION語句還包含將約束設置為IMMEDIATE或DEFERRED的子句SET CONSTRAINTS。此命令缺省為設置所有(ALL)可延遲的約束(不能指定約束名稱列表)。 ALTER SESSION SET CONSTRAINTS語句僅適用於當前的會話。
5.2.刪除表或表空間時連帶刪除其上的外鍵(約束)
sql> drop table table_name cascade constraints
sql> drop tablespace tablespace_name including contents cascade constraints
在刪除父表之前,必須先刪除外鍵。可以使用以下一條語句同時執行這兩個操作:
DROP TABLE table CASCADE CONSTRAINTS
在未刪除或禁用外鍵之前無法截斷(truncated)父表。
在刪除包含父表的表空間之前,必須先刪除外鍵。可使用下列命令完成該操作:
DROP TABLESPACE tablespace INCLUDING CONTENTS
CASCADE CONSTRAINTS
如果從父表中刪除行時沒有使用DELETE CASCADE選項,Oracle服務器必須確保子表中的行不包含相應的外鍵。同樣,僅當子行中不包含舊鍵值時,才允許更新父鍵。如果子表的外鍵上沒有索引,則Oracle服務器鎖定子表並禁止更改以確保引用完整性。如果表上有索引,則可通過鎖定索引項並避免子表上有更具限制性的鎖來維護引用完整性。如果必須從不同的事務處理同時更新兩個表,則在外鍵列上創建索引。
5.3.在創建表時定義約束(define constraints while create a table)
sql> create table xay(id number(7) constraint xay_id primary key deferrable
sql> using index storage(initial 100k next 100k) tablespace indx);
primary key/unique/references table(column)/check
5.4.啟用當前禁用的約束(enable constraints)
sql> alter table xay enable novalidate constraint xay_id;
啟用NOVALIDATE:
對於當前已有索引的PRIMARY KEY和UNIQUE約束,啟用NOVALIDATE約束比啟用VALIDATE約束要快得多,這是因為,如果約束是可延遲的,則不檢查現有數據是否違反約束。如果使用該選項啟用約束,則不要求鎖定表。這種方法適合表上有許多DML活動的情況,如在OLTP環境中。
但是,如果需要創建索引,使用這種啟用約束的方法並不能比ENABLE VALIDATE帶來更多的好處,因為Oracle服務器在建立索引時鎖定表。
5.5.啟用約束(enable constraints)
sql> alter table xay enable validate constraint xay_id;
6.加載(load)數據
6.1.使用insert語句從另一張表中“直接加載”數據到新表(loading data using direct_load insert)
sql> insert /*+append */ into emp nologging
sql> select * from emp_old;
6.2.使用insert方式的“並行直接加載”數據(parallel direct-load insert)
sql> alter session enable parallel dml;
sql> insert /*+parallel(emp,2) */ into emp nologging
sql> select * from emp_old;
6.3.使用sql*loader加載數據(using sql*loader)
sql> sqlldr scott/tiger \
sql> control = ulcase6.ctl \
sql> log = ulcase6.log direct=true
7.重整數據(reorganizing data)
7.1.使用export倒出數據(using export)
$exp scott/tiger tables(dept,emp) file=c:\emp.dmp log=exp.log compress=n direct=y
7.2.使用import倒入數據(using import)
$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y
7.3.以移動表空間(transporting)方式導入導出一個表(transporting a tablespace)
sql>alter tablespace sales_ts read only;
$exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_ts
triggers=n constraints=n
$copy datafile
$imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2
/sles02.dbf)
sql> alter tablespace sales_ts read write;
7.4. checking transport set
sql> DBMS_tts.transport_set_check(ts_list =>’sales_ts’ ..,incl_constraints=>true);
在表transport_set_violations中查看
sql> dbms_tts.isselfcontained為true是,表示自包含
8.管理口令及相關資源(managing password security and resources)
8.1.修改用戶帳號加/解鎖及口令(controlling account lock and password)
sql> alter user juncky identified by oracle account unlock;
8.2. user_provided password function
sql> function_name(userid in varchar2(30),password in varchar2(30),
old_password in varchar2(30)) return boolean
8.3.創建概要文件:設置口令參數(create a profile : password setting)
sql> create profile grace_5 limit failed_login_attempts 3
sql> password_lock_time unlimited password_life_time 30
sql>password_reuse_time 30 password_verify_function verify_function
sql> password_grace_time 5;
8.4.修改概要文件(altering a profile)
sql> alter profile default limit
sql> failed_login_attempts 3
sql> password_life_time 60;
8.5.刪除概要文件(drop a profile)
sql> drop profile grace_5 [cascade];
8.6.創建概要文件:設置資源限額(create a profile : resource limit)
sql> create profile developer_prof limit sessions_per_user 2
sql> cpu_per_session 10000 idle_time 60 connect_time 480;
8.7. view => resource_cost : alter resource cost
dba_Users,dba_profiles
8.8.允許資源限額(enable resource limits)
sql> alter system set resource_limit=true;
9.管理用戶(Managing users)
9.1.創建用戶(數據庫認證方式)(create a user: database authentication)
sql> create user juncky identified by oracle default tablespace users temporary tablespace temp quota 10m/unlimited on data password expire [account lock|unlock] [profile profilename|default];
9.2.修改用戶的表空間限額(change user quota on tablespace)
sql> alter user juncky quota 0 on users;
9.3.刪除用戶(drop a user)
sql> drop user juncky [cascade];
9.4.監控用戶的視圖(monitor user)
view: dba_users , dba_ts_quotas
10.管理權限(managing privileges)
10.1.系統權限視圖(system privileges:)
view => system_privilege_map ,dba_sys_privs,session_privs
10.2.授權系統權限(grant system privilege)
sql> grant create session,create table to managers;
sql> grant create session to scott with admin option;
with admin option can grant or revoke privilege from any user or role;
10.3. sysdba和sysoper的權限(sysdba and sysoper privileges:)
sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile,alter tablespace begin/end backup,recover database,alter database archivelog,restricted session
sysdba:sysoper privileges with admin option,create database,recover database until
10.4.口令文件成員視圖(password file members:)
view:=> v$pwfile_users
10.5. O7_dictionary_accessibility =true
restriction access to view or tables in other schema
10.6.撤銷系統權限(revoke system privilege)
sql> revoke create table from karen;
sql> revoke create session from scott;
10.7.授權對象權限(grant object privilege)
sql> grant execute on dbms_pipe to public;
sql> grant update(first_name,salary) on employee to karen with grant option;
10.8.顯示對象權限的視圖(display object privilege ):
view => dba_tab_privs, dba_col_privs
10.9.撤銷用戶的對象權限(revoke object privilege)
sql> revoke execute on dbms_pipe from scott [cascade constraints];
10.10.審計記錄視圖(audit record view) :
=> sys. aud$
10.11.保護審計線索(protecting the audit trail)
sql> audit delete on sys.aud$ by access;
保護審計線索:
應保護審計線索,以防添加、修改或刪除審計信息。發出以下命令:
SQL> AUDIT delete ON sys.aud$ BY ACCESS;
可防止審計線索未經授權即被刪除;只有DBA才擁有DELETE_CATALOG_ROLE角色。
10.12.語句審計(statement auditing)
sql> audit user;
語句審計:該種審計對SQL語句進行選擇性審計,而並不審計語句針對的特定方案對象。例如,AUDIT TABLE跟踪多個DDL語句,而與這些語句針對的表無關。可以設置語句審計,以便對數據庫中的所選用戶或每個用戶進行審計。
10.13.權限審計(privilege auditing)
sql> audit select any table by summit by access;
權限審計:
該種審計對執行操作應具有的相應系統權限進行選擇性審計,如AUDIT CREATE ANY TRIGGER。可以設置權限審計對數據庫中的所選用戶或每個用戶進行審計。
10.14.方案對象審計(schema object auditing)
sql> audit lock on summit.employee by access whenever successful;
方案對象審計:
該種審計對特定方案對像上的特定語句進行選擇性審計,如AUDIT SELECT ON HR.EMPLOYEES。方案對象審計始終適用於所有數據庫用戶。
11.審計選項視圖(view audit option) :
view=> all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts
12.審計結果視圖(view audit result):
view=> dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement
13.管理角色(manager role)
13.1.創建角色(create roles)
sql> create role sales_clerk;
sql> create role hr_clerk identified by bonus;
sql> create role hr_manager identified externally;
13.2.修改角色(modify role)
sql> alter role sales_clerk identified by commission;
sql> alter role hr_clerk identified externally;
sql>alter role hr_manager not identified;
13.3.分配角色給用戶(assigning roles)
sql> grant sales_clerk to scott;
sql> grant hr_clerk to hr_manager;
sql> grant hr_manager to scott with admin option;
13.4.建立缺省角色(establish default role)
sql> alter user scott default role hr_clerk,sales_clerk;
sql> alter user scott default role all;
sql> alter user scott default role all except hr_clerk;
sql> alter user scott default role none;
13.5.允許和禁止角色(enable and disable roles)
sql> set role hr_clerk;
sql> set role sales_clerk identified by commission;
sql> set role all except sales_clerk;
sql> set role none;
13.6.撤銷用戶的角色(remove role from user)
sql> revoke sales_clerk from scott;
sql> revoke hr_manager from public;
13.7.刪除角色(remove role)
sql> drop role hr_manager;
13.8.顯示角色信息的視圖(display role information)
view: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles
14.備份和恢復(BACKUP and RECOVERY)
14.1.備份恢復用相關視圖
v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat
14.2.為Rman設置初始化參數
Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size
14.3.監控並行回滾的視圖(Monitoring Parallel Rollback)
> v$fast_start_servers , v$fast_start_transactions
14.4.執行一個冷備份(perform a closed database backup (noarchivelog))
> shutdown immediate
> cp files /backup/
> startup
14.5.改變數據文件的位置(restore to a different location)
> connect system/manager as sysdba
> startup mount
> alter database rename file ‘/disk1/../user.dbf’ to ‘/disk2/../user.dbf’;
> alter database open;
14.6.恢復命令(recover)語法(recover syntax)
–recover a mounted database
>recover database;
>recover datafile ‘/disk1/data/df2.dbf’;
>alter database recover database;
–recover an opened database
>recover tablespace user_data;
>recover datafile 2;
>alter database recover datafile 2;
14.7.設置自動應用重做日誌文件(how to apply redo log files automatically)
>set autorecovery on
>recover automatic datafile 4;
14.8.完全恢復(complete recovery:)
–method 1(mounted databae)
>copy c:\backup\user.dbf c:\oradata\user.dbf
>startup mount
>recover datafile ‘c:\oradata\user.dbf;
>alter database open;
–method 2(opened database,initially opened,not system or rollback datafile)
>copy c:\backup\user.dbf c:\oradata\user.dbf (alter tablespace offline)
>recover datafile ‘c:\oradata\user.dbf’ or
>recover tablespace user_data;
>alter database datafile ‘c:\oradata\user.dbf’ online or
>alter tablespace user_data online;
–method 3(opened database,initially closed not system or rollback datafile)
>startup mount
>alter database datafile ‘c:\oradata\user.dbf’ offline;
>alter database open
>copy c:\backup\user.dbf d:\oradata\user.dbf
>alter database rename file ‘c:\oradata\user.dbf’ to ‘d:\oradata\user.dbf’
>recover datafile ‘e:\oradata\user.dbf’ or recover tablespace user_data;
>alter tablespace user_data online;
–method 4(loss of data file with no backup and have all archive log)
>alter tablespace user_data offline immediate;
>alter database create datafile ‘d:\oradata\user.dbf’ as ‘c:\oradata\user.dbf”
>recover tablespace user_data;
>alter tablespace user_data online
14.9.對一個打開的數據庫進行備份(perform an open database backup)
> alter tablespace user_data begin backup;
> copy files /backup/
> alter database datafile ‘/c:/../data.dbf’ end backup;
> alter system switch logfile;
14.10.備份一個控製文件(backup a control file)
> alter database backup controlfile to ‘control1.bkp’;
> alter database backup controlfile to trace;
14.11.非歸檔模式下的恢復(recovery (noarchivelog mode))
> shutdown abort
> cp files
> startup
14.12.備份模式下的文件恢復(recovery of file in backup mode)
>alter database datafile 2 end backup;
14.13.清空重做日誌文件(clearing redo log file)
>alter database clear unarchived logfile group 1;
>alter database clear unarchived logfile group 1 unrecoverable datafile;
14.14.重做日誌的恢復(刪除與重建)(redo log recovery)
>alter database add logfile group 3 ‘c:\oradata\redo03.log’ size 1000k;
>alter database drop logfile group 1;
>alter database open;
or >cp c:\oradata\redo02.log’ c:\oradata\redo01.log
>alter database clear logfile ‘c:\oradata\log01.log’;