一、 表空间和数据文件的关系:
文件组成:数据文件,控制文件,数据库日志文件
数据文件:.dbf 包含全部数据库数据(表,索引等),一个数据文件仅与一个数据库关联。一旦建立,只增不减。
表空间(TableSpace):一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。一个数据文件只能和一个表空间关联。每一个数据库都有一个SYSTEM表空间,可以设置除SYSTEM表空间外的所有表空间在线,离线属性状态。
段(SEGMENT):数据段,索引段,退回段,临时段。
区:磁盘空间分配最小单位。由连续的数据块组成。
数据块:数据库I/O的最小单位,最小数据组织单位与管理单位。数据块大小由db_block_size决定。用select name,value from v$parameter where name='db_block_size'查询数据块大小。
二、 表空间:
创建: CREATE TABLESPACE MYSPACE
DATAFILE 'E:/Data/A.ORA' SIZE 10M,
'E:/Data/B.ORA' SIZE 5M
EXTENT MANAGEMENT LOCAL 本地管理表空间
UNIFORM SIZE 1M 每个分区统一大小
扩充表空间:ALTER TABLESPACE MYSPACE
ADD DATAFILE 'E:/Data/C.ORA' SIZE 10M
三、 常用语句:
修改某个字段为主键:
alter table student add constraint pk primary key (pkid)
修改某个字段为非空:
alter table student modify(pkid primary)
四、 备份和恢复:
分类:逻辑备份(IMP&EXP)、物理备份(脱机及联机备份)、利用RMAN(Recovery Manager)的增量物理文件系统备份。
逻辑备份:表空间备份、表备份、用户备份、完全备份
所需权限:Create Session和Exp_Full_DATABASE
备份:exp 用户名/密码@服务器网络连接
导出文件格式:*.dmp
恢复:imp
备份问题:
- 有主外键约束的,要先导入主表再导入从表,否则会导入失败。
- 权限不够会导入失败。
- exp大于80M 如果compress=Y压缩到一个数据块时,导入时如果不存在一个连续的大数据块,导入失败。解决办法就是导出时compress=N不压缩在一个数据块上。
- imp和exp字符集不同。
- imp和exp不能向上兼容。