Oracle创建表空间、用户详细介绍
前言
突然要用,就整理一下表空间及用户相关操作步骤。
表空间及数据文件操作
/* 创建表空间 */
create tablespace TS_RDM -- 表空间逻辑名
datafile 'TS_RDM01.dbf' -- 表空间物理文件名称
'/u01/app/oracle/oradata/oracle11g/TS_RDM01.dbf' -- 指定表空间物理文件位置
size 500M autoextend on next 5M maxsize unlimited; -- 大小 500M,每次 5M 自动增大,最大不限制
新增数据文件
alter tablespace TS_RDM add datafile 'TS_RDM02.dbf' size 10m;
删除数据文件
alter tablespace TS_RDM drop datafile 'TS_RDM02.dbf' size 10m;
删除表空间,不删除数据文件
drop tablespace TS_RDM;
删除表空间及数据文件
drop tablespace TS_RDM include content;
注意:不能删除表空间中的第一个创建的数据文件,如果要删掉,就必须删掉整个表空间。如果系统用户sys
, as sysdba
登录,则存放再表 dba_data_files
。
创建临时表空间
create temporary tablespace tmp tempfile 'tempfile01.dbf' size 10m;
创建用户及授权
创建用户
create user rdmuser
IDENTIFIED BY rdmuser -- 用户密码
default tablespace TS_RDM-- 表空间
temporary tablespace TEMP -- 临时表空间默认 TEMP
profile DEFAULT;
-- password expire; -- 密码过去重新设置密码
注:参数 password expire
密码过期需要重设密码,意思是当你用这个新建立的密码过期用户首次登录后,系统会提示你重新输入新密码,不然会拒绝你登陆,重设新密码后就可以登录,该用户的密码就是你新设的密码,相当于首次登录修改密码这样的选项。
用户授权
/* 用户授权 */
-- 方式一:
grant connect,resource,dba to rdmuser;
-- 方式二:
grant connect to rdmuser with admin option;
grant dba to rdmuser with admin option;
grant resource to rdmuser with admin option;
/* 查看当前用户表空间 */
select username,default_tablespace from user_users;
/*修改用户的默认表空间*/
alter user rdmuser default tablespace new_ts_rdm;
/* 查询所有的表空间 */
select * from user_tablespaces;
用户信息查看
/* 查看当前用户拥有的角色权限信息 */
select * from role_sys_privs;
/* 查看当前用户的详细信息 */
select * from user_users;
/* 查看当前用户的角色信息 */
select * from user_role_privs;
/* 修改用户密码 */
alter user rdmuser identified by new_password;
/* 设置Oracle密码无期限 */
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;