数据库Oracle

时间:2024-01-21 15:16:39

一、 表空间和数据文件的关系:

文件组成:数据文件,控制文件,数据库日志文件

数据文件:.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

备份问题:

  1. 有主外键约束的,要先导入主表再导入从表,否则会导入失败。
  2. 权限不够会导入失败。
  3. exp大于80M 如果compress=Y压缩到一个数据块时,导入时如果不存在一个连续的大数据块,导入失败。解决办法就是导出时compress=N不压缩在一个数据块上。
  4. imp和exp字符集不同。
  5. imp和exp不能向上兼容。