{"id":2594,"date":"2019-03-12T12:12:18","date_gmt":"2019-03-12T09:12:18","guid":{"rendered":"https:\/\/sysdba.org\/?p=2594"},"modified":"2025-07-02T06:01:07","modified_gmt":"2025-07-02T06:01:07","slug":"table-space-management","status":"publish","type":"post","link":"https:\/\/sysdba.org\/en\/table-space-management\/","title":{"rendered":"Table Space Management"},"content":{"rendered":"<p>Data, in Oracle, is logically stored in tablespaces and physically stored in datafiles. The illustration below shows the file and logical structures according to the operating system. (TableSpace can also be abbreviated to TS.)<\/p>\n<p>&nbsp;<\/p>\n<p>It is necessary to understand that a TS stores schema objects that are constant\/non-volatile. The Data Dictionary is kept in a special system TS. Version 10G introduced a mandatory auxilary system TS. If migrating from a version earlier than 10G, the auxiliary TS must be created before the migration process.<\/p>\n<p>&nbsp;<\/p>\n<p>The structure of a TS has been designed so as to be easier for a database to control and to ease maintenance activities for administrators.<\/p>\n<p>An example of this is enabling separation of a TS for every department and the data that gets generated when creating new users in the system (e.g. accounting_tbs, sales_tbs). Activities such as backups of departmental data should be scheduled for different dates so that they can be better supervised.<\/p>\n<p>Such scheduling helps prevent possible errors from one departmental backup affecting other departments&#8217; data. Additionally, the separated data allows for greater ease and flexibility when granting users privileges.<\/p>\n<p>&nbsp;<\/p>\n<p>Temporary TS: A user&#8217;s session data, such as queues and sort transactions, gets stored in a temp file rather than a datafile.<\/p>\n<p>Undo TS: Used to maintain consistency of data that is read. (The consistency of undo data will be explained in further sections)<\/p>\n<p>&nbsp;<\/p>\n<h3>TableSpace Types<\/h3>\n<p><strong>1- System tablespace:<\/strong> Gets created along with the database and is compulsory for every database. Stores the Data Dictionary and parts of programs.<\/p>\n<p><strong>2- Non-System tablespace:<\/strong> Are created by database administrators (DBAs) and users.<\/p>\n<p>&nbsp;<\/p>\n<h3>The 2 types of Extent options when creating TableSpaces<\/h3>\n<p><strong>1- Dictionary Managed TableSpace (DMT):<\/strong> Extent Size is managed by the Data Dictionary. This type of TS is not generally recommended.<\/p>\n<p><strong>2- Locally Managed TableSpace (LMT):<\/strong> A TS where where the Extend Size is managed locally (using a bitmap structure). When a TS management option hasn&#8217;t been selected while creating it, it becomes a LMT by default.<br \/>\n[crayon]create tablespace test<\/p>\n<p>datafile &#8216;\/u01\/DataFiles\/test_tbs01&#8217;<\/p>\n<p>size 50MB<\/p>\n<p>Extent management LOCAL<\/p>\n<p>Uniform SIZE 128K ;<br \/>\n[\/crayon]<br \/>\nA LMT that has been created using a UNIFORM SIZE of 128K &amp; a database block size of 2K will have a corresponding Extent block size of 64K.<\/p>\n<p>An Extent size of 128K corresponds to 1 bit and a bit&#8217;s status (whether it&#8217;s empty or full) can be determined using the bitmap.<\/p>\n<p><a href=\"\/wp-content\/old_uploads\/SegmentExtenAndDataBlocks.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5984\" src=\"\/wp-content\/old_uploads\/SegmentExtenAndDataBlocks.jpg\" alt=\"SegmentExtenAndDataBlocks\" width=\"675\" height=\"582\" \/><\/a><\/p>\n<p><em><strong>Reminder:<\/strong><\/em><\/p>\n<p>The empty areas in the manual segment&#8217;s space are managed using the bitmap in the Freelist Automatic Space Management.<\/p>\n<p>The Segment Space Management is set to Automatic by default and is more efficient. There is no need to coalesce the free areas.<br \/>\n[crayon]create tablespace test<\/p>\n<p>datafile &#8216;\/u01\/DataFiles\/test_tbs01&#8217;<\/p>\n<p>size 50M<\/p>\n<p>Extent management LOCAL<\/p>\n<p>SEGMENT SPACE MANAGEMENT AUTO;<br \/>\n[\/crayon]<\/p>\n<h3>There are two options for managing the size of an Extent.<\/h3>\n<p><strong>1.<\/strong> To have it automatically managed by the dbms. Using the AUTOALLOCATE option, starting from 64KB Oracle can automatically adjust the values to a maximum of 64MB.<\/p>\n<p><strong>2.<\/strong> By entering an amount in KB or MB using the [b]UNIFORM[\/b] option. Once a UNIFORM size has been set whilst creating a database it cannot later be changed. If an Extent size hasn&#8217;t manually been entered, Oracle automatically assigns a value of 1MB.<\/p>\n<p>If all the extents in the database are, on average, the same size then it is recommended to manually set the extent size using the uniform option.<\/p>\n<p>An example of where Extent sizes are important, in terms of performance, are situations where the data held in extents are frequently queried &#8211; having smaller extent sizes will negatively impact performance. If you plan on setting the sizes of the extents in Oracle, the values below are recommended according to database usage.<\/p>\n<p>64 KB small segments<\/p>\n<p>1 MB medium segments<\/p>\n<p>63 MB large segments<\/p>\n<p>If the average growth rate is not known while creating the database and if all segments in the database will not be the same size then it is recommended to use the AUTOALLOCATE option.<\/p>\n<p>The diagram below summarizes the mentioned points:<\/p>\n<p><a href=\"\/wp-content\/old_uploads\/TableSpaceYonetimi_DictionaryveLokal.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5986 size-full\" src=\"\/wp-content\/old_uploads\/TableSpaceYonetimi_DictionaryveLokal.jpg\" alt=\"Table Space Management\" width=\"757\" height=\"568\" \/><\/a><\/p>\n<p>The type of Segment Space Management is set while creating the database, it isn&#8217;t possible to later change this option and the setting applies to all the database segments.<\/p>\n<p><strong>LOCAL UNIFORM:<\/strong> There needs to be a minimum of 5 available database blocks to select this option.<\/p>\n<p><strong>LOCAL AUTOALLOCATE:<\/strong> With this option, if the database block size is 16K or more, the DBMS sets a minimum block size of approximately 64K and creates a minimum of 5 database blocks.<br \/>\n[crayon]create tablespace sales<\/p>\n<p>datafile &#8216;\/u1\/appa\/oracle\/orcl\/sales_tbs.dbf&#8217;<\/p>\n<p>size 50M ;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]create tablespace accounting<\/p>\n<p>datafile &#8216;\/u1\/appa\/oracle\/orcl\/accounts_tbs.dbf&#8217;<\/p>\n<p>size 50M<\/p>\n<p>extent management LOCAL<\/p>\n<p>segment space management auto;<br \/>\n[\/crayon]<br \/>\nThe previous 2 codeblocks were used to create the 2 tablespaces using different parameters, they both utilize locally managed extents (as it is the default option.)<br \/>\n[crayon]select * from dba_tablespaces;<br \/>\n[\/crayon]<\/p>\n<table style=\"height: 409px; width: 617px;\" border=\"0\">\n<tbody>\n<tr>\n<td><span style=\"font-size: 10pt;\"><strong>TABLESPACE_NAME<\/strong><\/span><\/td>\n<td><span style=\"font-size: 10pt;\"><strong>SALES<\/strong><\/span><\/td>\n<td><span style=\"font-size: 10pt;\"><strong>ACCOUNTING<\/strong><\/span><\/td>\n<td><span style=\"font-size: 10pt;\"><strong>SHIPPING<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">BLOCK_SIZE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">8192<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">8192<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">8192<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">INITIAL_EXTENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">NEXT_EXTENT<\/span><\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MIN_EXTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MAX_EXTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">2147483645<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">2147483645<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">2147483645<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PCT_INCREASE<\/span><\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MIN_EXTLEN<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">STATUS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">CONTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">PERMANENT<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">PERMANENT<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">PERMANENT<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">LOGGING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">LOGGING<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOGGING<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOGGING<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">FORCE_LOGGING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">EXTENT_MANAGEMENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">ALLOCATION_TYPE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">SYSTEM<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">SYSTEM<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">SYSTEM<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PLUGGED_IN<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SEGMENT_SPACE_MANAGEMENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">DEF_TAB_COMPRESSION<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">RETENTION<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">BIGFILE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>[crayon]create tablespace stock<\/p>\n<p>datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/stock01_tbs.dbf&#8217;<\/p>\n<p>SIZE 50M<\/p>\n<p>extent management local uniform ;<br \/>\n[\/crayon]<br \/>\nThe previous codeblock created a tablespace using the local uniform parameter, but as a size wasn&#8217;t specified, a default amount of 1MB has been applied.<\/p>\n<table style=\"height: 403px; width: 553px;\" border=\"0\">\n<tbody>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">TABLESPACE_NAME<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">SALES<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">ACCOUNTING<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">PATIENTS<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">BLOCK_SIZE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">8192<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">8192<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">8192<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">INITIAL_EXTENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">65536<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">1048576<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">NEXT_EXTENT<\/span><\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<td><span style=\"font-size: 10pt;\">1048576<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MIN_EXTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MAX_EXTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">2147483645<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">2147483645<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">2147483645<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PCT_INCREASE<\/span><\/strong><\/td>\n<td><\/td>\n<td><\/td>\n<td><span style=\"font-size: 10pt;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MIN_EXTLEN<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">65536<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">65536<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">1048576<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">STATUS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">CONTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">PERMANENT<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">PERMANENT<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">PERMANENT<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">LOGGING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">LOGGING<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOGGING<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOGGING<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">FORCE_LOGGING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">EXTENT_MANAGEMENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">ALLOCATION_TYPE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">SYSTEM<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">SYSTEM<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">UNIFORM<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PLUGGED_IN<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SEGMENT_SPACE_MANAGEMENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">DEF_TAB_COMPRESSION<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">RETENTION<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">BIGFILE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h3>BigFile TableSpace<\/h3>\n<p>A BigFile TableSpace is a type of TS that was introduced with Oracle 10G. It can contain a single very large datafile, a 32TB datafile using a block size of 8K and a 128TB datafile using a block size of 32K.<\/p>\n<p>The following points should be considered when considering using BigFile TableSpaces:<\/p>\n<p>\u2022 They were developed for use in Automatic Storage Management or ASM or other expandable disk architectures, such as RAID.<\/p>\n<p>\u2022 The DBMS creates a smallfile tablespace by default.<\/p>\n<p>\u2022 By using the ALTER TABLESPACE syntax users can perform operations on a whole tablespace rather than individual datafiles, this is known as datafile transparency.<\/p>\n<p>&nbsp;<\/p>\n<p>It is not advisable to use BigFile TS in the following scenarios:<\/p>\n<p>\u2022 Storage structures that don&#8217;t use striping, i.e. storing data sequentially on different physical devices.<\/p>\n<p>\u2022 In operating systems that don&#8217;t support large file sizes.<\/p>\n<p>&nbsp;<\/p>\n<p>BigFile TSs are only supported in Locally Managed TSs that use Automatic Segment Space Management, with 3 exceptions:<\/p>\n<p>\u2022 Undo TS<\/p>\n<p>\u2022 Temporary TS<\/p>\n<p>\u2022 System TS<\/p>\n<p>&nbsp;<\/p>\n<table style=\"height: 274px; width: 247px;\" border=\"0\">\n<tbody>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">Table_Space<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">SSM<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYSTEM<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">MANUAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">UNDOTBS1<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">MANUAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYSAUX<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">TEMP<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">MANUAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">USERS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">UNDOTBS2<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">MANUAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">EXAMPLE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SALES<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">ACCOUNTING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">TEMP02<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">MANUAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SHIPPING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PATIENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">AUTO<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Creating a Bigfile TS:[crayon]create bigfile tablespace customer<\/p>\n<p>datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/customer_bf_tbs.dbf&#8217;<\/p>\n<p>SIZE 100G<br \/>\n[\/crayon]<br \/>\nIf the default TS option has been configured as bigfile then there is no need to enter a BIGFILE parameter. However if a smallfile TS is to be created then a SMALLFILE parameter should be entered.<br \/>\n[crayon]alter tablespace customer resize 200G;<br \/>\n[\/crayon]<br \/>\nIt is possible to change the size of the TS.<br \/>\n[crayon]alter tablespace customer autoextend on next 10G;<br \/>\n[\/crayon]<br \/>\nUsing the above statement the TS can be configured to grow automatically, depending on requirements.<br \/>\n[crayon]DBA_TABLESPACES<\/p>\n<p>USER_TABLESPACES<\/p>\n<p>V$TABLESPACE<br \/>\n[\/crayon]<br \/>\nThe BigFile column in the TS indicates whether the TS is a BigFile or not.<\/p>\n<p>&nbsp;<\/p>\n<h3>Temporary TableSpace<\/h3>\n<p>The temporary tablespace store (temporary) session data and is used for sorting and indexing operations as well as for user queries. A temp TS is created for every user that can be configured during creation or later (CREATE USER, ALTER USER).<\/p>\n<p>Permanent\/non-volatile objects cannot be created in a Temp TS which is composed of temporary tables.<\/p>\n<p>If a database has been created according to the recommended settings then by default a temporary TS is created for all the users, similarly in a temporary TS can be created afterwards if it hasn&#8217;t been created along with a new database.<\/p>\n<p>A number of users can also use a common tablespace to share information.<\/p>\n<p>With an extent size setting of &#8220;uniform&#8221; and 64K, Oracle writes data to the Program Global Area (PGA) in 64KB stacks which improves performance. In data warehouses the suggested extent size is 1MB.<\/p>\n<p>Creating more than a single TS and sharing it among users is another method of increasing performance.<\/p>\n<p>\u2022 V$SORT_SEGMENT<\/p>\n<p>\u2022 V$TEMPSEG_USAGE<\/p>\n<p>\u2022 V$TEMPFILE<\/p>\n<p>\u2022 V$DATAFILE<\/p>\n<p>\u2022 DBA_TEMP_FILES<\/p>\n<p>\u2022 DBA_DATA_FILES<\/p>\n<p>&nbsp;<\/p>\n<p>Usage information can be determined through querying from the views.<br \/>\n[crayon]create temporary tablespace developertemp<\/p>\n<p>tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp01.dbf&#8217;<\/p>\n<p>size 50M ;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]select * from dba_tablespaces ;<br \/>\n[\/crayon]<br \/>\nThe default values in the temporary TS can be viewed using the previous line.<\/p>\n<p>&nbsp;<\/p>\n<table style=\"height: 402px; width: 455px;\" border=\"0\">\n<tbody>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">TABLESPACE_NAME<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">DEVELOPERTEMP<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">BLOCK_SIZE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">8,192<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">INITIAL_EXTENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">1,048,576<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">NEXT_EXTENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">1,048,576<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MIN_EXTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">1<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MAX_EXTENTS<\/span><\/strong><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PCT_INCREASE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">0<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">MIN_EXTLEN<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">1,048,576<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">STATUS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">ONLINE<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">CONTENTS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">TEMPORARY<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">LOGGING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NOLOGGING<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">FORCE_LOGGING<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">EXTENT_MANAGEMENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">LOCAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">ALLOCATION_TYPE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">UNIFORM<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">PLUGGED_IN<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SEGMENT_SPACE_MANAGEMENT<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">MANUAL<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">DEF_TAB_COMPRESSION<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">DISABLED<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">RETENTION<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NOT APPLY<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">BIGFILE<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">NO<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>As can be seen in this table, all Extents are locally managed and have a uniform size of 1MB.<\/p>\n<p>&nbsp;<\/p>\n<p>To change the Uniform Size:<br \/>\n[crayon]create temporary tablespace nameOne<\/p>\n<p>tempfile &#8216;\/datafile path\/datafileName&#8217;<\/p>\n<p>size ;<\/p>\n<p>extent management local uniform size xx;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]create bigfile temporary tablespace<br \/>\n[\/crayon]<br \/>\nThis code creates a bigfile tablespace.<\/p>\n<p>An ALTER TABLESPACE syntax cannot change a permanent TS to a temporary TS. It can only be used to add datafiles and to switch a tempfile offline\/online.<br \/>\n[crayon]alter tablespace developertemp<\/p>\n<p>add tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217;<\/p>\n<p>size 50m;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]alter tablespace developertemp tempfile offline;<\/p>\n<p>alter tablespace developertemp tempfile offline;<br \/>\n[\/crayon]<br \/>\nThe same can be accomplished using the code below.<br \/>\n[crayon]alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217; offline;<\/p>\n<p>alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217; offline;<br \/>\n[\/crayon]<br \/>\nIt should be noted that what has been made offline is the datafile and not the temporary TS in which it is held. To view the statuses the v$tempfile can be used.<br \/>\n[crayon]alter tablespace developertemp tempfile offline;<br \/>\n[\/crayon]<br \/>\nTo change the size of the tempfile.<br \/>\n[crayon]alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217; resize 100M;<br \/>\n[\/crayon]<br \/>\nTo cancel the tempfile and to delete the datafile.<br \/>\n[crayon]alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217; drop including datafiles;<br \/>\n[\/crayon]<br \/>\n<strong>Changing the name and location:<\/strong><\/p>\n<p>1. Take the TS offline.<\/p>\n<p>2. Moved from the operating system and\/or change its name.<\/p>\n<p>3. Update the control file using the &#8220;alter database rename file&#8221; syntax.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Temporary TableSpace Group<\/strong><\/p>\n<p>Temporary TableSpace Group is a feature, introduced with 10G, that enables users in different sessions to concurrently use the temporary TS.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 Formed out of a minimum of 1 TS, no maximum amount.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 The group automatically gets deleted if all group members are deleted.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 The same name is in the group name field of the TS for all group members.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 The temporary TS name and the group name that a member belongs to can not be identical.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 Members can be assigned the group name instead of the temporary TS.<\/p>\n<p>&nbsp;<\/p>\n<p>Benefits of using a Temporary TS Group:<\/p>\n<p style=\"margin-left: 30px;\">\u2022 Stops congestion by preventing more than one TS being used simultaneously.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 Perfomance benefits from spreading TS across several physical disks.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 Increases the productivity of many temporary TS running in parallel.<\/p>\n<p style=\"margin-left: 30px;\">\u2022 One user can access more than one TS at the same time.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Creating TableSpaces<\/strong><\/p>\n<p>The following code changes the default temp tablespace.<br \/>\n[crayon]ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tempxx;<br \/>\n[\/crayon]<br \/>\nDeleting the Temporary TS with the datafile.<br \/>\n[crayon]DROP TABLESPACE TEMP02 INCLUDING CONTENTS AND DATAFILES;<br \/>\n[\/crayon]<br \/>\nThis statement cancels the datafile and erases it from the system.<br \/>\n[crayon]alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217; drop including datafiles;<br \/>\n[\/crayon]<br \/>\nThe alertlog error entry (reminder : &#8220;<strong><em>tail -f \/u01\/app\/oracle\/admin\/orcl\/bdump\/alert_orcl.log<\/em><\/strong>&#8220;)<br \/>\n[crayon]<br \/>\nWed Feb 10 20:40:24 2010<\/p>\n<p>alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217; drop including datafiles<\/p>\n<p>Wed Feb 10 20:40:25 2010<\/p>\n<p>Deleted file \/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf<\/p>\n<p>Completed: alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217; drop including datafiles<\/p>\n<p>Wed Feb 10 20:43:47 2010<\/p>\n<p>alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217; drop including datafiles<\/p>\n<p>Wed Feb 10 20:43:47 2010<\/p>\n<p>ORA-1516 signalled during: alter database tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217; drop including datafiles &#8230;<br \/>\n[\/crayon]<br \/>\nWhen queried<br \/>\n[crayon]select * from dba_tablespace_groups;<br \/>\n[\/crayon]<br \/>\nthe DBMS outputs the following error:<br \/>\n[crayon]ORA-01516: nonexistent log file, datafile, or tempfile &#8220;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8221;<br \/>\n[\/crayon]<br \/>\nFirst, remove temp01 from the default temporary group:<br \/>\n[crayon]alter tablespace temp01 tablespace group &#8221;;<br \/>\n[\/crayon]<br \/>\nThen:<br \/>\n[crayon]DROP TABLESPACE TEMP01 INCLUDING CONTENTS and datafiles;<br \/>\n[\/crayon]<br \/>\nFrom now on running <strong>select * from dba_tablespace_groups;<\/strong> will not produce an error message.<br \/>\n[crayon]create temporary tablespace temp01<\/p>\n<p>tempfile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217;<\/p>\n<p>size 50M tablespace group tempgroup01;<br \/>\n[\/crayon]<br \/>\nUsing the previous syntax, a temporary TS called temp01 is created as well as a temporary group called tempgroup1, temp01 is included in tempgroup01.<\/p>\n<p>&nbsp;<\/p>\n<p>A temporary TS must first be created before being added to a group. The code below assigns a temporary tablespace to a group:<br \/>\n[crayon]alter tablespace temp02 tablespace group tempgroup01 ;<br \/>\n[\/crayon]<br \/>\nAssigning a default temporary TS to a group:<br \/>\n[crayon]alter database default temporary tablespace tempgroup01;<br \/>\n[\/crayon]<br \/>\nAssigning a user to a default temporary group:<br \/>\n[crayon]create user user_name identified by user_password<\/p>\n<p>default tablespace tablspace_name<\/p>\n<p>temporary tablespace tempgroup01;<br \/>\n[\/crayon]<br \/>\nRe-assigning a user to a temporary tablespace<\/p>\n<p>&nbsp;<\/p>\n<p>alter user user_name temporary tablespace tempgrup01;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>To view temporary tablespace information:<br \/>\n[crayon]select group_name &#8220;temp_grup&#8221;,<\/p>\n<p>tablespace_name &#8220;ts_name&#8221;<\/p>\n<p>from dba_tablespace_groups;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]<br \/>\ntemp_grup ts_name<\/p>\n<p>&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8211;<\/p>\n<p>TEMPGRUP01 TEMP<\/p>\n<p>TEMPGRUP01 TEMP01<br \/>\n[\/crayon]<br \/>\nTo view the users as well as the temporary tablespaces that they have been assigned to.<br \/>\n[crayon]select username, temporary_tablespace from dba_users;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]USERNAME TEMPORARY_TABLESPACE<\/p>\n<p>&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>HR TEMPGROUP01<\/p>\n<p>SCOTT TEMPGROUP01<\/p>\n<p>TSMSYS TEMPGROUP01<br \/>\n[\/crayon]<br \/>\nAs tempgroup_1 has been assigned to a default temporary TS, the users within the group have also been assigned the properties of tempgroup_1.<\/p>\n<p>&nbsp;<\/p>\n<h3>Creating a NonStandard Block Size<\/h3>\n<p>TableSpaces can be created from different DB_BLOCK_SIZE settings than what are in the initialization file, spfile. This feature allows moving TSs between databases with different block sizes.<\/p>\n<p>DN_nK_CACHE_SIZE must have at least one assigned value in the initialization parameters.<br \/>\n[crayon]create tablespace finance<\/p>\n<p>datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/temp01_01.dbf&#8217;<\/p>\n<p>size 50M<\/p>\n<p>extent management local<\/p>\n<p>uniform size 128K<\/p>\n<p>BLOCKSIZE 8K;<br \/>\n[\/crayon]<\/p>\n<h3>Nologging<\/h3>\n<p>If TableSpace was made using the <strong>nologging<\/strong> parameter then transactions within the TS will not be redo capable and subsequently won&#8217;t be able to be recovered using RMAN (Recovery Manager) Flashback.<\/p>\n<p>If a table is accidentally deleted it can be recovered by copying the last export. The advantage of this method of recovery is that it has a positive impact on the database&#8217;s performance as there aren&#8217;t any Redo records.<br \/>\n[crayon]create table test as select * from hr.employees<\/p>\n<p>nologging;<br \/>\n[\/crayon]<br \/>\nTo prevent TableSpace problems due to a database being in Nologging mode, creating a TS in FORCE LOGGING mode configures it to create RedoLogs in all conditions.<\/p>\n<p>Shifting a TS in FORCE LOGGING mode to another database, which isn&#8217;t in FORCE LOGGING mode, will disable its FORCE LOGGING.<br \/>\n[crayon]create tablespace test1<\/p>\n<p>datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/test101.dbf&#8217;<\/p>\n<p>size 50M<\/p>\n<p>extent management local<\/p>\n<p>nologging\/nologging\/force logging;<br \/>\n[\/crayon]<\/p>\n<h3>Online\/Offline<\/h3>\n<p>While a database is in open mode, users that have <strong>alter tablespace<\/strong> or <strong>manage tablespace<\/strong> privileges can take TSs online or offline.<\/p>\n<p>Offline TSs can&#8217;t be accessed by users, this doesn&#8217;t affect access to other TSs.<\/p>\n<p>\u2022 When offline backups are required (a backup can be made while the TS is online)<\/p>\n<p>\u2022 While an application is loading or being updated<\/p>\n<p>\u2022 While a TS is being renamed or moved (relocated)<\/p>\n<p>\u2022 If there is a problem with a datafile<\/p>\n<p>&nbsp;<\/p>\n<p>The following types of TableSpaces cannot be taken offline:<\/p>\n<p>\u2022 System<\/p>\n<p>\u2022 Undo<\/p>\n<p>\u2022 Temporary<br \/>\n[crayon]alter tablespace sales offline\/online;<br \/>\n[\/crayon]<br \/>\nA TS can be taken offline using 3 types of parameters.<\/p>\n<p>\u2022 normal : Doesn&#8217;t require media recovery.<\/p>\n<p>\u2022 temporary : Used if a TS can&#8217;t be taken offline. May require recovery media.<\/p>\n<p>\u2022 immediate : The available option when the above parameters can&#8217;t be applied. Requires media recovery and can only be used in archive mode.<\/p>\n<p>&nbsp;<\/p>\n<h3>Read-Only<\/h3>\n<p>New data can&#8217;t be entered or new objects can&#8217;t be created into a TS in Read-Only mode, but the TS can be queried and dropped.<\/p>\n<p>A Bigfile TS should be put into read-only mode before being backed up to external storage devices or removable media such as DVDs. In read-only mode a TS can also be moved to other databases.<\/p>\n<p>The following points should be considered when switching a tablespace into read only mode.<\/p>\n<p>\u2022 As changes are made to datafile headers during backup, a datafile should not be in an online backup process.<\/p>\n<p>\u2022 All undo transactions should be completed.<\/p>\n<p>\u2022 The tablespace to be placed into read-only mode must not be SYSTEM or active undo tablespaces.<br \/>\n[crayon]alter tablespace sales read only;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]alter tablespace sales read write ;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]CREATE TABLE TEST_TABLE1<\/p>\n<p>(<\/p>\n<p>ID NUMBER,<\/p>\n<p>NAME VARCHAR2(20 BYTE)<\/p>\n<p>)<\/p>\n<p>TABLESPACE SALES;<br \/>\n[\/crayon]<br \/>\nA variety of insert operations have been made on the SALES tablespace without being committed.<\/p>\n<p><strong><em>alter tablespace sales read only;<\/em><\/strong> was run and remains in that state.<br \/>\n[crayon]select sql_text, SADDR<\/p>\n<p>from v$sqlarea, v$session<\/p>\n<p>where v$sqlarea.address = v$session.sql_address<\/p>\n<p>and sql_text like &#8216;alter tablespace%&#8217;;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]SQL_TEXT<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>SADDR<\/p>\n<p>&#8212;&#8212;&#8211;<\/p>\n<p>alter tablespace sales read only<\/p>\n<p>2EAF591C<br \/>\n[\/crayon]<\/p>\n<p>[crayon]SQL> select ses_addr, start_scnb<\/p>\n<p>2 from v$transaction<\/p>\n<p>3 order by start_scnb;<\/p>\n<p>&nbsp;<\/p>\n<p>SES_ADDR START_SCNB<\/p>\n<p>&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;-<\/p>\n<p>2EAF6BD0 1965814<\/p>\n<p>2EAF591C 1967631<br \/>\n[\/crayon]<br \/>\n<strong><em>alter tablespace sales offline temporary;<\/em><\/strong> is hanging<\/p>\n<p><em><strong>alter tablespace sales offline immediate;<\/strong><\/em> is hanging<span style=\"font-size: 0.9em; line-height: 1.3em;\"><br \/>\n<\/span><br \/>\n[crayon][root@ora ~]# tail -f \/u01\/app\/oracle\/admin\/orcl\/bdump\/alert_orcl.log<\/p>\n<p>Fri Feb 12 15:38:32 2010<\/p>\n<p>alter tablespace sales read only<\/p>\n<p>Fri Feb 12 15:51:41 2010<\/p>\n<p>alter tablespace sales read only<\/p>\n<p>Fri Feb 12 15:51:50 2010<\/p>\n<p>ORA-3135 signalled during: alter tablespace sales read only&#8230;<\/p>\n<p>Fri Feb 12 15:54:05 2010<\/p>\n<p>alter tablespace sales offline temporary<\/p>\n<p>Fri Feb 12 15:55:32 2010<\/p>\n<p>alter tablespace sales offline immediate<br \/>\n[\/crayon]<br \/>\nThe following queries can be used to find transactions that are in read-only mode<br \/>\n[crayon]select s.username, s.sid, s.serial#, t.start_time, n.name<\/p>\n<p>from v$session s, v$transaction t, v$rollstat r, v$rollname n<\/p>\n<p>where s.saddr=t.ses_addr<\/p>\n<p>and r.usn=n.usn<\/p>\n<p>and to_date(t.start_time,&#8217;MM\/DD\/YY HH24:MI:Ss&#8217;)&lt;(sysdate-(1\/24));<br \/>\n[\/crayon]<\/p>\n<table style=\"height: 211px; width: 654px; border: 1px solid #000000;\" frame=\"border\" rules=\"all\" align=\"left\">\n<tbody>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">USERNAME<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">SID<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">SERIAL#<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">START_TIME<\/span><\/strong><\/td>\n<td><strong><span style=\"font-size: 10pt;\">NAME<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">141<\/span><\/td>\n<td>1949<\/td>\n<td>02\/12\/10 14:59:23<\/td>\n<td>SYSTEM<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">140<\/span><\/td>\n<td>251<\/td>\n<td>02\/12\/10 15:38:30<\/td>\n<td>SYSTEM<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">141<\/span><\/td>\n<td>1949<\/td>\n<td>02\/12\/10 14:59:23<\/td>\n<td>_SYSSMU11$<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">140<\/span><\/td>\n<td>251<\/td>\n<td>02\/12\/10 15:38:30<\/td>\n<td>_SYSSMU11$<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">141<\/span><\/td>\n<td>1949<\/td>\n<td>02\/12\/10 14:59:23<\/td>\n<td>_SYSSMU12$<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">140<\/span><\/td>\n<td>251<\/td>\n<td>02\/12\/10 15:38:30<\/td>\n<td>_SYSSMU12$<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">141<\/span><\/td>\n<td>1949<\/td>\n<td>02\/12\/10 14:59:23<\/td>\n<td>_SYSSMU13$<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">140<\/span><\/td>\n<td>251<\/td>\n<td>02\/12\/10 15:38:30<\/td>\n<td>_SYSSMU13$<\/td>\n<\/tr>\n<tr>\n<td><strong><span style=\"font-size: 10pt;\">SYS<\/span><\/strong><\/td>\n<td><span style=\"font-size: 10pt;\">141<\/span><\/td>\n<td>1949<\/td>\n<td>02\/12\/10 14:59:23<\/td>\n<td>_SYSSMU14$<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>[crayon]alter sytem kill session &#8216;SID_NO,SERIAL&#8217;;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]alter system kill session &#8216;141,1949&#8217;;<br \/>\n[\/crayon]<br \/>\nWhen the following code is run, all <em><strong>alter tablespace sales offline&#8230;<\/strong><\/em> queries will now appear as <em>alter tablespace altered<\/em>.<br \/>\n[crayon]alter tablespace sales online ; TS has been put online.<br \/>\n[\/crayon]<br \/>\n<em><strong>Note:<\/strong><\/em> It is recommended to set the <em>read_only_open_delayed<\/em> parameter, in databases that use large TSs, to true.<\/p>\n<p>This allows read-only TSs to be read before checking the datafiles while starting a database.<\/p>\n<p>&nbsp;<\/p>\n<p>\u2022 Datafiles, belonging to lost or faulty read-only TS, aren&#8217;t checked while the the database opens. They are read when first accessed.<\/p>\n<p>\u2022 <em>&#8220;Alter system check datafiles&#8221; &#8220;Alter tab &#8230; online&#8221; &#8220;Alter database datafile &#8230; online&#8221;, &#8220;alter database noarchivelog&#8221;<\/em> statements don&#8217;t control read-only datafiles.<\/p>\n<p>\u2022 <em>v$recover_file, v$backup, v$datafile_header, v$datafile<\/em> and <em>v$revover_log<\/em> cannot access read-only TSs.<\/p>\n<p>&nbsp;<\/p>\n<p>Note: Whatever data the &#8220;recover database&#8221;, &#8220;alter database open resetlogs&#8221; commands write to the initialization file, access to read-only datafiles will still remain. To prevent access to the datafiles, they should be taken offline.<\/p>\n<p>If there are backup control files in use, read-only datafiles could create issues so should be taken into consideration.<\/p>\n<p>&nbsp;<\/p>\n<h3>Adding a Datafile<\/h3>\n<p>[crayon]alter tablespace sales<\/p>\n<p>add datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales02.dbf&#8217; SIZE 10M;<br \/>\n[\/crayon]<br \/>\nAlternatively:<br \/>\n[crayon]alter tablespace satis<\/p>\n<p>add datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales02_tbs.dbf&#8217;<\/p>\n<p>size 10M<\/p>\n<p>autoextend ON<\/p>\n<p>next 10M<\/p>\n<p>maxsize 50M;<br \/>\n[\/crayon]<\/p>\n<h3>Renaming<\/h3>\n<p>Names of the Permanent TSs, where user data is stored, and Temporary TSs can be changed.<br \/>\n[crayon]alter tablespace sales rename to sales_2009;<br \/>\n[\/crayon]<br \/>\nThe DBMS is able to change the data dictionary control file and datafile headers, in the sales TS, but cannot change a TableSpace&#8217;s ID.<\/p>\n<p>In addition to the name that a user gives a tablespace, Oracle also assigns an ID. To change a tablespace&#8217;s name:<\/p>\n<p>\u2022 A database should be compatible with version 10 or above (initialization parameter compatible = 10.0 and above).<\/p>\n<p>\u2022 System and sysaux TS cannot be renamed (will produce a message error).<\/p>\n<p>\u2022 It isn&#8217;t possible to rename an offline TS or datafile (will produce a message error).<\/p>\n<p>\u2022 A read-only TS can be renamed, however the operation will enter various error messages into the alertlog file. Read write operations afterwards will be done using the new name.<br \/>\n[crayon]Tablespace &#8216;SALES&#8217; is renamed to &#8216;SALES_2009&#8217;.<\/p>\n<p>Tablespace name change is not propagated to file headersbecause the tablespace is read only.<\/p>\n<p>Starting control autobackup<\/p>\n<p>Wed Feb 17 16:29:33 2010<\/p>\n<p>Errors in file \/u01\/app\/oracle\/admin\/orcl\/udump\/orcl_ora_23691.trc:<\/p>\n<p>Wed Feb 17 16:29:33 2010<\/p>\n<p>Errors in file \/u01\/app\/oracle\/admin\/orcl\/udump\/orcl_ora_23691.trc:<\/p>\n<p>Wed Feb 17 16:29:33 2010<\/p>\n<p>Errors in file \/u01\/app\/oracle\/admin\/orcl\/udump\/orcl_ora_23691.trc:<br \/>\n[\/crayon]<br \/>\nAfter TS has been renamed using Undo, it also needs to be changed in the parameter file.<\/p>\n<p>&nbsp;<\/p>\n<h3>Drop<\/h3>\n<p>Users that have Drop TS privileges can drop (delete) unused TSs as well as contained objects. Care should be taken and a user should ensure that the objects in a TS won&#8217;t be needed before it is deleted. A full backup before and after a TS is deleted is strongly recommended.<\/p>\n<p>&nbsp;<\/p>\n<p>The syntax below deletes the TS, but the datafile will remain as an operating system file. If needed, the datafile can be deleted through operating system commands.<br \/>\n[crayon]drop tablespace sales_2009 including contents;<br \/>\n[\/crayon]<br \/>\nThe code below completely deletes a TableSpace.<br \/>\n[crayon]drop tablespace sales_2009 including contents and datafiles;<br \/>\n[\/crayon]<br \/>\nA TS containing an active segment, i.e. containing rollback or table undo data, cannot be deleted. It is strongly recommended taking a TS offline before deleting it.<\/p>\n<p>&nbsp;<\/p>\n<h3>Sysaux Tablespace<\/h3>\n<p>Introduced in 10G, a sysaux tablespace is a feature that supports a System TS. It contains data such as: Workspace Manager, Logical Standby, Oracle Streams and Automatic Workload Repository. The entire list can be viewed in v$sysaux_occupants.<\/p>\n<p>In situations where a sysaux can&#8217;t be accessed, if it is damaged for instance, a database can still carry out its main functions but will be limited to the activities that can be done outside of the sysaux tablespace contents.<\/p>\n<p>Sysaux components can be imported or exported to other TSs using PL\/SQL. This is especially useful for components such as the Automatic Workload Repository (AWR) which uses a lot of space.<\/p>\n<p>&nbsp;<\/p>\n<h3>DataFile Management<\/h3>\n<p>Oracle assigns 2 different numbers to a datafile, an <strong>Absolute File Number<\/strong> and a <strong>Relative File Number<\/strong>.<\/p>\n<p><strong>Absolute:<\/strong> An absolute datafile is assigned a unique number. This unique number can be used in SQL Syntax instead of a long datafile name. This information can be accessed in the file_id column in dba_data_files and dba_temp_files as well as the &#8220;file#&#8221; column in v$datafile and v$tempfile.<\/p>\n<p><strong>Relative:<\/strong> This is also a unique number. In small and medium-sized databases the absolute and relative numbers are the same, in large databases they need to be different.<\/p>\n<p>&nbsp;<\/p>\n<p>Before setting up Oracle, the amount of required TableSpaces and Datafiles should be calculated and the operating system should be configured accordingly. The reason for this is so that the restrictions due to an operating system may require the altering the settings of a database.<\/p>\n<p>In the spfile, used for initialization, the <strong>db_files<\/strong> parameter specifies the maximum number of datafiles. By default, this amount is 200 and the maximum is the amount that can be supported by the operating system. If the parameter value is changed the database would have to be restarted.<br \/>\n[crayon]show parameter db_files;<br \/>\n[\/crayon]<\/p>\n<h3>Adding a Datafile<\/h3>\n<p>The syntax below shows how to keep on increasing the size of a datafile to accomodate the growth of objects, to a maximum size of 100M.<br \/>\n[crayon]alter tablespace sales_2009<\/p>\n<p>add datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales03_tbs.dbf&#8217;<\/p>\n<p>autoextend on<\/p>\n<p>next 1M<\/p>\n<p>Maxsize 100M<br \/>\n[\/crayon]<br \/>\nCancelling the automatic datafile increase.<br \/>\n[crayon]alter database datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales03_tbs.dbf&#8217;<\/p>\n<p>autoextend off;<br \/>\n[\/crayon]<\/p>\n<h3>Changing the size<\/h3>\n<p>[crayon]alter database datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales03_tbs.dbf&#8217;<\/p>\n<p>resize 150M;<br \/>\n[\/crayon]<br \/>\nA datafile can be resized, according to the disksize and operating system, to a bigger amount or a smaller amount. However attempting to shrink the datafile below the amount used by data would give an error.<\/p>\n<p>&nbsp;<\/p>\n<h3>Modifying access to a datafile<\/h3>\n<p>Datafiles and tempfiles can be taken offline or put online individually, they can&#8217;t be accessed while in offline mode.<\/p>\n<p>This feature allows the following:<\/p>\n<p>\u2022 Backups to be made in an offline mode.<\/p>\n<p>\u2022 A datafile should first be made offline if it is to be renamed or moved to a different path.<\/p>\n<p>\u2022 If Oracle encounters a write problem, it takes the datafile offline in order to solve the issue.<\/p>\n<p>\u2022 If a datafile gets corrupted or becomes inaccessible by the system, it would be necessary to take it offline in order to start the instance.<\/p>\n<p>A datafile within a TS in Read_Only mode can also be taken offline or online, a Read-Only mode TS would have to be switched to a Read-Write mode for data to be written to a contained datafile.<\/p>\n<p>&nbsp;<\/p>\n<p>The following code takes all the datafiles within the sales_2009 TableSpace, offline.<br \/>\n[crayon]alter tablespace sales_2009 offline\/online;<br \/>\n[\/crayon]<\/p>\n<h3>Online\/Offline in ArchiveLog Mode<\/h3>\n<p>[crayon]alter database datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales03_tbs.dbf&#8217; online;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]alter database datafile &#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales03_tbs.dbf&#8217; offline;<br \/>\n[\/crayon]<br \/>\nBy being in ArchiveLog mode, the above method allows changing a datafle without having to make the all datafiles within a TS offline. In the worst case, the datafile would be lost.<\/p>\n<p>&nbsp;<\/p>\n<h3>Online\/Offline in NoArchiveLog Mode<\/h3>\n<p>Putting the database to NoarchiveLog Mode.<br \/>\n[crayon]Activating the database&#8217;s mount mode<\/p>\n<p>shutdown immediate;<\/p>\n<p>startup mount<\/p>\n<p>alter database noarchivelog; giving the command<\/p>\n<p>alter database open ; opening the database<\/p>\n<p>archive log list ; the code that shows that the archive log has been disabled<\/p>\n<p>Closed using shutdown immediate<\/p>\n<p>Opened using startup and checked to see if it&#8217;s in ArchiveLog Mode<\/p>\n<p>The database would appear to be remaining in NoArchiveLog in the list<br \/>\n[\/crayon]<br \/>\nThe <strong>Offline for drop<\/strong> parameter should be used for a database instance that isn&#8217;t in archive mode. A command to execute the drop transaction would be given once the database is taken offline.<br \/>\n[crayon]alter database datafile &#8216;u01\/app\/oracle\/oradata\/orcl\/satis03_tbs.dbf&#8217; offline for drop;<br \/>\n[\/crayon]<br \/>\nAlternatively:<br \/>\n[crayon]SQL> ALTER DATABASE DATAFILE &#8216;\/u01\/app\/oracle\/oradata\/orcl\/satis01_tbs.dbf&#8217; OFFLINE;<\/p>\n<p>ALTER DATABASE DATAFILE &#8216;\/u01\/app\/oracle\/oradata\/orcl\/satis01_tbs.dbf&#8217; OFFLINE<\/p>\n<p>*<br \/>\n[\/crayon]<\/p>\n<p>[crayon]ERROR at line 1:<\/p>\n<p>ORA-01145: offline immediate disallowed unless media recovery enabled<br \/>\n[\/crayon]<br \/>\nThis error is due to the database not being in recovery mode.<\/p>\n<p>&nbsp;<\/p>\n<h3>Renaming and changing the path<\/h3>\n<p>It&#8217;s necessary to take a full backup before the following operations.<br \/>\n[crayon]alter tablespace sales_2009 offline;<br \/>\n[\/crayon]<br \/>\nRename the file using the operating system.<br \/>\n[crayon]$mv \/u01\/app\/oracle\/oradata\/orcl\/sales01_tbs.dbfu01\/app\/oracle\/oradata\/orcl\/sales_200901_tbs.dbf<br \/>\n[\/crayon]<br \/>\nThe mv (move) command is widely used for renaming, in Linux operating systems.<br \/>\n[crayon]alter tablespace sales_2009<\/p>\n<p>rename datafile<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales01_tbs.dbf&#8217;<\/p>\n<p>to<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales_200901_tbs.dbf&#8217;<br \/>\n[\/crayon]<br \/>\nIt&#8217;s possible to change more than one datafile at the same time.<br \/>\n[crayon]alter tablespace sales_2009<\/p>\n<p>rename datafile<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales01_tbs.dbf&#8217;<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales02_tbs.dbf&#8217;<\/p>\n<p>to<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales_200901_tbs.dbf&#8217;<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales_200902_tbs.dbf&#8221;<br \/>\n[\/crayon]<br \/>\nIn situations where there may not be enough available disk space or where there are performance issues, a user would want to install a new disk and move all the datafiles there. Installing and mounting a new disk to a system is explained in the Linux section.<\/p>\n<p>&nbsp;<\/p>\n<p>It is recommended that the new disk is installed in a directory named salests within the <strong>\/u01\/app\/oracle\/oradata\/orcl\/<\/strong> folder and mounted there.<br \/>\n[crayon]alter tablespace sales_2009 offline;<br \/>\n[\/crayon]<br \/>\nThe code below moves the datafile to a new location in the operating system. To prevent any type of operating system error the datafile is first copied. If successfully copied the original copy is later deleted.<br \/>\n[crayon]cp \/u01\/app\/oracle\/oradata\/orcl\/sales_200901_tbs.dbf \/u01\/app\/oracle\/oradata\/orcl\/salests<br \/>\n[\/crayon]<\/p>\n<p>[crayon]ALTER TABLESPACE sales_2009<\/p>\n<p>RENAME DATAFILE<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/sales_200901_tbs.dbf&#8217;<\/p>\n<p>TO<\/p>\n<p>&#8216;\/u01\/app\/oracle\/oradata\/orcl\/salests\/sales_200901_tbs.dbf&#8217;<br \/>\n[\/crayon]<br \/>\nIt is also possible to simultaneuosly move more than one datafile.<br \/>\n[crayon]alter database sales_2009 online;<br \/>\n[\/crayon]<br \/>\nThis syntax makes the database accessible again.<\/p>\n<p>Any unused datafile, i.e. doesn&#8217;t contain extents can be deleted. (Requires a database to be in Open Mode)<br \/>\n[crayon]ALTER TABLESPACE sales_2009 DROP DATAFILE &#8216;\/u01\/app\/oracle\/oradata\/orcl\/salests\/sales_200902_tbs.dbf&#8217;;<br \/>\n[\/crayon]<br \/>\nData dictionaries containing control file data, used by sales_200902_tbs.dbf are deleted and so is the datafile in the operating system.<\/p>\n<p>&nbsp;<\/p>\n<p>Similarly the temp datafile can also be deleted.<br \/>\n[crayon]ALTER TABLESPACE developertemp DROP TEMPFILE &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217;;<br \/>\n[\/crayon]<\/p>\n<p>[crayon]ALTER DATABASE TEMPFILE &#8216;\/u01\/app\/oracle\/oradata\/orcl\/developertemp02.dbf&#8217; DROP INCLUDING DATAFILES;<br \/>\n[\/crayon]<br \/>\nThis code does the same operation, but differs in this way: If <strong>developertemp02.dbf<\/strong> was the last datafile in a temporary TableSpace the <strong>ALTER TABLESPACE<\/strong> line wouldn&#8217;t have carried out the operation.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>ALTER DATABASE<\/strong> would immediately have deleted the datafile, closing and reopening the datafile wouldn&#8217;t cause any issues, however there would be a Temporary TS without a datafile and the following error would be written to the alert file.<br \/>\n[crayon]WARNING: The following temporary tablespaces contain no files.<\/p>\n<p>This condition can occur when a backup controlfile has<\/p>\n<p>been restored. It may be necessary to add files to these<\/p>\n<p>tablespaces. That can be done using the SQL statement:<\/p>\n<p>&nbsp;<\/p>\n<p>ALTER TABLESPACE &lt;tablespace_name> ADD TEMPFILE<br \/>\n[\/crayon]<br \/>\nAlternatively, if these temporary tablespaces are no longer<\/p>\n<p>needed, then they can be dropped.<\/p>\n<p>Empty temporary tablespace: DEVELOPERTEMP<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Data, in Oracle, is logically stored in tablespaces and physically stored in datafiles. The illustration below shows the file and logical structures according to the operating system.<\/p>\n","protected":false},"author":1,"featured_media":2595,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[383,338],"tags":[345],"class_list":["post-2594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dba_i","category-oracle-tr","tag-oracle"],"_links":{"self":[{"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/posts\/2594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/comments?post=2594"}],"version-history":[{"count":1,"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/posts\/2594\/revisions"}],"predecessor-version":[{"id":4825,"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/posts\/2594\/revisions\/4825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sysdba.org\/en\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/media?parent=2594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/categories?post=2594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysdba.org\/en\/wp-json\/wp\/v2\/tags?post=2594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}