oracle怎么创建表空间
oracle创建表空间操作方法如下:
1.开启oracle服务,打开plsql工具,使用管理员账户登录
2.点左上角的新建SQL窗口
3.创建表空间。在sql窗口中输入create tablespace test datafile 'D:\test.ora' size 1000m;这里的test为表空间名称,路径自己来命名。然后点执行按钮。
4.执行成功后,继续创建用户。输入create user test identified by test default tablespace test quota 500m on users; 这里第一个test为用户名,第二个test为密码,第三个test为表空间名。然后执行
5.成功创建用户后,进行授权。输入grant all privileges to test; 执行该语句给test用户授权,此时test用户就可以登录了
6.接下来使用test用户登录,就可以建表了
拓展资料:
甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。
2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。
2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位
2024-09-04 广告
答:表空间是一个逻辑概念。Oracle中的数据逻辑上存储于表空间(tablespace)中,而物理上则存储于属于表空间的数据文件(datafile)中。
一个数据库是由一个或多个表空间组成的;一个表空间是由一个或者多个数据文件组成的。
为什么要创建表空间?是为了便于管理,毕竟逻辑存储结构相对于物理存储结构来说,软件管理的可用性会大大提高。比如扩容、改删、迁移等。以下摘自《数据库系统概念》第五版:表空间也可以作为在数据库之间转移数据的一种办法。譬如,很常见的是每隔一段时间把数据从事务系统转移到数据仓库中去。Oracle允许将一个表空间的所有数据从一个系统转移到另一个系统,仅仅简单地复制文件并从数据字典元数据中输入输出一小部分数据。这些操作比从一个数据库下载数据,然后用一个加载器将数据插入到另一个数据库中比起来块多了。
2012-12-31更新(描述清楚点):
1、表空间是逻辑结构,对开发人员或者用户来说处理逻辑结构更方便、对系统管理员来说逻辑结构不可见,更能保证数据安全性,物理结构则交由数据库本身去管理,这样在重新组织物理存储后(如迁移、更换硬件、更换操作系统)应用程序可以不做任何修改直接使用。
2、如果没有表空间,庞大的数据库系统中的表、索引等会对应于相应数量的操作系统文件,这对DBA的维护工作来说是无法想象的。
3、表空间的逻辑结构可以突破操作系统或者底层硬件环境(如硬盘大小)对文件大小的限制,
表空间该如何创建?
答:使用“select * from v$tablespace;"可以查询当前实例已有的表空间。
表空间分为三类:系统表空间(不可缺少,包含数据字典表、触发器存储器以及存储的过程),Oracle中为SYSTEM表空间;存储用户数据的表空间;临时表空间(一般作为大排序和散列)。
简单创建表空间的命令:
CTEATE TABLESPACE tablespace_name DATAFILE '/path/path/datafile_name.dbf' SIZE xxx;
详细请看联机文档关于CREATE TABLSPACE的SQL语句。
-
是将所有表放入一个表空间,还是将几个大表放入表空间?
答:小型数据库可能只需要使用SYSTEM表空间,但是Oracle建议用户至少创建一个存储用户数据的表空间,与系统的数据字典等分离,这样在进行数据库管理的时候更加灵活、减少资源竞争。
以下来自Oracle112_concepts
用户可以利用多个表空间(multiple tablespace)完成以下任务:
A、控制数据库内的磁盘空间分配
B、为数据库用户设定空间使用配额(quota)
C、通过将某个表空间置于联机/脱机(online/offline)状态来控制数据的可访问性(availability)
D、执行对数据库的某部分的备份与恢复
E、使数据存储可以跨多个设备,提升系统性能
2016-12-18
2、以sysdba方式来打开sqlplus,命令如下: sqlplus / as sysdba
3、创建临时表空间:
--查询临时表空间文件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。一般用${ORACLE_HOME}就可以了
select name from v$tempfile;
create temporary tablespace NOTIFYDB_TEMP tempfile '${ORACLE_HOME}\oradata\NOTIFYDB_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;
4、创建表空间:
--查询用户表空间文件的绝对路径:
select name from v$datafile;
create tablespace NOTIFYDB datafile '${ORACLE_HOME}\oradata\notifydb.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
5、创建用户和密码,指定上边创建的临时表空间和表空间
create user hc_notify identified by hc_password default tablespace NOTIFYDB temporary tablespace NOTIFYDB_TEMP;
6、赋予权限
grant dba to hc_notify;
grant connect,resource to hc_notify;
grant select any table to hc_notify;
grant delete any table to hc_notify;
grant update any table to hc_notify;
grant insert any table to hc_notify;
经过以上操作,就可以使用hc_notify/hc_password登录指定的实例,创建我们自己的表了。
Oracle创建表空间是数据库管理员经常要做的事情,在实际当中,一般独立的业务系统会有一个独立的用户进行独立开发管理,附带的会独立创建一个自己的表空间进行存储。
Oracle创建表空间可以通过OEM企业管理器、SQL命令两种方式进行创建,笔者这里采用SQL命令方式进行讲解,OEM方式读者可以自行登录OEM后台自行试验。
Oracle创建表空间语法结构如下:
create tablespace tab_name
datafile 'filename'
size n
[autoextend on next n1 maxsize m /of]
[temporary/permanent]
[extent management local/dictionary];
语法解析:
create tablespace:创建表空间的关键字。
tab_name:创建后表空间的名字。
datafile:指定数据文件的路径为filename。
size n:指定数据文件的大小。
[autoextend on next n1 maxsize m /of ]:表示表空间是否是自动扩展的,on 为自动扩展,of为不扩展,当自动扩展时,next n1表示自动扩展的大小,max size m 表示数据文件最大扩展到m大小。
[temporary/permanent] :表示创建的表空间的类型,temporary表示临时表空间,permanent表示永久表空间,不填都是默认永久表空间。
[extent management local/dictionary]:表示表空间管理的方式,local表示本地的管理模式,dictionary表示数据字典管理模式,默认都是本地管理方式。
案例1、根据表空间创建语法,创建一个100M大小数据文件(student.dbf)的表空间student,代码如下:
create tablespace student
datafile 'E:\APP\ADMIN\ORADATA\ORCL\student.DBF'
size 100m
autoextend on next 10m maxsize 500m
permanent
extent management local;
案例解析:
创建一个student表空间,指定了数据文件为“,表空间是自动扩展的,每次自动扩展大小为10M,最大扩展到500M,创建的是永久表空间,用来存储student用户的数据库对象和数据,管理模式为本地管理。