oracle之用户和表空间

用户和表空间查看
1:查看当前用户
show user;


2:数据字典dba_users (有关user的数据字典) user_users(普通用户用)
查找创建的所有用户名
select username from dba_users;


3:启用某个用户(被锁定时,需要解锁)
解锁某用户scott
alter user scott account unlock;


表空间:
定义:oracle 表空间属于存储结构,是一种用来存储数据库对象的逻辑空间,用来优化性能,如数据文件等
是oracle信息存储最大的逻辑空间,其下还包含有段,区,数据块等逻辑数据类型。表空间是在数据库开辟的
一个空间,用于存放数据库对象,一个数据库可由多个表空间组成。

分类:
永久表空间:存储数据库中需要永久存储的对象,如表,视图,存储过程,索引等
临时表空间:存储数据库的中间执行过程,如:保存order by数据库排序,分组时产生的临时数据,
            操作后存储的内容被自动释放,临时表空间是通用的,所有的用户都使用temp作为临时表              空间一般只需temp一个临时表空间就够了,当然也可以自己在建一个表空间
undo表空间:保存数据修改前的副本。存储事务所修改的旧址,即被修改之前的数据。当我们对
            一张表的数据进行修改的同时会对修改之前的数据进行保存,为了对数据进行回滚,恢复              和撤销操作
4:查看用户表空间
dba_tablespaces(管理员用) user_tablespaces(普通用户用)(数据字典)
在dba用户查看所有的tablespace
select tablespace_name from dba_tablespace/user_tablespace;

在普通用户下查看所有的tablespace
select tablespace_name from user_tablespace;

5:查看某用户所在的默认表空间,临时表空间
select default_tablespace,temporary_tablespace from dba_users where username='SYSTEM';(字符串匹配时注意大小写,因为oracle内部存储都为大写)

6:修改某用户的默认表空间
语法:ALTER USER USER_NAME DEFAULT TABLESPACE TABLESPACE_NAME;
alter user system  default tablespace system;


7创建表空间
语法:CREATE [TEMPORARY] TABLESPACE TABLESPACENAME TEMPFILE/DATAFILE '路径名/文件名.dbf' size 10m/g;

[TEMPORARY] 关键字:用该关键字表示创建临时表空间。
路径名默认为oracle的安装路径
size 表示大小

create tablespace text1_tablespace datafile 'd:\text1.dbf' size 10m;


8:查看表空间所在的文件路径
用dba_data_files 数据字典
select file_name from dba_data_files where tablespace_name='TEXT1_TABLESPACE';


9:查看临时temp表空间所在的文件路径
用dba_temp_files数据字典
select file_name from dba_temp_files where tablespace_name='TEMP';


10:修改表空间的状态
alter tablespace tablespace_name online/offline(offline下不能使用);

11:查看某表空间状态
用dba_tablespaces 数据字典
select status from dba_tablespaces where tablespace_name='TEXT1_TABLESPACE(表空间名)';

12:设置表空间状态(read only/read write)
语法:ALTER TABLESPACE TABLESPACE_NAME READ ONLY/READ WRITE;

ALTER TABLESPACE TEXT1_TABLESPACE READ ONLY;
ALTER TABLESPACE TEXT1_TABLESPACE READ WRITE;


13:往表空间添加数据文件
语法:ALTER TABLESPACE TABLESPACE_NAME
      ADD DATAFILE '路径名\文件名.dbf' size xx;

alter tablespace text1_tablespace add datafile 'text2.dbf' size 10m;


14:删除数据文件
注:不能删除创建表空间时第一个创建的文件,除非把表空间也删除
语法:ALTER TABLESPACE TABLESPACE_NAME
      DROP DATAFILE '路径名\文件名.dbf';
      alter tablespace text1_tablespace drop datafile 'text2.dbf';


15:删除表空间
语法:DROP TABLESPACE TABLESPACE_NAME [INCLUDING CONTENTS AND DATAFILES];
[including contents]:是表空间有数据文件(非空)时删除表空间的必要条件
[and datafiles]:删除表空间及其数据文件
drop tablespace text1_tablespace including contents;

16:创建表空间
create [undo] tablespace tablespace_name
[datafile datafile_spec1(文件路径)][,datafile datefile_spec2]...
[{minimun extent integer[k|m]
  |blocksize integer[k]
  |[logging|nologging]
  |default storage_clause
  |[online|offline]
  |[permanent|temporary]
  |extent_manager_clause
  |segment_manager_clause

mininum extent:指定表空间区的大小
blocksize:指定表空间非标准块的大小
logging/nologging:是否将表空间对象的更改写入重做日志
default storage_clause:指定表空间的默认存储参数


datafile:文件及其存储属性
filename [size integer[k|m]]  [reuse] [autoextend_clause]
autoextend_clause:autoextend on next integer[k|m] maxsize integer[k|m]

extent_manager_cause:表空间的管理方式
   extent  manager [local|dictionary](本地管理或者字典管理)
   [autoalllocal | uniform [size integer[k|m]]](管理区的大小)
其中:autoallocal:指定oracle自动管理区的大小
      uniform:指定所有区的大小都相同

extent_manager_segment:段空间管理方式
   segment space manager auto;


default storage:(存储参数)
   default storage(initial integer[k],next integer[k],minextents integer,maxextents                    integer,pctincrase integer)
   

猜你喜欢

转载自blog.csdn.net/zhu0902150102/article/details/81448588