登录oracle
准备工作
sqlplus / as sysdba
修改system密码
alter user system identified by 123456;
sql/plus使用system用户登录
创建用户
创建表空间
创建用户前提是创建表空间;
CREATE TABLESPACE ticm1 LOGGING DATAFILE 'F:softwareoracle12Cshujuku icm1.dbf' SIZE 30G AUTOEXTEND ON NEXT 10G EXTENT MANAGEMENT LOCAL;
一个表空间的大小时有限制的,查看自己的数据库,表空间最大值
在cmd下输入
show parameter db_block_size
参考,我的系统时8k,最大表空间是32G。
4k最大表空间为:16384M 8K最大表空间为:32768M 16k最大表空间为:65536M 32K最大表空间为:131072M 64k最大表空间为:262144M
如果我们数据量过大,需要额外扩表空间大小
ALTER TABLESPACE ticm1 ADD DATAFILE 'F:softwareoracle12Cshujuku icm2.dbf' SIZE 10240M AUTOEXTEND ON NEXT 5M MAXSIZE 30720m;
查看用户属于那个表空间
select username,default_tablespace from dba_users order by username;
查看表空间在磁盘位置
SELECT TABLESPACE_NAME,FILE_NAME, BLOCKS FROM DBA_DATA_FILES order by TABLESPACE_NAME;
删除表空间
- including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数。
- including datafiles 删除表空间中的数据文件。
- cascade constraints 同时删除 tablespace 中表的外键参照。
drop tablespace nsName including contents and datafiles cascade constraints ;
查看表空间使用情况
SELECT a.tablespace_name "表空间名", total / (1024 * 1024 * 1024) "表空间大小(G)", free / (1024 * 1024 * 1024) "表空间剩余大小(G)", (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", 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;
创建用户
创建用户指定表空间
create user c##user3 identified by user3 default tablespace ticm1;
给用户赋权限
grant connect, resource,dba to c##user3;
查看表空间中的所有的表
SELECT * FROM USER_TABLES;
删除用户
- 加了cascade就可以把用户连带的数据全部删掉。
drop user user_name cascade;