版权声明:程序猴jwang版权所有 https://blog.csdn.net/qq_21046965/article/details/82560530
前言
本章将学习oracle的表空间以及用户的相关操作。
范例
1.查看表空间的使用情况
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
total / (1024 * 1024) "表空间大小(M)",
free / (1024 * 1024) "表空间剩余大小(M)",
(total - free) / (1024 * 1024) "表空间使用大小(M)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name;
2.新建临时表空间
create temporary tablespace user_temp
tempfile 'D:\app\wangjian\oradata\orcl\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
3.创建数据表空间
create tablespace test_data
logging
datafile 'D:\app\wangjian\oradata\orcl\test_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
4.创建用户并指定表空间
create user username identified by password
default tablespace test_data
temporary tablespace user_temp;
5.给用户赋予权限
grant connect,resource,dba to username;
附录:
1.解决用户账号密码过期的问题(一定要设置,生产库新建的用户密码有效期180天,如不即时更换,将导致数据库无法连接)
(1)查看用户的proifle是哪个,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
(2)查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
(3)将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。