Oracle数据库--入门学习--表空间tablespace详解
来源:互联网 发布:在线编程测试平台 编辑:程序博客网 时间:2024/06/11 22:14
SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。
Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。
可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。
Oracle数据库中表空间的处理方式
在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。
第一步:建立Oracle用户表空间。在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
第二步:建立Oracle用户表空间,并制定用户的默认表空间。在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。
另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。
一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
用户属于数据库实例的,在一个实例下不能同名用户。但在一oracle服务器,可以创建多个实例,只要你的机器配置够用就可以。因为一个实例启动起码需要100多兆内存的。所以在一oracle服务器上可以存在多个同名用户,他们是属于不同数据库实例,他们对应使用的表空间在不同的实例上。
Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。
可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。
Oracle数据库中表空间的处理方式
在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。
第一步:建立Oracle用户表空间。在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
第二步:建立Oracle用户表空间,并制定用户的默认表空间。在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。
另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。
一个用户可以使用一个或多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系,表空是一个用来管理数据存储逻辑概念,表空间只是和数据文件发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
用户属于数据库实例的,在一个实例下不能同名用户。但在一oracle服务器,可以创建多个实例,只要你的机器配置够用就可以。因为一个实例启动起码需要100多兆内存的。所以在一oracle服务器上可以存在多个同名用户,他们是属于不同数据库实例,他们对应使用的表空间在不同的实例上。
笔者数据库版本(oracle 10g)
下面是操作表空间的完整sql语句,部分文件名和路径需要读者自行更改,特此声明!
/*创建表空间datafile--数据文件/tempfile--临时文件autoextend--自动延伸 : on--开启/off--关闭permanent--永久的表空间/temporary--暂时的表空间logging--在表空间中设置表、索引和切割区的记录属性/nologging--在表空间中不设置记录属性,即不会产生Undo和Redo记录文件online--可以使用 /offline--不可以使用*/create tablespace jdbc_orc2 datafile'C:\oracle\product\10.1.0\oradata\niit\java_db03.dbf' size 100mautoextend on next 100m maxsize 2048mdefault storage (initial 10m next 1m)permanent online logging;/* 修改表空间记录属性--alter*/alter tablespace jdbc_orcl nologging;alter tablespace jdbc_orcl logging;/* 添加数据文件--add datafile建立表空间时如果约束了表空间的大小,那么可能一段时间后表空间会被装满,这时需要给表空间添加数据文件--add datafilemaxsize unlimited:最大空间不受限制*/alter tablespace jdbc_orcl add datafile'C:\oracle\product\10.1.0\oradata\niit\java_db02.dbf' size 100m reuseautoextend on next 100m maxsize unlimited;/* 删除表空间--drop 删除表空间但是不删除数据文件*/drop tablespace jdbc_orcl;/* 删除表空间以及数据文件*/drop tablespace jdbc_orc2 including contents and datafiles;/* 在表空间内创建表 如果建表之时不指定表空间,则建在默认表空间内(users)*/create table tb_test3(t_id varchar(2),t_name varchar(10))tablespace jdbc_orc2;
0 0
- Oracle数据库--入门学习--表空间tablespace详解
- Oracle 数据库表空间(tablespace)的管理
- Oracle表空间(Tablespace)
- 【oracle】表空间 tablespace
- Oracle create tablespace 创建表空间语法详解
- Oracle create tablespace 创建表空间语法详解
- Oracle create tablespace 创建表空间语法详解
- Oracle create tablespace 创建表空间语法详解
- Oracle删除表空间tablespace
- ORACLE DBA学习笔记--表空间的管理(tablespace)
- oracle tablespace&datafile -- oracle表空间
- orale tablespace&datafile -- oracle表空间
- oracle表空间操作 CREATE TABLESPACE命令
- orale tablespace&datafile -- oracle表空间
- oracle表空间操作 & CREATE TABLESPACE命令
- Oracle Bigfile Tablespace大文件表空间
- Oracle表空间(Tablespace) (转fw0124)
- Oracle Read-only Tablespace(只读表空间)
- 【位操作】Bitwise AND of Numbers Range
- andriod移动开发
- 关于手机推送
- java 标志一个方法为过时方法
- 作业 4.17
- Oracle数据库--入门学习--表空间tablespace详解
- Download Analyst Recommendation from HeXun
- linux中qsort的使用
- 主定理
- matlab的神经网络学习入门
- Java中OutOfMemoryError与unable to create new native thread(JVM创建大量线程)的关系
- 初识UI
- Struts2异常处理
- iOS蓝牙