Oracle数据库之创建表空间与用户

一、创建表空间

基本语法表述:

CREATE TABLESPACE tablespace_name
[DATAFILE datafile_spec1 [,datafile_spec2] ......]
[ { MININUM EXTENT integer [K|M]
|BLOCKSIZE integer [K]
|[ONLINE|OFFLINE]
|logging clause
|[PERMANENT|TEMPORARY]
|extent_manager_clause
|segment_manager_clause}
]

详细的 CREATE TABLESPACE 语法描述请参考:http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_7003.htm#SQLRF01403

说明:

1.tablespace_name:

指出表空间的名称。

2.datafile_spec1:

指出表空间包含的数据文件。

[filename]
[SIZE integer [ K | M ]]
[REUSE]
[AUTOEXTEND { OFF | ON
[NEXT integer [ K | M ]]
[MAXSIZE { UNLIMITED | integer [ K | M ] }]
}]

其中filename是数据文件的全路径名;SIZE是文件的大小;REUSE表示文件是否被重用;AUTOEXTEND表明是否自动扩展;NEXT表示数据文件满了以后,扩展的大小。

3.MININUM EXTENT integer [K|M]:

指出在表空间中区的最小值。这个参数可以减小空间碎片,保证在表空间的范围是这个数值的整数倍。

4.BLOCKSIZE integer [K]

这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,至少一个db_nk_block_size,并且声明的integer的值必须等于db_nk_block_size。

注意:在临时表空间不能设置这个参数。

5.[ONLINE|OFFLINE]

改变表空间的状态。online使表空间创建后立即有效,这是缺省值,offline使表空间创建后无效。

6.logging clause

{ LOGGING | NOLOGGING }

这个子句声明这个表空间上所有的用户对象的日志属性(缺省是LOGGING),包括表,索引,分区,物化视图,物化视图上的索引,分区。

7.[PERMANENT|TEMPORARY]

指出表空间的属性,是永久表空间还是临时表空间。永久表空间存放的是永久对象,临时表空间存放的是session生命期中存在的临时对象。这个参数生成的临时表空间创建后一直都是字典管理,不能使用extent management local选项。如果要创建本地管理表空间,必须使用create temporary tablespace。

8.extent_management_clause

EXTENT MANAGEMENT
{ LOCAL
[ AUTOALLOCATE
| UNIFORM
[ SIZE size_clause ]
]
| DICTIONARY
}

说明了表空间如何管理区。一旦你声明了这个子句,只能通过移植的方式改变这些参数。

如果希望表空间本地管理的话,声明local选项。本地管理表空间是通过位图管理的。autoallocate说明表空间自动分配范围,用户不能指定范围的大小。只有9.0以上的版本具有这个功能。uniform说明表空间的区的固定大小,缺省是1m。

9.segment_manager_clause

SEGMENT SPACE MANAGEMENT { AUTO | MANUAL }

说明了如何管理段。只为永久性的,本地管理表空间有关。可以指定是否应该跟踪在使用空闲列表或位图的表空间段的使用和自由空间。本选项不适用于临时表空间。

示例:

CREATE TABLESPACE tbs_01
DATAFILE 'demo.dbf'
SIZE 40M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M
ONLINE
LOGGING
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M
SEGMENT SPACE MANAGEMENT AUTO;

我们可以使用DROP TABLESPACE语句从数据库中删除表空间:

DROP TABLESPACE tablespace
[ INCLUDING CONTENTS [ {AND | KEEP} DATAFILES ]
[ CASCADE CONSTRAINTS ]
] ;

使用详情见:http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9004.htm#SQLRF01807

示例:

DROP TABLESPACE tbs_01
INCLUDING CONTENTS AND DATAFILES;

二、创建用户

基本语法描述:

CREATE USER user
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace]

详细的语法与使用见:http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_8003.htm#SQLRF01503

说明:

1.user

用户名。

2.password

密码

3.DEFAULT TABLESPACE tablespace

用户默认使用的表空间。

4.TEMPORARY TABLESPACE tablespace

用户使用的临时表空间。

示例:

CREATE USER sidney
IDENTIFIED BY out_standing1
DEFAULT TABLESPACE tbs_01
TEMPORARY TABLESPACE temp

用户创建完毕后,并不能马上使用,我们还需要为用户分配权限或角色:

GRANT  privileges or role TO user;

若要撤销权限或角色:

REVOKE  privileges or role FROM user;

示例:

