oracle用户与表空间操作

oracle系统用户
sys,system , sysman, scott

使用system用户登录
[username/password][@server][as sysdba|sysoper]
eg: system/123456 @orcl as sysdba

查看当前登录用户:
show user

查看数据字典中的用户
select username from dba_users;


启用禁用scott账户:
alter user scott account unlock;
alter user scott account lock;

表空间:
概念:表空间是数据库的逻辑组成部分

从物理上将:数据库数据存放在数据文件中

从逻辑上将:数据库则是存放在表空间中

表空间由一个或是多个数据文件组成
eg:
数据库比如是一个柜子,柜中的抽屉是表空间,抽屉中的文件夹是数据文件,文件夹中的纸是表,写在纸上的信息就是数据 表空间可以有多个数据文件,但是一个数据文件必须属于一个表空间。表和表空间来说,表空间就是表存储的地方,表是表空间一种表现形式。

种类:
永久表空间:存放表,视图,存储过程
临时表空间:存放数据库操作中间执行的过程,执行结束后内容释放
UNDO表空间:事务修改的旧值,用户rollback


查询表空间:
数据字典:
dba_tablespaces:针对管理员权限用户的查询的表空间
user_tablespaces:针对普通用户查看的表空间

select TABLESPACE_NAME from dba_tablespaces;(system用户run)
SYSTEM:存放sys用户的表,视图,存储过程
SYSAUX:为example表空间的辅助表空间
UNDOTBS1:存放撤销信息的表空间
TEMP:用户存储sql语句处理的表,索引的表空间
USERS:数据库用户创建数据对象的表空间
EXAMPLE:安装oracle 11g示例表空间

select TABLESPACE_NAME from user_tablespaces;(scott用户run)
scott只有查询user_tablespaces字典


dba_users,user_users;用户字典


查看oracle系统用户的默认表空间,临时表空间(system用户run)
select default_tablespace,temporary_tablespace from dba_users where username='SYSTEM';


设置用户的默认表空间和临时表空间
ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name;(system用户run)
eg: ALTER USER system DEFAULT TABLESPACE users;
普通用户默认没有设置表空间的权限

创建表空间:(system run)
CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'XX.dbf' SIZE XX
eg: create tablespace test007_tablespace datafile 'test007.dbf' size 10m;
create temporary tablespace temp007_tablespace tempfile 'temp007.dbf' size 10m;

dba_data_files:数据字典,可查看表空间文件的路径
eg:查询永久表空间TEST007_TABLESPACE文件存放的位置(PS:表空间名要大写)
select file_name from dba_data_files where tablespace_name='TEST007_TABLESPACE';
eg:查询临时表空间TEMP007_TABLESPACE文件存放的位置
select file_name from dba_temp_files where tablespace_name='TEMP007_TABLESPACE';


修改表空间的联机或脱机状态
ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
eg:
ALTER TABLESPACE TEST007_TABLESPACE OFFLINE;

查看表空间的状态
SELECT STATUS FROM DBA_TABLESPACES WHERE TABLESPACE_NAME='TEST007_TABLESPACE';

设置只读或可读写状态(必须为online状态才能设置读写状态,表空间默认的联机状态为读写状态)
ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;


向表空间增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx;
eg:alter tablespace test007_tablespace add datafile 'test0071.dbf' size 5m;


向表空间删除数据文件(PS:不能删除创建表空间时创建的数据文件)
ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf';
eg:alter tablespace test007_tablespace drop datafile 'test0071.dbf';


删除表空间:(including contents表示删除表空间时,连同数据文件一并删除)
DROP TABLESPACE tablespace_name[INCLUDING CONTENTS]
eg: drop tablespace test007_tablespace including contents;

原文地址:https://www.cnblogs.com/xxyfhjl/p/5656432.html