您的位置:首页 > 数据库 > Oracle

Oracle学习笔记(2)——系统用户与表空间

2016-03-19 17:16 477 查看

系统用户:

sys、system(权限:sys > system)
sys必须以系统管理员或者系统操作员的权限登录,system可以直接登录。
sysman:管理员级别的用户。用于操作企业管理器使用的。
sys,system,sysman密码一般是我们安装Oracle时设置的口令密码,这里设置为root。
scott:默认用户权限最低,默认密码是:tiger

使用系统用户登录Oracle:

[username/password] [@server] [as sysdba|sysoper]

例如:
system/root @orcl as sysdba
orcl就是自己设置的服务名
命令:
1、connect连接。用于连接到另外一个用户。
connect sys/root as sysdba
2、查看登录用户:show user
3、dba_users:数据字典。数据字典是数据库提供的表,用于查看数据库的信息
desc dba_users 查询数据字典的表结构。(注意:desc是命令,可以加分号,也可以不加分号)
select username from dba_users; (因为select是一个sql语句,所以必须有分号,代表一个命令的结束)







启用scott用户:

scott用户默认情况下是锁定的。
启用用户的语句:alter user username account unlock
使用scott用户登录SQL Plus: connect scott/tiger
自己创建用户登录:先不是深究。





表空间概述:

1、理解表空间:
数据库与表空间之间的关系:表空间实际上是数据库的实际逻辑存储空间。我们可以把表空间理解为在数据库当中开辟的一个空间,用于存储数据库中的对象。一个数据库可以由多个表空间构成。Oracle 11g的表空间和其他数据库sql server,mysql...有所不同,并且Oracle 11g的许多优化都是通过表空间实现的。
表空间与数据文件之间的关系:一个表空间是由一个或多个数据文件构成的。数据库文件的位置和大小可以由我们用户自己调定。
2、表空间的分类:
永久表空间:主要用于永久化存储的数据库对象。例如:表,视图,存储过程...
临时表空间:主要用于存放一些数据库操作当中,中间执行的过程,当执行结束后,那么存放的内容就会释放掉。它不会永久存放。
UNDO表空间:用于保存事务所修改的数据的旧值。也就是说,被修改之前的数据。比如:当我们修改一个表的时候,它会将修改之前的数据进行保存。这样的话,我们就可以对数据进行回滚。也就说对数据执行撤销操作。
3、查看用户表空间:
dba_tablespaces、user_tablespaces数据字典
dba_tablespaces:针对于系统用户查看的数据字典。
user_tablespaces:针对于普通用户查看的数据字典。
小知识:数据库管理员(Database Administrator,简称DBA)

使用:
system用户登录下

desc dba_tablespaces;
select tablespace_name from dba_tablespaces;

scott用户登录下:
desc user_tablespaces;
select tablespace_name from user_tablespaces;
不能再scott用户登录下,查看dba_tablespaces数据字典,会报错.












dba_users、user_users数据字典:

dba_users:针对于系统用户查看的数据字典。
user_users:针对于普通用户查看的数据字典



设置用户的默认或临时表空间

ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name
在Oracle数据库安装完成后,system用户的默认表空间和临时表空间分布是system,temp

创建表空间:

CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE | DATAGFILE 'xx.dbf' SIZE xx
创建永久表空间:
create tablespace test1_tablespace datafile 'test1file.dbf' size 10m;



查看已经创建的永久表空间或临时表空间的具体路径:
永久表空间路径
desc dba_data_files
select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';



创建临时表空间:
create temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10m;



临时表空间路径
desc dba_temp_files
select file_name from dba_temp_files where tablespace_name='TEMPTEST1_TABLESPACE';



查看创建永久表空间和临时表空间的本地文件目录:



6、修改表空间:
6.1:修改表空间的状态
6.1.1:设置联机或脱机状态
ALTER TABLESPACE tablespace_name ONLINE | OFFLINE;
如果一个表空间设置为脱机状态后,就不能使用它了。



alter tablespace test1_tablespace offline;
查看表空间的状态
desc dba_tablespaces
select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';

该回online状态
alter tablespace test1_tablespace online;



6.1.2:设置只读或可读写状态
ALTER TABLESPACE talbespace_name READ ONLY | READ WRITE;
默认情况下,表空间是READ WRITE 可读写状态。默认的联机状态下就是可读写状态。
alter tablespace test1_tablespace read only;
select status from dba_tablespaces where tablespace_name='TEST1_TABLESPACE';



6.2:修改数据文件
6.2.1:增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE 'xx.dbf' SIZE xx;

alter tablespae test1_tablespace add datafile 'test2_file.dbf' size 10m;
查看数据文件
select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';



删除数据文件
ALTER TABLESPACE tablespace_name DROP DATAFILE 'filename.dbf';
需要注意:在删除表空间的数据文件的时候,我们不能删除表空间的第一个数据文件,要想删除的话,就得删除整个表空间。
我们删除表空间中的第二个数据文件
alter tablespace test1_tablespace drop datafile 'test2_file.dbf';
select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';



删除表空间:
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS]
drop tablespace test1_tablespace including contents;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: