美丽Oracle之-第四天 备份、还原、表空间、序列、视图
一、 逻辑备份:
1) 导出(备份)export
2) 导入(还原)import
导出:
1、 导出当前用户下的表
exp 用户名/密码 tables=(表1,……表n) file=路径+文件名.dmp
如:
exp scott/tiger tables=(emp) file=c:/1.dmp
2、 导出其他用户下的表:(administrator)
exp 管理员/密码 tables(用户.表1,……用户.表n) file=路径+文件名.dmp
如:
exp system/manager tables=(scott.emp) file=c:/1.dmp
3、 导出当前用户的方案:
exp 用户名/密码 file=路径+文件名.dmp
如:
exp scott/tiger file=c:/1.dmp
4、 导出其他用户的方案:(administrator)
exp 管理员/密码 owner=用户名 file=路径+文件名.dmp
如:
exp system/manager owner=scott file=c:/1.dmp
导入:
1、 导入表到当前入户下:
imp 用户名/密码 tables=(表1,……表n) file=路径+文件名.dmp
如:
imp scott/tiger tables=(emp) file=c:/1.dmp
2、 导入表到其他用户下:
imp 管理员/密码 touser=用户名 tables=(表1,……表n) file=路径+文件名.dmp
如:
imp system/manager touser=scott tables(emp) file=c:/1.dmp
3、 导入方案到当前用户下:
imp 用户名/密码 file=路径+文件名.dmp
如:
imp scott/tiger file=c:/1.dmp
4、 导入方案到其他用户下:(administrator)
imp 管理员/密码 file=路径+文件名.dmp fromuser=用户1 touser=用户2
如:
imp system/manager file=c:/1.dmp fromuser=scott touser=tiger
二、 表空间的使用:
1、 建立用户表空间:
create tablespace 表空间名 datafile
‘路径+文件1.dbf’ size 大小MB,
‘路径+文件n.dbf’ size 大小MB,
2、 建立临时表空间:
create temporary tablespace 表空间名 temfile
‘路径+文件1.dbf’ size 大小MB,
‘路径+文件n.dbf’ size 大小MB,
建表时没有指定表空间,使用用户的默认表空间。建表时主键和唯约束会产生索引,没有指定时同样也适用用户默认的空间
建表时不要使用系统表空间,会使Oracle系统性能下降
3、 索引表空间:
命令与建用户表空间相同,以名称区别
注:
Oracle可以将不同对象分别存在不同的表空间中,提高系统性能
4、 建立表时指定表空间:
create table 表名
(
字段1 类型 [primary key using index tablespace 索引表空间名]
……
字段n 类型 [约束]
)
tablespace 用户表空间
5、 建索引命令:
create index 索引名 on 表 (字段) [tablespace 索引表空间名]
注:
表空间大小就是表空间中数据文件的大小之和
6、 修改表空间:
1) 修改现有的数据文件/临时文件大小
alter database datafile/tempfile ‘路径+文件名.dbf’ resize 大小MB
2) 给现有的表空间增加数据文件/临时文件
alter tablespace 表空间名 datafile/tempfile ‘路径+文件名.dbf’ size 大小MB
7、 删除表空间:
drop tablespace 表空间名
drop tablespace 表空间名 including contents and datafiles
三、 序列:
Oracle中的序列是一个独立的对象,可以产生连续并唯一的编号,相当于SQLServer中的identity
1、 建立序列:
create sequence 序列名
[
increment by 值 增量
start with 值 初值
minvalue 值 最小值
maxvalue 值 最大值
cycle/nocyle 是否循环
cache 值/nocache 是否放入缓存区
]
2、 序列中的两个伪列:
1)序列.nextval 取序列的下一个值
2)序列.currval 取序列当前值,在这之前必须使用一次nextval
3、向表中写入序列:
insert into emp values (seq1.nextval,’a’)
4、修改序列:
alter sequence 序列名
[
increment by 值
minvalue 值
maxvalue 值
cycle/nocyle
cache 值/nocache
]
注:修改序列时,不可修改初值
5、 删除序列:
drop sqquence 序列名
四、 视图:
是一个虚拟表,只存放select语句,真正的数据来源于表
1、 建立视图:
create or replace view 视图名
as
select 语句
[with check option]
·create or replace 创建和修改
·with check option 检查数据是否符合视图要求
1) 视图中的数据与表的数据一一对应,视图可以改,表也可以改,当select语句中只存在一个表时可修改
2) 使用视图时不要使用update,尽量全使用查询
2、 优点:
1) 可重复利用
2) 安全
3) 提高效率
3、 删除视图:
drop view 视图名