简单四步完成Oracle创建表空间


《 Oracle创建表空间 》


关于Oracle数据库:

        1),数据库:磁盘上存储数据的集合,在物理上表现为数据文件,日志文件和控制文件等,在逻辑上以表空间形式存在。
        2),全局数据库名称:类似于网络中的域名,数据库命名在整个网络中唯一。
        3),数据库实例:每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据
        4),表空间:数据库由若干个表空间构成。一个表空间由多个数据文件组成,但一个数据文件只能属于一个表空间。

创建表空间四步走:

第1步:创建临时表空间

创建表空间之前还需要创建"临时表空间",若不创建则默认的临时表空间为 temp

create temporary tablespace etc_temp 
tempfile 'e:\oracle\administrator\oradata\orcl\etc_temp.dbf'
size 10240m  
autoextend on  
next 200m maxsize 20480m  
extent management local;  




第2步:创建数据表空间

创建用户之前先要创建数据表空间,若没有创建则默认永久性表空间是 system

create tablespace etc_data  
logging  
datafile 'e:\oracle\administrator\oradata\orcl\etc_data.dbf'
size 10240m  
autoextend on  
next 200m maxsize 20480m  
extent management local;  




第3步:创建用户并指定表空间

create user etc identified by etc189  
default tablespace etc_data  
temporary tablespace etc_temp; 



 

第4步:给用户授予权限 

grant connect,resource,dba to etc;




表示把 connect,resource,dba 权限授予etc用户,权限授予完成后就可以去使用该用户登录并创建表了。





改变表空间状态

1、使表空间脱机

alter tablespace etc_data offline; 




如果是意外删除了数据文件,则必须带有recover选项

alter tablespace etc_data offline for recover;




2、使表空间联机

alter tablespace etc_data online;




3、使数据文件脱机

alter database etc_data.dbf offline;




4、使数据文件联机

alter database etc_data.dbf online;




5、使表空间只读

alter tablespace etc_data read only;




6、使表空间可读写

alter tablespace etc_data read write;






删除用户/表空间

1、删除用户

drop user etc cascade;




注意在删除用户你可能遇到  ORA-01940: cannot drop a user that is currently connected的问题,

解决办法《 不能删除当前连接的用户的解决办法 》 

2、删除空的表空间,但是不包含物理文件

drop tablespace etc_data;




3、删除非空表空间,但是不包含物理文件

drop tablespace etc_data including contents;




4、删除空表空间(包含物理文件)

drop tablespace etc_data including 'e:\oracle\administrator\oradata\orcl\etc_data.dbf';




5、删除非空表空间(包含物理文件)

drop tablespace etc_data including contents and 'e:\oracle\administrator\oradata\orcl\etc_data.dbf';




6、如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上cascade constraints

drop tablespace etc_data including contents and datafiles cascade constraints;




扩展表空间

1、给某个表空间增加数据文件

alter tablespace etc_data
add datafile 'e:\oracle\administrator\oradata\orcl\etc199_data.dbf' size 20480m;




2、手动增加数据文件大小

alter database datafile 'e:\oracle\administrator\oradata\orcl\etc199_data.dbf'
resize 10240m;




3、设定数据文件自动扩展

alter database datafile 'e:\oracle\administrator\oradata\orcl\etc199_data.dbf'
autoextend on 
next 200m
maxsize 10240m;






查看表空间内容信息

1、查询设定后的表空间信息

SELECT A.TABLESPACE_NAME,
       A.BYTES TOTAL,
       B.BYTES USED,
       C.BYTES FREE,
       (B.BYTES * 100) / A.BYTES "% USED",
       (C.BYTES * 100) / A.BYTES "% FREE"
  FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C
 WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
   AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;




2、查询表空间的名称和所属表空间的数据文件

SELECT TABLESPACE_NAME,
       FILE_ID,
       FILE_NAME,
       ROUND(BYTES / (1024 * 1024), 0) TOTAL_SPACE
  FROM DBA_DATA_FILES
 ORDER BY TABLESPACE_NAME;




3、查询表空间的名称及大小

SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024)), 0) TS_SIZE
  FROM DBA_TABLESPACES T, DBA_DATA_FILES D
 WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
 GROUP BY T.TABLESPACE_NAME;




4、查询空闲表空间大小

SELECT TABLESPACE_NAME, SUM(BYTES) / 1024 / 1024
  FROM DBA_FREE_SPACE
 GROUP BY TABLESPACE_NAME;











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值