Oracle中如何用命令创建表空间?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中如何用命令创建表空间?相关的知识,希望对你有一定的参考价值。
oracle创建表空间有多种方法,如下:方法1:
代码创建,如下:
SQL> edi
已写入 file afiedt.buf
1 create tablespace ts1
2 datafile \'F:\\oracle\\product\\10.2.0\\oradata\\orcl\\ts1.dbf\' size 100M
3 autoextend on next 1M maxsize 1000M
4* extent management local
SQL> /
表空间已创建。
方法2
用sqlplus,如下:
sqlplus / as sysdba
SQL>create tablespace tbsname datafile \'文件路径及文件名\' size 500m;
方法3
通过脚本创建,如下:
Create tablespace StartDB
datafile \'e:\\database\\oracle\\StartDB.dbf\'
size 32m
autoextend on
next 32m maxsize 1024m
extent management local; 参考技术A 创建表空间:
create tablespace DATATEST datafile 'D:\SERVER\DATABASE\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATATEST.dbf' size 100M autoextend ON next 10M maxsize 200M;
创建临时表空间:
create temporary tablespace DATATEST_TEMP tempfile 'D:\SERVER\DATABASE\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\DATATEST_TEMP.dbf' size 50M autoextend ON next 10M maxsize 100M;
小写内容均为固定写法 参考技术B 在sql窗口中输入create tablespace 表空间名 datafile '路径' size 大小 ;
如:create tablespace test datafile 'D:\test.ora' size 100m; 参考技术C create tablespace MY_TEMP1
datafile 'C:\oracle\tablespace\MY_TEMP1.def' size 500M
autoextend on next 100M maxsize unlimited logging
extent management local autoallocate
segment space management auto; 参考技术D create tablespace 空间名
不过得有权限才行
ORACLE-用户及表空间创建命令总结
博文说明【前言】:
本文将通过个人口吻介绍记录用户及表空间创建相关命令,在目前时间点【2017年5月16号】下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容。
正文:
一:创建表空间
此空间用用于数据存储【存储表、function、存储过程等,即存储数据结构以及真实数据,使用实际物理存储区域】
示例1:创建表空间和表空间初始数据文件
create tablespace xxxx_db
datafile ‘/u2/oradb/datafile/dsdb/xxx_db01.dbf‘ size 1024M REUSE
AUTOEXTEND ON --自动增长
NEXT 500M MAXSIZE 20G --限制最大容量(单个数据文件一般在10G~25G之间,不要超过32G)
--增加第二个数据文件,在硬盘空间允许的情况下,可继续增加。
alter tablespace xxxx_db add datafile
‘/u2/oradb/datafile/dsdb/xxxx_db02.dbf‘ SIZE 1024M
AUTOEXTEND ON NEXT 500M MAXSIZE 20G;
命令解释:创建表空间:xxxx_db,数据文件物理存储路径为:/u2/oradb/datafile/dsdb/,数据文件初始大小为1G(1024M),当1G使用完毕之后,每个数据文件可自动扩展容量,每次扩展大小为500M,最大可扩展到20G。
注意:/u2/oradb/datafile/dsdb/为数据文件存储路径,物理路径可通过sql语句查询得出。
select file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;
二:创建临时表空间
此空间用于管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT及其他需要存储临时数据的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。
当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。示例2:创建临时表空间(可选,非必要,如果没有创建专用的临时表空间,则创建用户时,使用系统默认临时表空间就行。)
create temporary tablespace xxxx_temp_db --初始大小:10G
TEMPFILE ‘/u2/oradb/datafile/dsdb/xxxx_temp_db01.dbf‘ SIZE 1000M REUSE
AUTOEXTEND ON NEXT 200M MAXSIZE 10G;
命令解释:创建临时表空间:xxxx_temp_db,数据文件物理存储路径为:/u2/oradb/datafile/dsdb/,数据文件初始大小为1000M,当1000M使用完毕之后,每个数据文件可自动扩展容量,每次扩展大小为200M,最大可扩展到10G。
注意:/u2/oradb/datafile/dsdb/为数据文件存储路径,物理路径可通过sql语句查询得出。
select file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;
三:创建用户
示例3:
1、创建用户
create user xxxx identified by "xxxx" default tablespace xxxx_db;
--如果有创建专用临时表空间,则使用以下第一个语句;没有则使用第二个语句:
alter user xxxx temporary tablespace xxxx_temp_db; --可选
alter user xxxx temporary tablespace TEMP1;
2、给用户分配表空间权限
--分配无限的表空间限额
alter user xxxx quota unlimited on xxxx_db;
3、授权
grant connect,resource to xxxx;
--授权dba要看具体情况(可选)
grant dba to xxxx;
实际案例:
create tablespace factorytest_db datafile ‘+DATA/orcl/datafile/factorytest.dbf‘ size 1024M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 5G
create user factorytest identified by "factorytest" default tablespace factorytest_db;
grant connect,resource,dba to factorytest;
alter user factorytest quota unlimited on factorytest_db;
commit;
结尾:
感谢阅读,祝有收获的一天,谢谢!
本文出自 “清风揽月的博客” 博客,请务必保留此出处http://watchmen.blog.51cto.com/6091957/1926409
以上是关于Oracle中如何用命令创建表空间?的主要内容,如果未能解决你的问题,请参考以下文章
oracle数据库如何用plsql客户端创建用户、表空间、临时表空间?