Oracle数据库(一)—— 用户与表空间(常用命令)
常用命令
1、show user 查看登录用户(不需要分号结尾)
2、desc dba_users /user_users /dba_tablespaces/user_tablespaces 查看数据字典。dba_ users数据字典(数据字典是数据库提供的表,用于查看数据库的信息。)
3、alter user username account unlock 启用用户
例如:alter user scott account unlock 将scott用户进行解锁,用户可以使用该用户登录
4、select default_tablespace,temporary_tablespace from dba_users where username = 'SYSTEM'; //此处的username中填写的是用户名,区分大小写,查询管理员权限下的system用户的默认、临时表空间
ALTER USER sytem DEFAULT TABLESPACE system; //修改system用户的默认表空间为system,注意:修改的表空间必须是数据库中存在的表空间否则修改失败
表空间概念
数据库与表空间:一个数据库由多个表空间组成,其相对于MySQL、SQL Server的区别和优化来源表空间的存在
表空间与数据文件:一个表空间由多个数据文件组成,具体的数据都是存储在数据文件中的
创建永久表空间,查看表空间文件地址,及数据字典
CREATE TABLESPACE test1_tablespace DATAFILE 'datafile1.dbf' SIZE 10m;
DESC DBA_DATA_FILES;
SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'TEST1_TABLESPACE';
创建临时表空间
CREATE TEMPORARY TABLESPACE temp1_tablespace TEMPFILE 'tempfile1.dbf' SIZE 10m;
DESC DBA_TEMP_FILES;
SELECT FILE_NAME FROM DBA_TEMP_FILES WHERE TABLESPACE_NAME = 'TEMP1_TABLESPACE';
修改永久表空间的状态
ALTER TABLESPACE test1_tablespace ONLINE/OFFLINE; //online表示联机状态(即默认的可读写状态),offline表示脱机状态
DESC DBA_TABLESPACES ————select status from dba_tablespaces where tablespace_name = 'TEST1_TABLESPACE'; //查看表空间状态
ALTER TABLESPACE test1_tablespaces READ ONLY / READ WRITE; //read only 表示只读状态,read write表示可读写状态即为默认online
修改、删除表空间文件
ALTER TABLESPACE test1_tablespace ADD DATAFILE 'datafile2.dbf' SIZE 10m;
ALTER TABLESPACE test1_tablespace DROP DATAFILE 'datafile2.dbf';
删除表空间
DROP TABLESPACE test1_tablespace ; //只删除表空间,不删除表空间对应下的本地的数据文件,表空间和数据文件处于索引关系,当表空间被删除其数据文件就不起作用了
DROP TABLESPACE test1_tablespace including contents; //即删除表空间同时删除对应的数据文件
注意:不要轻易使用Drop命令进行数据删除,该命令是删除整个表的数据结构和数据,就找不回来了。一般使用delete/truncate进行删除