SQL语法(七) 用户及表空间

版权声明:程序猴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;

修改之后不需要重启动数据库,会立即生效。

猜你喜欢

转载自blog.csdn.net/qq_21046965/article/details/82560530