Oracle Study Note : Tablespace and Data Files

时间:2022-06-10 10:46:38

1.how to create a tablespace that employs the most common features

 create tablespace tb_name  #create bigfile tablespace tb_name
datafile ‘/u01/dbfile/orcl/tb_name.dbf’
size 100m
autoextend on maxsize 1000m #don’t recommend use the AUTOEXTEND feature. if use this feature,suggest always specify a corresponding MAXSIZE.
extent management local #A locally managed tablespace uses a bitmap in the data file to efficiently determine whether an extent is in use
uniform size 128k #instruct Oracle to allocate size for each extent via the UNIFORM SIZE [size] clause.the default uniform extent size is 1MB
segment space management auto; #the SEGMENT SPACE MANAGEMENT AUTO clause instructs Oracle to manage the space within the block.
nologging; #you can turn off the generation of redo for direct path loading.
default row store compress advanced;

2.renameing a tablespace. When you rename a tablespace,Oracle updates the name of the tablespace in the data dictionary,control files,and data file headers. Keep in mind that renaming a tablespace doesn’t rename any associated data files.

 SQL> alter tablespace old_name rename to new_name

3.alter a tablespace logging mode

 SQL> alter tablespace tb_name nologging;

4.confirm the tablespace logging mode by querying the DBA_TABLESPACES view

 SQL> select tablespace_name,logging from dba_tablespaces;

5.changing a tablespace’s write mode

 SQL> alter tablespace tb_name read only; #you can’t make a tablespace that contains active rollback segment read-only.
SQL> alter tablespace tb_name read write;
SQL> alter table table_name read only; #modify individual tables

6.dropping a tablespace

 SQL> alter tablespace tb_name offline; #before droping a tablespace,it’s a good practices to first it offline.
SQL> drop tablespace tb_name including contents and datafiles cascade constraints;

7.using Oracle Managed Files

a)   DB_CREATE_FILE_DEST

b)   DB_CREATE_ONLINE_LOG_DEST_N

c)   DB_RECOVERY_FILE_DEST

 SQL> alter system set db_create_file_dest=’/u01’;

8.enabling default table compression within a tablespace

 SQL> alter tablespace tb_name default row store compress advanced;
SQL> alter tablespace tb_name defaule compress [basic | nocompres]

9.displaying oracle error messages and action

 $ oerr ora 01653

10.altering tablespace size

 SQL> alter database datafile ‘/u01/user01.dbf’ resize 1g;
SQL> alter tablespace users add datafile ‘/u02/users02.dbf’ size 100m;
SQL> alter tablespace big_data resize 1T; #with bigfile tablespace,you have the option of using the ALTER TABLESPACE statement to resize the data file. this works because only one data file can be associated with a bigfile tablespace.

11.to add space to a temporary tablespace

 SQL> select name,bytes from v$tempfile;  #first query the V$TEMPFILE view to verify the current size and location of temporary data files.
SQL> alter database tempfile ‘u01/temp01.dbf’ resize 500m;
SQL> alter tablespace temp add tempfile ‘u01/temp02.bdf’ size 5000m;

12.toggling data files offline and online

 SQL> alter tablespace tb_name offline;
SQL> alter database datafile 4 offline for drop #if your database isn’t in archivelog mode,you must specify ALTER DATAFILE ... OFFLINE FOR DROP when taking a data file offline.When you use the OFFLINE FOR DROP clause, no checkpiont is taken on the data file, this means you need to perform media recovery on the data file before bringing it online.
SQL> recovery datafile 4;

13.renaming or relocating a data file.new in Oracle 12c is the ALTER DATABASE MOVE DATAFILE commend.this commend allows you to rename or move datafiles without any downtime.

 SQL> alter database move datafile ‘u01/user01.dbf’ to ‘/u01/user02.dbf’;
SQL> alter database move datafile 4 to ‘u02/user01.dbf’ keep; #to keep a copy of the original file.
SQL> alter database move datafile 4 to ‘/u01/user02.dbf’ reuse; #specify the REUSE clause to overwrite an existing file.