一、Oracle创建表空间
密码为你安装数据库时设置全局数据库的窗口设置的管理口令,SYSTEM SYS SYSMAN DBSNMP 的初始密码都是这个密码,用户SCOTT的
初始口令为tiger
创建表空间的语句:datafile2.dbf为新创建的表空间数据文件,注意:存放表空间数据文件的目录(D:\OracleFiles\OracleData)必须已经存在
说明:dbsp_2是表空间的名称,size 10m表示表空间的大小,extent management locallocate 是设置当表空间大小已满时,用自动管理的方式扩展表空间。
二、创建用户
说明:testUser为用户名,123456为用户密码;
default tablespace是默认表空间;
temporary tablespace是临时表空间;
quota设置用户在表空间上占用的空间大小。
alter user testUser identified by 123; //将用户的密码更改为123
alter user testUser account unlock; //有时用户会处于锁定状态,解锁用户
空间分为:系统表结构、永久表空间、临时表空间、撤销表空间
a.系统表结构:系统自动创建,一般存储Oracle的数据字典表和相应的数据;
b.永久表空间:存放数据库永久的数据(表、视图);
c.临时表空间:例如group by,order by等算法会用到一些临时空间,执行结束后释放掉;
d.撤销表空间:用于数据恢复。
三、扩展用户的空间
alter user testUser quota 20m on dbsp_2;
说明:将用户的空间扩展为20m
alter user testUser
quota unlimited on tablespace1
quota unlimited on tablespace2;
说明:给用户指定两个表空间,并且可使用大小不限制
在实际应用中建议表数据和表索引分两个表空间
四、为用户设置权限
初始建立的用户没有任何权限,不能执行任何数据库操作,因此必须为用户设置权限或角色
数据库管理员(数据库管理的角色):CONNECT、RESOURCE、DBA
一般的数据库开发人员:CONNECT、RESOURCE
操作数据库导出、导入:EXP_FULL_DATABASE、IMP_FULL_DATABASE
为用户授予角色:
4.1、connect role(连接角色)
只对其他用户的表有访问权限(select/insert/update/delete)
4.2、resource role(资源角色)
可以创建表、序列、触发器、索引、存储
4.3、dba role(数据库管理员角色)
4.4、用户说明
sys用户,具有create database权限,用户密码(安装时设定)
system用户,没有create database权限,默认密码是manager
scott用户,普通用户,安装时内置好,默认密码是tiger
五、删除用户语句
drop user 用户名 cascade;
drop tablespace dboyd_1; //只删除表空间,但数据文件还在
drop tablespace dboyd_1 including contents and datafiles; //表空间和数据文件一起删除
drop tablespace dboyd_1 including contents; //删除非空表空间,但是不包含物理文件
drop tablespace dboyd_1 including datafiles; //删除空表空间,包含物理文件
drop tablespace dboyd_1 including contents and datafiles cascade constraints; //其他表空间中的表有外键等约束关联到本表空间中的表的字段
六、导入数据库
错误:报表空间不足“unable to create INITIAL extent for segment in tablespace”
修改表空间数据文件大小:
alter database datafile ‘xxx.dbf’ autoextend on next 10m [maxsize500m];
每次扩展10m,最大大小为500m。后续表空间不够,还可以修改maxsize的值。