Oracle-创建表空间与用户

Oracle-创建表空间与用户

一、查看表空间及datafile文件名

SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files 
ORDER BY tablespace_name;

二、创建表空间

create tablespace CDR   --空间名
datafile 'D:\APPHIS\ADMINISTRATOR\ORADATA\ORCL\CDR.DBF'   --路径
size 20m   --初始大小
autoextend on;  --表空间每次增长大小

三、创建用户


create user CDR identified by XXX
default tablespace CDR
temporary tablespace TEMP;

四、授权

grant create session,connect,resource,dba to CDR;

到此为止,表空间和用户就已经创建好了,就可以连接使用了,下面是一些常用的一些命令。

五、常用语句

5.1、修改表空间的语句 解决表空间不足问题

ALTER TABLESPACE CDR    --空间名
  ADD DATAFILE 'E:\APP\ADMINISTRATOR\ORADATA\JCPT\CDR10.DBF'  --路径
  SIZE 10M   --大小
  AUTOEXTEND ON  --表空间每次增长大小
  NEXT 50M
  MAXSIZE UNLIMITED;   --最大限制

5.2、查看表空间下的表

select OWNER,TABLE_NAME,TABLESPACE_NAME 
from dba_tables 
where TABLESPACE_NAME='CDR';

5.3、查看各个用户下分配的表空间/物理文件占用情况(常用)


select b.file_name 物理文件名,
       b.tablespace_name 表空间,
       b.bytes / 1024 / 1024 大小M,
       (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 已使用M,
       substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率   
  from dba_free_space a,dba_data_files b   
  where a.file_id = b.file_id   
  group by b.tablespace_name,b.file_name,b.bytes          
  order by b.tablespace_name;

5.4、查询表空间分配情况


SELECT T.TABLESPACE_NAME,
       D.FILE_NAME,
       D.AUTOEXTENSIBLE,
       D.BYTES,
       D.MAXBYTES,
       D.STATUS
  FROM DBA_TABLESPACES T, DBA_DATA_FILES D
 WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
 ORDER BY TABLESPACE_NAME, FILE_NAME;

5.5、变更索引对应的表空间

alter index PK_CDR_OIS_PRESCRIPTION rebuild tablespace CDR;

5.6、查询用户所使用的临时表空间

select username,default_tablespace,temporary_tablespace from dba_users

5.7、查询临时表空间大小以及使用率

select tablespace_name, bytes, user_bytes, 
user_bytes/bytes,file_name from dba_temp_files;

5.8、添加文件

ALTER TABLESPACE TEMP
ADD tempfile  '+DATA/jcpt/tempfile/temp02.dbf' 
size 1024m 
AUTOEXTEND ON

你可能感兴趣的:(oracle,数据库)