创建oracle表空间
2016-06-17 14:59
337 查看
1.创建oracle表空间
创建oracle表空间应该使用create tablespace命令。在指定表空间的同时,应当指定表空间物理文件的存储位置,并同时指定数据文件的初始大小。
例如,在数据库tst中,创建表空间的命令如下:
其中,test为表空间名称;datafile 'E:\Database\data\test_data.dbf ' 指定表空间的物理文件;size 20M指定物理文件的初始大小。
在成功创建表空间之后,可以在数据字典中获得其相关信息。
视图dba_data_files可以用于查看当前数据库中表空间及其物理文件的完整路径。同样,可以在操作系统中查看物理文件的详细信息,如图所示。
从文件的详细信息可以看出其大小为20M,正是文件创建时的大小。尽管此时表空间中并未存储实际数据,Oracle都会预留系统空间,以备将来存储数据。
无论为表空间预留多大的空间,将来都有数据量超出的风险。因此,在创建表空间时,还可以指定数据文件自动扩展机制,如下所示:
autoextend指定当数据量超出物理文件的存储空间时,自动增加文件大小;而on next 5M则指定每次增长的尺寸为5M。
当然,允许物理文件无限制的增长也是存在一定风险的。此时,可以在创建时设定表空间的最大大小,如下所示:
maxsize 500M指定表空间的最大尺寸为500M。
2.表空间的使用
数据库用户的默认表空间。
分析查询结果可知,系统用户sys及system,其默认表空间为表空间SYSTEM;而普通用户的默认表空间为USERS。
普通用户的默认表空间有两种来源,一是创建用户时分配或者后期手动修改;二是从未进行分配或者修改动作,那么则使用数据库的默认表空间。
Oracle 10g数据库默认表空间为USERS,因此,未指定默认表空间而创建的用户,都将使用表空间USERS。下图演示了如何修改数据库的默认表空间,从而联动普通用户的默认表空间做出更改。
利用alter database命令修改数据库的默认表空间。
alter database default tablespace test用于将数据库的默认表空间修改为test。在成功修改之后,当前数据库的用户及其默认表空间信息如下:
3.表空间的重命名及删除
(1)利用rename选项将表空间test重命名为test_data。
alter tablespace test 用于修改表空间test 的属性;rename to test_data 则用于将表空间名称修改为test_data。
当成功修改之后,可以再次查看数据库的表空间状况,如下所示。
分析查询结果可知,表空间test已经成功重命名为test_data。
(2)删除表空间
当一个表空间不再需要时,可以利用drop命令进行删除。但是,此时的表空间必须不被其他用户引用。例如,当前数据库的默认表空间为test_data(由test重命名而来),用户不能删除该表空间。
不能删除使用中的表空间。
Can not drop the default permanent tablespace表明,由于删除目标是当前数据库的默认表空间,因而删除失败。要删除表空间,必须保证所有用户不再以其为默认表空间。
alter database default tablespace users将当前数据库的默认表空间修改为USERS;drop tablespace test_data including contents and datafiles则用于删除表空间,并包含所有内容和数据文件。
创建oracle表空间应该使用create tablespace命令。在指定表空间的同时,应当指定表空间物理文件的存储位置,并同时指定数据文件的初始大小。
例如,在数据库tst中,创建表空间的命令如下:
其中,test为表空间名称;datafile 'E:\Database\data\test_data.dbf ' 指定表空间的物理文件;size 20M指定物理文件的初始大小。
在成功创建表空间之后,可以在数据字典中获得其相关信息。
视图dba_data_files可以用于查看当前数据库中表空间及其物理文件的完整路径。同样,可以在操作系统中查看物理文件的详细信息,如图所示。
从文件的详细信息可以看出其大小为20M,正是文件创建时的大小。尽管此时表空间中并未存储实际数据,Oracle都会预留系统空间,以备将来存储数据。
无论为表空间预留多大的空间,将来都有数据量超出的风险。因此,在创建表空间时,还可以指定数据文件自动扩展机制,如下所示:
autoextend指定当数据量超出物理文件的存储空间时,自动增加文件大小;而on next 5M则指定每次增长的尺寸为5M。
当然,允许物理文件无限制的增长也是存在一定风险的。此时,可以在创建时设定表空间的最大大小,如下所示:
maxsize 500M指定表空间的最大尺寸为500M。
2.表空间的使用
数据库用户的默认表空间。
分析查询结果可知,系统用户sys及system,其默认表空间为表空间SYSTEM;而普通用户的默认表空间为USERS。
普通用户的默认表空间有两种来源,一是创建用户时分配或者后期手动修改;二是从未进行分配或者修改动作,那么则使用数据库的默认表空间。
Oracle 10g数据库默认表空间为USERS,因此,未指定默认表空间而创建的用户,都将使用表空间USERS。下图演示了如何修改数据库的默认表空间,从而联动普通用户的默认表空间做出更改。
利用alter database命令修改数据库的默认表空间。
alter database default tablespace test用于将数据库的默认表空间修改为test。在成功修改之后,当前数据库的用户及其默认表空间信息如下:
3.表空间的重命名及删除
(1)利用rename选项将表空间test重命名为test_data。
alter tablespace test 用于修改表空间test 的属性;rename to test_data 则用于将表空间名称修改为test_data。
当成功修改之后,可以再次查看数据库的表空间状况,如下所示。
分析查询结果可知,表空间test已经成功重命名为test_data。
(2)删除表空间
当一个表空间不再需要时,可以利用drop命令进行删除。但是,此时的表空间必须不被其他用户引用。例如,当前数据库的默认表空间为test_data(由test重命名而来),用户不能删除该表空间。
不能删除使用中的表空间。
Can not drop the default permanent tablespace表明,由于删除目标是当前数据库的默认表空间,因而删除失败。要删除表空间,必须保证所有用户不再以其为默认表空间。
alter database default tablespace users将当前数据库的默认表空间修改为USERS;drop tablespace test_data including contents and datafiles则用于删除表空间,并包含所有内容和数据文件。
相关文章推荐
- "unsupported server charset ZHS16GBK"问题的解决
- Oracle 统计表记录数
- oracle归档日志
- oracle自定义函数语法及使用
- Oracle数据字典概述
- Oracle学习笔记(四)
- ORACLE 11.2.0.4 数据导出 EXP-00003错误(空表不能导出)
- Oracle11g服务器端和客户端安装到同一服务器中需要注意的问题
- 详述Oracle RAC的五大优势及其劣势
- Oracle数据库(上)
- Oracle基本概念
- 数据库oracle 驱动版本
- 查看Oracle数据库名和实例名
- Oracle循环中的EXIT、RETURN、CONTINUE解密
- Oracle Goldengate工作原理
- Oracle Database 12c一些新特性总结
- oracle 系统自定义的21个异常
- oracle创建表、序列、触发器
- Oracle如何根据一个日期计算同比环比的日期
- Oracle VM VirtualBox 下 ubuntu 虚拟机 如何 挂载共享