数据文件:xxx.dbf
控制文件:xxx.ctl => 指定谁可以使用 一些信息
日志文件:xxx.log
加载数据库时,先加载控制文件,再加载数据文件和日志文件
a.表空间: 逻辑概念空间最大 包含一个或多个数据文件(一个数据文件只能属于一个表空间)
b.段 : 表段,临时段....
c.区 : 连续空间
d.块 : 数据库中最小的单位,数据库开辟空间总是块的整数倍 (默认8k)
数据文件与表无关,只与表空间有关
一个表空间可以对应多个数据文件
dba:数据库管理员
dba_tablespaces:查看系统中存在的表空间结构
desc 表名或视图名;
注意:当数据库管理系统中的有多个数据库时,默认连接的是最后创建的数据库
1.oracle表空间
数据库中的关键字、字段名不区分大小写,字段值区分大小写
表空间的数据文件有两种类型:
bigfile:只一个数据文件 128T--32T
smallfile(默认类型):至少一个数据文件 2^22*block_size
表空间的三种类型(contents):
1).permanent(默认):永久表空间
创建临时表空间:
create tablespace my_ts
datafile 'E:\oracle\app\Administrator\oradata\maxs\my.dbf'
size 10M;
查看表空间:
select tablespace_name,contents from dba_tablespaces;
2).undo :重做(不确定的数据,可能会保存或删除)
创建临时表空间:
create undo tablespace my_undo_ts
datafile 'E:\oracle\app\Administrator\oradata\maxs\myUndo.dbf'
size 10M;
查看表空间:
select tablespace_name,contents from dba_tablespaces;
3).temporary:临时表空间
创建临时表空间:
create temporary tablespace my_temp_ts
tempfile 'E:\oracle\app\Administrator\oradata\maxs\myTemp.dbf'
size 10M;
查看表空间:
select tablespace_name,contents from dba_tablespaces;
4).创建多个表空间:
create tablespace my_ts
datafile 'E:\oracle\app\Administrator\oradata\maxs\my1.dbf' size 10M,
'E:\oracle\app\Administrator\oradata\maxs\my2.dbf' size 10M;
5).修改表空间:
alter tablespace 表空间名
6).添加数据文件:文件不能重名
alter tablespace my_ts
add datafile 'E:\oracle\app\Administrator\oradata\maxs\my3.dbf'
size 10M;
7).删除数据文件:
alter tablespace my_ts
drop datafile 'E:\oracle\app\Administrator\oradata\maxs\my3.dbf';
8).删除表空间:
drop tablespace my_ts;
2.权限管理
sys:对所有数据库的操作 超级管理员
system:对一个数据的操作 普通管理员
普通用户:对数据的操作
a.创建用户: 用户名 密码(密码不能为空,也不能是数字开头)
create user yc identified by yc
default tablespace my_ts
temporary tablespace my_temp_ts;
如果没有指定表空间:默认使用系统提供的system和temp表空间
查看所有用户: select * from dba_users;
权限:用户可以做什么 dba_sys_privs
查看结构:
desc dba_sys_privs;
查看权限:
select * from dba_sys_privs;
角色:一组权限的集合
查看结构:
desc dba_roles;
查看权限:
select * from dba_roles;
登录到普通管理员system
b.授权:(角色或权限) 一般赋予给角色 ( 管理员角色=>dba )
连接 资源
grant connect,resource to yc;//给用户yc赋于连接和使用资源角色
登录: conn yc/yc@maxs
锁定用户:
查看当前用户的权限:
conn system/a@maxs
select * from user_sys_privs where grantee = 'YC';
alter user yc account lock;//管理员执行此操作
解锁用户:
alter user yc account unlock;//管理员执行此操作
conn yc/yc@maxs
show user;
回收权限:
revoke connect,resource from yc;//管理员执行此操作
删除用户:
drop user yc;
修改密码:
用户名
alter user yc identified by 新密码;