如何创建ORACLE大文件表空间

SQL>CREATE BIGFILE TABLESPACE 表名
datafile ‘d:\ndo\ddo\表名.DBF‘
SIZE 500M AUTOEXTEND ON;

SQL>Create Bigfile tablespace  bf_images_xp
datafile ‘e:\datacenter\bf\bf_images_xp.dbf‘  size 500M Autoextend on;
//说明如下:
//创建一个大表空间,名称为:bf_images_xp,数据文件为e:\datacenter\bf\bf_images_xp.dbf
//初始化大小为500M,且文件自动增长

SQL>create bigfile tablespace bf_v_xp
datafile ‘e:\datacenter\bf\bf_v_xp.dbf‘  size 500M  autoextend on;
 
 
其中BIGFILE表示创建 的表空间是大文件表空间,
DATAFILE指定组成大文件表空间的大文件(上海硬盘数据恢复文件),
SIZE表示大文件的初始大小:
AUTOEXTED ON表示允许大文件自动扩张!
网友资料:供参考!
 
发现表空间文件容量与DB_BLOCK_SIZE有关,
在初始建库时,DB_BLOCK_SIZE要根据实际需要,
设置为4K,8K、16K、32K、64K等几种大小,
ORACLE的物理文件最大只允许4194304个块(由操作系统决定),
smallfile tablespace表空间文件的最大值为 4194304×DB_BLOCK_SIZE/1024M。
即:
4k最大表空间为:16384M=16G
8K最大表空间为:32768M=32G
16k最大表空间为:65536M=64G
32K最大表空间为:131072M=128G
64k最大表空间为:262144M=256G
//---------------------------------------------------------------------
oracle bigfile tablespace 大文件表空间 ----------------------------
Oracle 10g 新增的表空间类型:大文件 (Bigfile) 表空间。      
大文件表空间从某种角度来说提高了 Oracle 在 VLDB 上的管理能力。 
只有自动段空间管理的 LMT (Locally Managed Tablespaces ) 支持 BIGFILE 表空间。 
大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。
(以下用 BFT 指代 BIGFILE Tablespace。BFT 可以和以下存储技术结合使用:
自动存储管理(ASM)   LVM   OMF   
理论上的 BFT 可以达到下面所列的值:     
数据块大小(单位:K) BFT 最大值(单位:T)   
2k 8T   
4k 16T   
8k 32T   
16k 64T   
32k 128T     
在实际环境中,这还受到操作系统的文件系统的限制。      

BFT基本操作      
10g 数据库在创建的时候,会指定默认的表空间类型。
如果不特殊指定的话,默认为 SMALLFILE 类型的表空间。      
SQL> SELECT * FROM database_properties WHERE property_name = ‘DEFAULT_TBS_TYPE‘; 
这种情况下,如果我们创建表空间的时候不指定类型,那么默认创建的都是 SMALLFILE 类型的表空间。

修改数据库默认的表空间类型
可以通过 ALTER DATABASE 命令来修改数据库默认的表空间类型:      
SQL> ALTER DATABASE SET DEFAULT bigfile TABLESPACE;  
Database altered.      
SQL> SELECT *  FROM database_properties WHERE property_name = ‘DEFAULT_TBS_TYPE‘;      
SQL>   
SQL> ALTER DATABASE SET DEFAULT smallfile TABLESPACE;      
创建 BIGFILE 类型的表空间,只需指定额外的一个参数 BIGFILE 即可,
其他和原有创建表空间语法类似:      
CREATE BIGFILE TABLESPACE bftbs  DATAFILE ‘/u01/app/oracle/oradata/DEMO/bftbs01.dbf‘ SIZE 5M;  
DBA_TABLESPACES (USER_TABLESPACES)与 V$TABLESPACE 这两个视图可以查看 BIGFILE 表空间的相关信息。
先看看 DBA_TABLESPACES 在 10g 中有了什么变化:      
SQL> desc DBA_TABLESPACES    
    
SQL>      
和 9i 相比,
 DBA_TABLESPACES 视图多了两列:RETENTION 和 BIGFILE。
其中 BIGFILE 列说明该表空间是否为 BFT:      
SQL> SELECT tablespace_name, bigfile FROM dba_tablespaces; 
8 rows selected.      V$TABLESPACE 视图相对 9i 也增加了新的列:  

SQL> desc V$TABLESPACE   Name
其中 FlASHBACK_ON 和 BIGFILE 列都是新增的。      

BFT 属性      
BFT有一些特有的属性。      
1.每个表空间只能包含一个数据文件。如果试图添加新的文件,则会报告 ORA-32771 错误:      
SQL> ALTER TABLESPACE bftbs  
ADD DATAFILE ‘/u01/app/oracle/oradata/DEMO/bftbs02.dbf‘ SIZE 5M;   
ALTER TABLESPACE bftbs   *   ERROR at line 1:   
ORA-32771: cannot add file to bigfile tablespace      

2.只有自动段空间管理的 LMT (locally managed tablespaces ) 支持 BFT      
SQL> CREATE BIGFILE TABLESPACE bftbs02   
DATAFILE ‘/u01/app/oracle/oradata/DEMO/bftbs02.dbf‘ SIZE 5M   
EXTENT MANAGEMENT DICTIONARY;   
CREATE BIGFILE TABLESPACE bftbs02   *   ERROR at line 1:   
ORA-12913: Cannot create dictionary managed tablespace      

SQL> CREATE BIGFILE TABLESPACE bftbs02   
DATAFILE ‘/u01/app/oracle/oradata/DEMO/bftbs02.dbf‘ SIZE 5M  
SEGMENT SPACE MANAGEMENT MANUAL;   
CREATE BIGFILE TABLESPACE bftbs02   *   ERROR at line 1:   
ORA-32772: BIGFILE is invalid option for this type of tablespace      

3.相对文件号(RELATIVE_FNO)为1024 ( 4096 on OS/390)      
因为BFT只有一个数据文件,所以其相对文件号也是固定的:1024      
SQL> SELECT tablespace_name, file_id, relative_fno   
  FROM dba_data_files;      
SQL>      

4.rowid的变化      
在 BFT 上存储的表的 ROWID 与 smallfile 表空间上的 rowid 结构有些不同的。
要正确得到 rowid 信息,dbms_rowid 包增加了一个新的参数 ts_type_in 来解决这个问题。
参考这个范例:      
SQL> SELECT DBMS_ROWID.rowid_block_number (ROWID, ‘BIGFILE‘)   
  FROM foo; 
24      
SQL>      
你可以创建多大的表空间?      
我们在前面提及,BFT 还受到操作系统的文件系统的限制。
下面我们以 Linux 操作系统为例:      
SQL> SHOW parameters db_block_size     
  
db_block_size  integer   8192   
SQL>      
也就是说,理论上我们可以创建最大 32T

原文地址:https://www.cnblogs.com/liutoliu/p/11818640.html

时间: 2024-10-02 21:36:27

如何创建ORACLE大文件表空间的相关文章

oracle创建大文件表空间

大文件表空间是oracle10g以及以后的版本引进的一个新表空间类型,主要用于决解存储大文件不够的问题.与普通表空间不同的是,大文件表空间只能对应唯一一个数据文件或临时文件,而普通表空间则可以最多对应1022个数据文件或临时文件. 虽然大文件表空间只能对应一个数据文件或临时文件,但其对应的文件可达4G数据块大小,而普通表空间对应的文件最大可达4M个数据块大小. 创建大文件表空间 创建大文件表空间需要使用bigfile关键字,而且只能为其指定一个数据文件或临时文件. 与大文件表空间相对应,普通表空

Oracle bigfile 大文件表空间

Database 是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成.表空间内的逻辑存储单位为段(segment),段又可以继续划分为数据扩展(extent).而数据扩展是由一组连续的数据块(datablock)构成. 大文件表空间 在Oracle中用户可以创建大文件表空间(bigfile tablespace).这样Oracle数据库使用的表空间(tablespace)可以由一个单一的大文件构成,而不是若干个小数据文件.这使Oracle可以发挥64位系统的能力,创建.管理超大

创建oracle数据库的表空间、用户、目录、导入\导出文件等信息

1.创建表空间 create tablespace ts_aw logging datafile 'd:\app\Administrator\product\tablespace\ts_aw.dbf' size 10M autoextend on next 5M maxsize 20480M; 2.创建用户 create user hb identified by hb default tablespace ts_aw; 3.给用户授权限 grant connect,resource,dba t

Oracle学习历程--创建用户,分配表空间

记录下学习Oracle12c的过程中的点点滴滴. Oracle12c新特性:http://www.cnblogs.com/kerrycode/p/3386917.html --创建临时表空间CREATE TEMPORARY TABLESPACE ADMIN_TEMPTEMPFILE '文件的绝对路径'//如:'J:\software\myOracle\oradata\orcl\TEMP.DBF'SIZE 50MAUTOEXTEND ONNEXT 50 MAXSIZE 100MEXTENT MAN

Oracle导出导入表空间创建

//备份数据库前的sqlplus命令创建数据库dmp存入目录 sqlplus /nolog conn /as sysdba SQL> create or replace directory expdir as 'E:/Kxdb'; 目录已创建. cmd: // 导出数据库 expdp EMMS/EMMS123 directory=expdir dumpfile=EMMS2.dmp logfile=EMMS2.log // 导入dmp impdp EMMS/EMMS123 directory=ex

Oracle 创建表空间、临时表空间、创建用户并指定表空间、授权,删除用户及表空间

/* 说明:若已经存在相应的用户和表空间,则需要先删除相应的用户和表空间 然后再全部重新建立 */ --删除用户 drop user USERNAME cascade; --删除表空间 drop tablespace DATA_TEMP including contents and datafiles; drop tablespace DATA including contents and datafiles; --创建临时表空间 create temporary tablespace DATA

创建不同类型的表空间

一.创建索引表空间: 指令: create tablespace orcl_index datafile 'D:\app\Administrator\oradata\orclyg\index\orcl_index.dbf' size 50M extent management local uniform size 1M 设置索引表空间对应的数据文件大小为50M,但是在初始化表空间时表空间大小为1M,随着extent的扩展逐渐增加表空间的大小. 查询表空间信息: select tablespace

oracle用户与表空间操作

oracle系统用户sys,system , sysman, scott 使用system用户登录[username/password][@server][as sysdba|sysoper]eg: system/123456 @orcl as sysdba 查看当前登录用户:show user 查看数据字典中的用户select username from dba_users; 启用禁用scott账户:alter user scott account unlock;alter user scot

Oracle数据库增加表空间

扩展表空间大小语句 1.给表空间添加一个数据文件: dba_data_files ALTER TABLESPACE users ADD DATAFILE '/u02/oracle/rbdb1/users03.dbf' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 250M; 2.调整数据文件的大小: ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf' RESIZE 100M; 3.启用或禁用数据文件的