Oracle学习(二)用户和表空间详解
1. 使用系统用户登录Oracle
- 系统用户有sys,system,sysman,scott(默认的口令是tiger)
用户登录格式:[username/password] [@server] [as sysdba|sysoper]
如果已经使用某个用户登录了SQL Plus,切换登录用户:
connect sys/口令as sysdba
备注:书写不区分大小写!
2. Oracle用户表空间之查看登录用户
- 查看登录用户
① show user命令,不需要加分号,当是输入的是sql语句时,需要加分号;
② dba_users数据字典, 数据库提供的表,也是由很多的字段组成。
③ desc dba_users可以查看数据字典中的字段
- 通过数据字典查看有多少个用户
select username from daba_users;
3. Oracle用户和表空间之启用scott用户
- 启用用户命令
alter user username account unlock(解锁/lock上锁)
- 使用scott用户登录:默认密码是tiger;
connect scott/tiger
4. Oracle用户和表空间之表空间概述
- 表空间概述:
数据库的逻辑存储空间,可以理解为在数据库中开辟的空间用来存储数据库对象;
- 表空间与数据文件的关系:
表空间由一个或多个数据文件组成;数据文件的大小和位置可以自己定义;
- 表空间分类:
① 永久表空间:数据库中要永久化存储的一些对象,如:表、视图、存储过程。
② 临时表空间:数据库操作当中中间执行的过程,执行结束后,存放的内容会被自动释放。
③ UNDO表空间:用于保存事务所修改数据的旧值,可以进行数据的回滚。
5. Oracle用户和表空间之查看用户表空间
权限大的可以查看权限小的,反之不行。
- 数据字典
① dba_tablespaces(系统管理员级别查看)
② user_tablespaces数据字典(普通用户查看)
- 查看表空间的字段
desc dba_tablespaces
- 查看有几个表空间
select tablespace_name from dba_tablespace;
备注:普通用户级别的查看操作同上
- 查看用户的字段信息
desc dba_users
备注:每一个用户下面可以对应着默认表空间和临时表空间,默认表空间,就是在这个用户下创建对象所存在的位置,临时表空间,就是存放的是临时信息,通常情况下就只有一个临时表空间
- 查看system默认表空间和临时表空间
select default_tablespace,temporary_tablespace from dba_users where username =’SYSTEM’;
结果如下图 :
- 设置用户的默认或者临时表空间
ALTEM USER username(需要更改的表空间名字)
DEFAULT(默认)|TEMPORARY(临时) TABLESPACE tablespace_name(更改后的名字)
select default_tablespace,temporary_tablespace from dba_users where username='';
备注:通过select来查看修改之后的表空间。
测试如下图:
6. Oracle用户和表空间之创建表空间
- (1)创建永久表空间和创建临时表空间
CREATE [TEMPORARY(创建临时表空间需要加上)] TABLESPACE tablespace_name
TEMPFILE|DATEFILE ‘xx.dbf’ SIZE(数据文件的大小 ) xx
测试如下图:
- (2)查看永久表空间和临时表空间的具体路径:(通过dba_data_files 和 dba_temp_files这个数据字典)
desc dba_data_files
select file_name from dba_data_files where tablespace_name=”;(条件是表空间的名字,需要大写)
测试如下图:
7. Oracle用户和表空间之修改表空间(指的是永久表空间)
- (1)修改表空间的状态
设置联机或脱机状态(表空间默认是联机的,脱机状态不可用)
ALTER TABLESPACE tablespace_name
ONLINE|OFFLINE;
查看表空间所处的状态(通过dba_tablespaces数据字典),可通过查看数据字典中的status,来判断状态。
desc dba_tablespaces
select status from dba_tablespaces where tablespace_name=”;(条件是表空间的名字,需要大写)
- (2)设置只读或者可读可写状态,修改方法和上面一样
ALTER TABLESPACE tablespace_name
READ ONLY|READ WRITE
8. oracle用户和表空间之修改表空间数据文件
- (1)增加数据文件
ALTER TABLESPACE tablespace_name
ADD DATATFILE ‘xx.dbf’ SIZE xx;
通过select语句查询到当前表空间中的数据文件
select file_name from dba_data_files where tablespace_name=”;(条件是表空间的名字,需要大写)
- (2)删除数据文件(不能删除第一个创建的数据文件)
ALTER TABLESPACE tablespace_name
DROP DATATFILE ‘xx.dbf’ SIZE xx;
9. Oracle用户和表空间之删除表空间
DROP TABLESPACE tablespace_name[INCLUDING CONTENTS]
如果只是删除表空间不删除该表空间下的数据文件,则不加include contents;
例如:删除已经创建的表空间
DROP TABLESPACE test1_tablespace including contents;