详情

首页手游攻略 Oracle数据库新建用户及分配表空间方式实用指南

Oracle数据库新建用户及分配表空间方式实用指南

佚名 2026-10-26 08:20:01

平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Oracle数据库新建用户及分配表空间方式”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

新建表空间、用户

1、新建临时表空间

 create temporary tablespace VEHICLEUSER_TMP      tempfile '/oradata/orcl/VEHICLEUSER_TMP.dbf'             --路径根据实际情况任意存储     
size 50m autoextend on next 50m maxsize 10240m extent management local;

2、新建表空间

create tablespace VEHICLEUSER_FILE logging datafile '/oradata/orcl/VEHICLEUSER01.dbf'
 size 50m autoextend on next 50m maxsize 20480m extent management local;

3、新建用户

create user VEHICLEUSER_01 identified by veh123#    -- ‘VEHICLEUSER_01' 为创建的用户名  ;‘veh123#'为创建的新用户登录密码 
default tablespace VEHICLEUSER_FILE temporary tablespace VEHICLEUSER_TMP;

4、授予权限

grant connect,resource,dba to VEHICLEUSER_01;

表空间查询

1、查看表空间名称和大小(单位MB)

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;

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 SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 
FROM dba_free_space
GROUP BY tablespace_name;
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;

总结

结合项目来看,总的来说,Oracle新建用户适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。

点击查看更多
推荐专题
热门阅读