-- 把CONNECT、RESOURCE角色授予用户sidney
GRANT CONNECT,RESOURCE TO sidney;
-- 撤销用户sidney的RESOURCE角色
REVOKE RESOURCE FROM sidney;
-- 允许用户查看 EMP 表中的记录
GRANT SELECT ON emp TO sidney;
-- 允许用户更新 EMP 表中的记录
GRANT UPDATE ON emp TO sidney;
 
 

Oracle数据库之创建表空间与用户的更多相关文章

  1. oracle用命令创建表空间、用户,并为用户授权、收回权限。

    oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使 ...

  2. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  3. oracle导入导出数据库和创建表空间和用户

    直入主题: 首先在本地创建2个文件,D:\oradata\jgszz\temp.dbf和 D:\oradata\jgszz\data.dbf. 然后执行下面的SQL. /*创建临时表空间 */ cre ...

  4. Oracle数据库不能创建表空间及表中文乱码问题

    1.不能创建表空间问题 datafile为表空间的存放位置,没有将表空间存放路径指定为orcl数据库时,创建表空间出错如下 查看自己的Oracle安装位置,我的Oracle10g安装在虚拟XP系统中, ...

  5. oracle数据库如何创建表空间,临时表空间

    目标 1.创建表空间 lxy 2.创建临时表空间tmp_lxy create tablespace lxy datafile '/u01/app/oracle/oradata/LXY/lxy.dbf' ...

  6. Oracle数据库中创建表空间语句

    1:创建临时表空间 create temporary tablespace user_temp tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj ...

  7. Oracle 使用sql创建表空间及用户

    create tablespace OrcalDBNamedb datafile 'C:\OracleDBDirc\OrcalDBNamedb.dbf' size 300m; 创建用户create u ...

  8. Oracle数据库创建表空间及用户授权

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace test_temp tempfile 'E:\app\Administrator\orad ...

  9. Oracle创建表空间、用户、授权

    在创建好数据实例(数据库)好后的基础上,后续做的事情如下: ---创建表空间 create tablespace LIS2011DATA logging datafile 'd:\oracle\pro ...

随机推荐

  1. magento 修改 paypal order product name

    app/code/core/Mage/Sales/Model/Quote  Item.php public function setProduct($product) { if ($this-> ...

  2. 调侃Cookie

    近期看着某些小朋友那琢急的学习心态,瞬间发文一篇,谨此以助小朋友早日有成! 闲话不扯远,实话见真言,晃悠许久觉得开头还是谈谈Cookie这只菜篮,而且是一只私家菜篮,为啥说它是一只菜篮呢,各位看官必定 ...

  3. 将多个图片整合到一张图片中再用CSS 进行网页背景定位

    原文地址:http://wenku.baidu.com/link?url=hj_qM9kmdMrg8KWXFD2bCF_uuJCxKJRvG97CkWk3itsPq3izMzfrKvSZYBzDGyP ...

  4. call-template和apply-templates

    对xml模板 来说,name属性是很关键的 call-template /apply-template 的name必须要和模板的name相对应.模板相当于一个函数,可以暂时这么看.而name相当于函数 ...

  5. 给Eclipse提速的7个技巧(转载的)

      大约一个月前,我发表了一篇博客,其中介绍了对Eclipse的爱与恨. 有些人问我如何给Eclipse提速,这篇文章就来讨论这个问题.顺带提一下,这篇文章不是比较IDE,所以不要说你讨厌某个IDE而 ...

  6. Struts2学习笔记(二):第一个Struts2应用

    一.创建Action类. 创建工程Struts2Demo struts 2中的Action类并不需要继承struts 2中的某个父类,普遍的java类就可以. 在org.sunny.user.acti ...

  7. 【.NET跨平台】mac上安装VS for mac步骤详解

    安装过程中提示以下内容 提示原文如下 It was not possible to complete an automatic installation. This might be due to a ...

  8. java cmd常用命令

    熟悉Java的常用命令 面试例题11:使用jar命令. 请使用jar命令,将test文件夹压缩成.jar文件,并简述其压缩包的结构. 考点:对于Java程序员来说,更多情况下是使用集成Java开发工具 ...

  9. Android 自定义CheckBox样式

    1.首先在drawable文件夹中添加drawable文件checkbox_style.xml. <selector xmlns:android="http://schemas.and ...

  10. oracle中从指定日期中获取月份或者部分数据

    从指定日期中获取部分数据: 如月份: select to_CHAR(sysdate,'MM') FROM DUAL; 或者: select extract(month from sysdate) fr ...