
正文
oracle10g表空间 oracle表空间大小是由什么决定
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
电脑装了ORACLE 10G数据库,怎样在里面创建名为TRIS的表空间?
用sys用户登陆pl/sql 点击(FileNewCommand Window)执行
create tablespace tris datafile 'e:\oradata\xxx.dbf' size 表空间大小(M) autoextend on next 10M maxsize unlimited extent management local;
'e:\oradata\xxx.dbf' 表空间数据的存放地址和文件名称
autoextend on next 10M 不够用时,自动增长10M
maxsize unlimited 最大增加无限制
相关问答
Q1: 如何在oracle10G中创建表空间
语法:
CREATE [UNDO] TABLESPACE tablespace_name
[DATAFILE datefile_spec1 [,datefile_spec2] ......
[{MININUM EXTENT integer [k|m]
|BLOCKSIZE integer [k]
|logging clause | FORCE LOGGING
|DEFAULT {data_segment_compression} storage_clause
|[online|offline]
|[PERMANENT|TEMPORARY]
|extent_manager_clause
|segment_manager_clause}]
说明:
1、undo
说明系统将创建一个回滚表空间。
在9i中数据库管理员可以不必管理回滚段,只有建立了undo表空间,系统就会自动管理回滚段的分配,回收的工作。
当然,也可以创建一般的表空间,在上面创建回滚段.不过对于用户来说,系统管理比自己管理要好很多.
如果需要自己管理,请参见回滚段管理的命令详解.
当没有为系统指定回滚表空间时,系统将使用system系统回滚段来进行事务管理。
2、tablespace_name
指出表空间的名称。
3、datafile datefile_spec1
指出表空间包含什么空间文件。
datefile_spec1是形如:[ 'filename' ] [SIZE integer [ K | M ]] [REUSE] [autoextend_clause]
[autoextend_clause]是形如:AUTOEXTEND { OFF | ON [ NEXT integer [ K | M ] ] [maxsize_clause] }
其中filename是数据文件的路径名,可以是相对路径,也可以是绝对路径。
size是文件的大小,
REUSE表示文件是否被重用.
AUTOEXTEND表明是否自动扩展.
OFF | ON 表示自动扩展是否被关闭.
NEXT 表示数据文件满了以后,扩展的大小.
maxsize_clause表示数据文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K | M ] }.
UNLIMITED 表示无限的表空间.
integer是数据文件的最大大小.
DATAFILE 'D:"oracle"oradata"IMAGEDATA01.dbf' SIZE 2000M,
'D:"oracle"oradata"IMAGEDATA02.dbf' SIZE 2000M
4、MININUM EXTENT integer [k|m]
指出在表空间中范围的最小值。这个参数可以减小空间碎片,保证在表空间的范围是这个数值的整数倍。
5、BLOCKSIZE integer [k]
这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,
至少一个db_nk_block_size,并且声明的integer的值必须等于db_nk_block_size.
注意:在临时表空间不能设置这个参数。
6、logging clause
这个子句声明这个表空间上所有的用户对象的日志属性(缺省是logging),
包括表,索引,分区,物化视图,物化视图上的索引,分区。
7、FORCE LOGGING
使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。
这个参数高于对象的nologging选项。
注意:设置这个参数数据库不行open并且出于读写模式。而且,在临时表空间和回滚表空间中不能使用这个选项。
8、DEFAULT storage_clause
声明缺省的存储子句。
9、online|offline
改变表空间的状态。online使表空间创建后立即有效.这是缺省值.
offline使表空间创建后无效.这个值,可以从dba_tablespace中得到。
10、PERMANENT|TEMPORARY
指出表空间的属性,是永久表空间还是临时表空间。
永久表空间存放的是永久对象,临时表空间存放的是session生命期中存在的临时对象。
这个参数生成的临时表空间创建后一直都是字典管理,不能使用extent management local选项。
如果要创建本地管理表空间,必须使用create temporary tablespace
注意,声明了这个参数后,不能声明block size
11、extent_management_clause
这是最重要的子句,说明了表空间如何管理范围。一旦你声明了这个子句,只能通过移植的方式改变这些参数。
如果希望表空间本地管理的话,声明local选项。本地管理表空间是通过位图管理的。
autoallocate说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。
uniform说明表空间的范围的固定大小,缺省是1m。
不能将本地管理的数据库的system表空间设置成字典管理。
oracle公司推荐使用本地管理表空间。
如果没有设置extent_management_clause,oracle会给他设置一个默认值。
如果初始化参数compatible小于9.0.0,那么系统创建字典管理表空间。
如果大于9.0.0,那么按照如下设置:
如果没有指定 default storage_clause,oracle创建一个自动分配的本地管理表空间。
否则,
如果指定了mininum extent,那么oracle判断mininum extent 、initial、next是否相等,以及pctincrease是否=0.
如果满足以上的条件,oracle创建一个本地管理表空间,extent size是initial.
如果不满足以上条件,那么oracle将创建一个自动分配的本地管理表空间。
如果没有指定mininum extent。initial、那么oracle判断next是否相等,以及pctincrease是否=0。
如果满足oracle创建一个本地管理表空间并指定uniform。否则oracle将创建一个自动分配的本地管理表空间。
注意:本地管理表空间只能存储永久对象。
如果你声明了local,将不能声明 default storage_clause,mininum extent、temporary.
EXTENT MANAGEMENT LOCAL
12、segment_management_clause
段空间管理的方式,自动或者手动:
SEGMENT SPACE MANAGEMENT {AUTO|MANUAL}
Q2: 关于Oracle10g跨平台传输表空间
准备工作: 查询源数据库平台信息SQL col platform_name for a SQL SELECT d PLATFORM_NAME ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp V$DATABASE d WHERE tp PLATFORM_NAME = d PLATFORM_NAME;PLATFORM_NAME ENDIAN_FORMAT Solaris[tm] OE ( bit) Big查询目标数据库平台信息SQL col platform_name for a SQL SELECT d PLATFORM_NAME ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp V$DATABASE d WHERE tp PLATFORM_NAME = d PLATFORM_NAME;PLATFORM_NAME ENDIAN_FORMAT Microsoft Windows IA ( bit) Little查询Oracle g支持的平台转换代码: SQL select * from v$transportable_platform;PLATFORM_ID PLATFORM_NAMEENDIAN_FORMAT Solaris[tm] OE ( bit) Big Solaris[tm] OE ( bit) Big Microsoft Windows IA ( bit)Little Linux IA ( bit)Little AIX Based Systems ( bit) Big HP UX ( bit) Big HP Tru UNIXLittle HP UX IA ( bit)Big Linux IA ( bit)Little HP Open VMS Little Microsoft Windows IA ( bit)LittlePLATFORM_ID PLATFORM_NAMEENDIAN_FORMAT IBM zSeries Based Linux Big Linux bit for AMD Little Apple Mac OS Big Microsoft Windows bit for AMD Little 创建一个独立的自包含表空间 用于测试 代码: $ sqlplus / as sysdba SQL*Plus: Release Production on Tue Apr : : Copyright (c) Oracle All rights reserved Connected to:Oracle Database g Enterprise Edition Release bit ProductionWith the Partitioning OLAP and Data Mining optionsSQL select name from v$datafile;NAME /opt/oracle/oradata/eygle/system dbf/opt/oracle/oradata/eygle/undotbs dbf/opt/oracle/oradata/eygle/sysaux dbf/opt/oracle/oradata/eygle/users dbf/data /oradata/systemfile/eygle dbf/opt/oracle/oradata/eygle/EYGLE/datafile/o _mf_test_ xv ny_ dbf/opt/oracle/oradata/eygle/EYGLE/datafile/o _mf_itpub_ xv g _ dbf rows selected SQL create tablespace trans datafile /data /oradata/systemfile/trans dbf size M;Tablespace created SQL create user trans identified by trans default tablespace trans;User created SQL grant connect resource to trans;Grant succeeded SQL connect trans/transConnected SQL create table test as select * from user_objects;Table created SQL select count(*) from test; COUNT(*) SQL select * from test;OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED LAST_DDL_TIM TIMESTAMP STATUS T G S TEST TABLE APR APR : : : VALID N N NSQL exitDisconnected from Oracle Database g Enterprise Edition Release bit ProductionWith the Partitioning OLAP and Dat 导出要传输的表空间 $ pwd/opt/oracle$ cd dpdata$ ls$ expdp eygle/eygle dumpfile=trans dmp directory=dpdata transport_tablespace=transLRM : unknown parameter name transport_tablespace $ expdp eygle/eygle dumpfile=trans dmp directory=dpdata TRANSPORT_TABLESPACES=transExport: Release bit Production on Tuesday April : Copyright (c) Oracle All rights reserved Connected to: Oracle Database g Enterprise Edition Release bit ProductionWith the Partitioning OLAP and Data Mining optionsStarting EYGLE SYS_EXPORT_TRANSPORTABLE_ : eygle/******** dumpfile=trans dmp directory=dpdata TRANSPORT_TABLESPACES=trans ORA : Data Pump transportable tablespace job abortedORA : tablespace TRANS is not read onlyJob EYGLE SYS_EXPORT_TRANSPORTABLE_ stopped due to fatal error at : 注意:传输表空间必须置为只读状态$ sqlplus / as sysdba SQL*Plus: Release Production on Tue Apr : : Copyright (c) Oracle All rights reserved Connected to:Oracle Database g Enterprise Edition Release bit ProductionWith the Partitioning OLAP and Data Mining optionsSQL alter tablespace trans read only;Tablespace altered SQL exitDisconnected from Oracle Database g Enterprise Edition Release bit ProductionWith the Partitioning OLAP and Data Mining options$ expdp eygle/eygle dumpfile=trans dmp directory=dpdata TRANSPORT_TABLESPACES=transExport: Release bit Production on Tuesday April : Copyright (c) Oracle All rights reserved Connected to: Oracle Database g Enterprise Edition Release bit ProductionWith the Partitioning OLAP and Data Mining optionsStarting EYGLE SYS_EXPORT_TRANSPORTABLE_ : eygle/******** dumpfile=trans dmp directory=dpdata TRANSPORT_TABLESPACES=trans Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLKProcessing object type TRANSPORTABLE_EXPORT/TABLEProcessing object type TRANSPORTABLE_EXPORT/TTE_POSTINST/PLUGTS_BLKMaster table EYGLE SYS_EXPORT_TRANSPORTABLE_ successfully loaded/unloaded******************************************************************************Dump file set for EYGLE SYS_EXPORT_TRANSPORTABLE_ is:/opt/oracle/dpdata/trans dmpJob EYGLE SYS_EXPORT_TRANSPORTABLE_ successfully pleted at : 使用rman转换文件格式 $ rman target /Recovery Manager: Release bit ProductionCopyright (c) Oracle All rights reserved connected to target database: EYGLE (DBID= )RMAN convert tablespace trans to platform Microsoft Windows IA ( bit) lishixinzhi/Article/program/Oracle/201311/17022
Q3: Oracle 10g表空间的概念、目的和意义
概念:表空间实质是组织数据文件的一种途径,Oracle就是通过表空间这个数据库对象完成对数据的组织的。在将数据插入Oracle数据库之前,必须首先建立表空间,然后将数据插入表空间的一个对象中。解释数据库、表空间、数据文件、表、数据的最好办法就是想象一个装满东西的柜子。数据库其实就是柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据。目的和意义:方便管理,就像每个城市会划分成很多区,每个区又有很多街道一样目的和意义具体体现在他的用途上:-目录表空间
每个数据库只有一个目录表空间,它是在发出 CREATE DATABASE 命令时创建的。目录表空间被 DB2 命名为 SYSCATSPACE,它保存了系统目录表。总是在创建数据库时创建该表空间。-常规表空间
常规表空间保存表数据和索引。它还可以保存诸如大对象(Large Object,LOB)之类的长数据,除非这些数据显式地存储在长表空间中。如果某些表空间是数据库管理的空间(Database Managed Space,DMS),则可以将表及其索引分别放到单独的常规表空间中。我们将在本文后面定义 DMS 和系统管理的空间(System Managed Space,SMS)之间的区别。每个数据库中必须至少有一个常规表空间。创建数据库时指定该表空间的缺省名为 USERSPACE1。-长表空间
长表空间用于存储长型或 LOB 表列,它们必须驻留在 DMS 表空间中。它们还可以存储结构化类型的列或索引数据。如果没有定义长表空间,那么将把 LOB 存储在常规表空间中。长表空间是可选的,缺省情况下一个都不创建。-系统临时表空间
系统临时表空间用于存储 SQL 操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。每个数据库必须至少有一个系统临时表空间。随数据库创建的系统临时表空间的缺省名为TEMPSPACE1。-用户临时表空间
用户临时表空间存储已声明的全局临时表。创建数据库时不存在用户临时表空间。至少应当创建一个用户临时表空间以允许定义已声明的临时表。用户临时表空间是可选的,缺省情况下一个都不创建。
Q4: oracle10gR2建库后,users表空间是默认新建的吗
新建一个Command Window 在提示符下输入一下命令,回车执行就可以了
create tablespace dbspace datafile 'D:\oracle\product\10.2.0\oradata\orcl\dbspace.dbf' size 400M autoextend on next 10m maxsize unlimited;--创建表空间
DROP TABLESPACE dbspace INCLUDING CONTENTS AND DATAFILES;--删除表空间
其中
1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为200M
3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为
下列命令用于为表空间建立用户,将用户的默认表空间设置为刚建立的表空间
create user test1 identified by test1 default tablespace dbspace;
alter database default tablespace dbspace;
create user test identified by test;
select username, default_tablespace defspace from dba_users where username='TEST';
Q5: oracle 10g如何移动系统表空间
1.单表转移表空间
场景:有表user存放在表空间oldspace下,需把表user移动到表空间new_space下
执行语句:
alter table user move tablespace new_space;
commit;
2.用户scott下的所有表都转移至表空间new_space下
select 'alter table'||table_name||'move tablespace new_space;commit;'
from user_tables where owner='scott'
但是表user被移动到表空间new_space后,表user上的索引是不是自动转移到表空间new_space
3.索引转移表空间,例如,user表上的索引idx_user
alter index idx_user rebuild tablespace new_space
4.用户scott下的所有索引都转移至表空间new_space下
select 'alter index'||index_name||'rebuild tablespace new_space;commit;'
from user_indexs where owner='scott'
关于oracle10g表空间和oracle表空间大小是由什么决定的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






