[转]Oracle常用命令

发表于:2007-07-02来源:作者:点击数: 标签:
oracle 里的常用命令详解 日志管理 1.forcing log switches sql alter system switch logfile; 2.forcing checkpoints sql alter system checkpoint; 3.adding online redo log groups sql alter database add logfile [group 4] sql (@#/disk3/log4a.rdo@#,
oracle里的常用命令详解



日志管理
1.forcing log switches
sql> alter system switch logfile;

2.forcing checkpoints
sql> alter system checkpoint;

3.adding online redo log groups
sql> alter database add logfile [group 4]
sql> (@#/disk3/log4a.rdo@#,@#/disk4/log4b.rdo@#) size 1m;

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;

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@#;

6.drop online redo log groups
sql> alter database drop logfile group 3;

7.drop online redo log members
sql> alter database drop logfile member @#c:/oracle/oradata/redo01.log@#;

8.clearing online redo log files
sql> alter database clear [unarchived] logfile @#c:/oracle/log2a.rdo@#;

9.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;


表空间管理
1.create tablespaces
sql> create tablespace tablespace_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 pctinclearcase/" target="_blank" >ccease 0)
sql> [online/offline] [permanent/temporary] [extent_management_clause]

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;

3.temporary tablespace
sql> create temporary tablespace temp tempfile @#c:\oracle\oradata\temp01.dbf@#
sql> size 500m extent management local uniform size 10m;

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);

5.taking tablespace offline or online
sql> alter tablespace app_data offline;
sql> alter tablespace app_data online;

6.read_only tablespace
sql> alter tablespace app_data read only|write;

7.droping tablespace
sql> drop tablespace app_data including contents;

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;

9.change the size fo data files manually
sql> alter database datafile @#c:\oracle\oradata\app_data.dbf@# resize 200m;

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@#;

11.moving data files:alter database
sql> alter database rename file @#c:\oracle\oradata\app_data.dbf@#
sql> to @#c:\oracle\app_data.dbf@#;





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]

2.copy an existing table
sql> create table table_name [logging|nologging] as subquery

3.create temporary table
sql> create global temporary table xay_temp as select * from xay;
on commit preserve rows/on commit delete rows

4.pctfree = (average row size - initial row size) *100 /average row size
pctused = 100-pctfree- (average row size*100/available data space)

5.change storage and block utilization parameter
sql> alter table table_name pctfree=30 pctused=50 storage(next 500k
sql> minextents 2 maxextents 100);

6.manually allocating extents
sql> alter table table_name allocate extent(size 500k datafile @#c:/oracle/data.dbf@#);

7.move tablespace
sql> alter table employee move tablespace users;

8.deallocate of unused space
sql> alter table table_name deallocate unused [keep integer]

9.truncate a table
sql> truncate table table_name;

10.drop a table
sql> drop table table_name [cascade constraints];

11.drop a column
sql> alter table table_name drop column comments cascade constraints checkpoint 1000;
alter table table_name drop columns continue;

12.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

原文转自:http://www.ltesting.net