#用户与表空间
1.登录SQL PLus
系统使用
sys,system 权限比较高 sys>system pwd:自己设置的
sysman 用于操作企业管理器来使用 pwd:自己设置的
scott pwd:tiger
使用系统用户登录
2.使用系统用户登录
使用system用户登录
[connect][username/password][@server][as sysdba|sysoper]
connect system/root @orcl as sysdba #orcl就是自己设置的服务名
3.查看登录用户
show user 查看当前用户
dba_users 数据字典(当前所有的用户)
SQL:desc dba_users
select username from dba_users;
4.启用scott用户
启用用户的语句alter user [username] account unlock;
使用Scott用户登录SQL Plus:connect scott/tiger
注:Oracle 19c中无scott用户,需要自己创建
5.表空间概述
数据库与表空间
表空间与数据文件
表空间的分类:永久表空间(永久化存储对象),临时表空间(存放数据库操作当中中间执行的过程,执行过后被释放掉),UNDO表空间(用于保存事务所修改数据的旧值,被修改之前的数据)
6.查看用户的表空间
dba_tablespaces(针对数据管理员)、user_tablespaces(针对普通用户)数据字典
dba_users、user_users数据字典
SQL:select default_tablespace,temproary_tablespace from dba_users where username=‘SYSTEM’;
设置用户的默认或临时表空间:
ALTER USER username DEFAULT(默认)|TEMPORARY(临时) TABLESPACE tablespace_name;
7.创建表空间
CREATE [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE ‘xx.dbf’ SIZE xx
永久表空间
SQL:create tablespace test1_tablespace datafile ‘test1file.dbf’ size 10m;
临时表空间
SQL:create temporary tablespace temptest1_tablespace tempfile ‘tempfile1.dbf’ size 10m;
查看永久表空间存放的位置
SQL:desc dba_data_files
SQL:select file_name from dba_data_files where tablespace_name=‘TEST1_TABLESPACE’;
查看临时表空间存放的位置
SQL:select file_name from dba_temp_files where tablespace_name=‘TEMPTEST1_TABLESPACE’;
8.修改表空间
修改表空间的状态:
设置联机或脱机状态
ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
查看表空间的状态
SQL:select status from dba_tablespaces where tablespace_name=‘TEST1_TABLESPACE’;
设置只读或可读写状态
ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;
ps:默认连击的状态为可读写的状态
9.修改表空间当中的数据文件
增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE ‘xx.dbf’ SIZE xx;
SQL:alter tablespace test1_tablespace add datafile ‘test2_file.dbf’ size 10m;
SQL:select file_name from dba_data_files where tablespace_name=‘TEST1_TABLESPACE’;
删除数据文件
ALTER TABLESPACE tablespace_name DROP DATAFILE ‘filename.dbf’;
ps:删除时不能删除创建表空间时创建的数据文件,要想删除需删除表空间
SQL:alter tablespace test1_tablespace drop datafile ‘test2_file.dbf’;
SQL:select file_name from dba_data_files where tablespace_name=‘TEST1_TABLESPACE’;
10.删除表空间
DROP TABLESPACE tablespace_name [INCLUDING CONTENTS];
仅仅删除表空间,不删除数据文件
SQL:drop tablespace test1_tablespace;
删除表空间,同时删除属于该表的数据文件
SQL:drop tablespace test1_tablespace including contents;