当前位置:操作系统 > Unix/Linux >>

[每日一题]11gOCP 1z0-052 :2013-09-20 BIGFILE | SMALLFILE TABLESPACE

[每日一题]11gOCP 1z0-052 :2013-09-20 BIGFILE | SMALLFILE TABLESPACE

 
正确答案:AC
  
创建表空间语法,自来官方文档:
 
 
   其中SMALLFILE是Oracle 10g新增的特性。从Oracle 10g开始,Oracle推出了大文件表空间BIGFILE TABLESPACE,简称BFT,相对地也有了小文件表空间SMALL TABLESPACE ,简称SFT。
BIGFILE| SMALLFILE
Use this clause to determine whether the tablespace is a bigfileor smallfile tablespace. This clause overrides any default tablespace typesetting for the database.
·        A bigfiletablespace containsonly one datafile or tempfile, which can contain up to approximately 4 billion(232) blocks. The maximum size of the single datafile or tempfile is128 terabytes (TB) for a tablespace with 32K blocks and 32TB for a tablespacewith 8K blocks.
·        A smallfiletablespace is atraditional Oracle tablespace, which can contain 1022 datafiles or tempfiles,each of which can contain up to approximately 4 million (222)blocks.
If you omit this clause,then Oracle Database uses the current default tablespace type of permanent ortemporary tablespace set for the database. If you specify BIGFILE for a permanent tablespace, then the database by default creates alocally managed tablespace with automatic segment-space management.
  大文件表空间只能包含一个文件,但是这个文件最大可以达到4GB个数据块大小,按照Oracle通常支持的不同数据块大小(2k/4k/8k/16k/32k),最小的大文件表空间单个文件大小可达8TB,最大可以达到128TB, 当然具体单个文件能够达到的大小还受到OS的限制。
 
  数据库默认的表空间类型是SFT,如下查询可知,所以默认创建的表空间都是小文件表空间。
[html] 
gyj@OCM> COL PROPERTY_VALUE FOR A20  
gyj@OCM> COL DESCRIPTION FOR A50  
gyj@OCM> select * from database_properties where property_name='DEFAULT_TBS_TYPE';  
  
PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION  
------------------------------ -------------------- --------------------------------------------------  
DEFAULT_TBS_TYPE               SMALLFILE            Default tablespace type  
 
   我们也可以把数据库默认表空间类型SFT改为BFT,操作命令如下:
[html] 
 gyj@OCM> alter database set default bigfile tablespace;  
  
Database altered.  
  
gyj@OCM> select * from database_properties where property_name='DEFAULT_TBS_TYPE';  
  
PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION  
------------------------------ -------------------- --------------------------------------------------  
DEFAULT_TBS_TYPE               BIGFILE              Default tablespace type  
 
  但是通常不建议修改这个属性,可以通过如下命令修改表空间属性为默认值:
[html] 
gyj@OCM> alter database set default smallfile tablespace;  
  
Database altered.  
  
gyj@OCM> select * from database_properties where property_name='DEFAULT_TBS_TYPE';  
  
PROPERTY_NAME                  PROPERTY_VALUE       DESCRIPTION  
------------------------------ -------------------- --------------------------------------------------  
DEFAULT_TBS_TYPE               SMALLFILE            Default tablespace type  
 
   如果在缺省默认设置下要创建BIGFILE类型的表空间,就需要指定一个新的参数BIGFILE,其他和原有创建表空间语法类似。如上题所示,创建表空间MRKT。
 
[html] 
gyj@OCM> CREATE BIGFILE TABLESPACE MRKT  
  2  DATAFILE '/u01/app/oracle/oradata/ocm/mrkt01.dbf' size 10M LOGGING  
  3   EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;  
  
Tablespace created.  
 
   通过视图dba_tablespaces视图,可以查看表空间属性,这个视图中新增中了一个字段bigfile用于标识一个表空间是否属于bigfile表空间。
[html] 
gyj@OCM> select tablespace_name,bigfile from dba_tablespaces;  
  
TABLESPACE_NAME                BIG  
------------------------------ ---  
SYSTEM                         NO  
SYSAUX                         NO  
UNDOTBS1                       NO  
TEMP                           NO  
USERS                          NO  
EXAMPLE                        NO  
GYJ                            NO  
TP1                            NO  
MRKT                           YES  
  
9 rows selected.  
 
  由于大文件表空间只能包含一个数据文件,所以相对文件号被设为1024:
[html] 
gyj@OCM> col file_name for a50  
gyj@OCM> select file_name,file_id,relative_fno from dba_data_files;  
  
FILE_NAME                                             FILE_ID RELATIVE_FNO  
-------------------------------------------------- ---------- ------------  
/u01/app/oracle/oradata/ocm/users01.dbf                     4            4  
/u01/app/oracle/oradata/ocm/undotbs01.dbf                   3            3  
/u01/app/oracle/oradata/ocm/sysaux01.dbf                    2            2  
/u01/app/oracle/oradata/ocm/system01.dbf                    1            1  
/u01/app/oracle/oradata/ocm/example01.dbf                   5            5  
/u01/app/oracle/oradata/ocm/gyj01.dbf                       6            6 &n
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,