为oracle数据库新增表空间及用户
发布时间:2020-12-12 14:45:00 所属栏目:百科 来源:网络整理
导读:什么是表空间? 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。 创建用户的时候需要指定默认表空间和temp表空间,主要是为了当该用户创建对象不指定表空间时使用默
什么是表空间? 具体过程: select * from DBA_TABLESPACES;
2、 SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",F.TOTAL_BYTES "空闲空间(M)",F.MAX_BYTES "最大块(M)" FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024),2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024),2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024),2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ORDER BY 4 DESC;
3、创建临时表空间: create TEMPORARY tablespace CUPS_BS_DATA_TEMP TEMPFILE 'E:appAdministratororadataorclCUPS_BS_DATA_TEMP.dbf' size 500m AUTOEXTEND ON next 100m MAXSIZE UNLIMITED extent MANAGEMENT LOCAL;
4、创建数据表空间: create TABLESPACE CUPS_BS_DATA LOGGING DATAFILE 'E:appAdministratororadataorclCUPS_BS_DATA.dbf' SIZE 1G AUTOEXTEND ON NEXT 100m MAXSIZE UNLIMITED extent MANAGEMENT LOCAL;
5、创建用户并指定表空间: --select * from DBA_TABLESPACES;
create user cups_user IDENTIFIED BY pass_word default TABLESPACE CUPS_BS_DATA TEMPORARY TABLESPACE CUPS_BS_DATA_TEMP;
6、给用户授予权限: grant CONNECT,RESOURCE,dba to CUPS_USER;
grant create any sequence to CUPS_USER;
grant create any table to CUPS_USER;
grant delete any table to CUPS_USER;
grant insert any table to CUPS_USER;
grant select any table to CUPS_USER;
grant unlimited tablespace to CUPS_USER;
grant execute any procedure to CUPS_USER;
grant update any table to CUPS_USER;
grant create any view to CUPS_USER;
以上3、4、5、6的输出: Tablespace CUPS_BS_DATA_TEMP 已创建。
TABLESPACE CUPS_BS_DATA 已创建。
User CUPS_USER 已创建。
Grant 成功。
7、为表空间增加数据文件,因为接下来要导入很多很多数据进去,一个数据文件最多只能放32g数据。 ALTER TABLESPACE "CUPS_BS_DATA" ADD DATAFILE 'E:appAdministratororadataorclCUPS_BS_DATA01.DBF' SIZE 500m AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
--xxxx多加几个,保证够用
8、查看所有表空间的数据文件及其使用情况: 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |