备份数据库有三种方式
第一种:导出整个库(数据库管理员用户操作)
导出:
exp username/password@ip:1521/sid file=d:\filename.dmp full=y
导入
imp username/password@ip:1521/sid file=d:\filename.dmp ignore=y
(1)整库导出直接执行 exp username/password@ip:1521/sid file=d:\filename.dmp full=y
(2)恢复方法
删除所有的库,在导入
第二种:按用户导出
导出
exp username/password@ip:1521/sid file=d:\filename.dmp owner=username
导入
imp username/password@ip:1521/sid file=d:\filename.dmp fromuser=username touser=username ignore=y
(1)导出用户直接执行 exp username/password@ip:1521/sid file=d:\filename.dmp owner=username
(2)恢复方法
1.1 删除所要导入的用户执行脚本
drop user xx cascade; ,如果删除不了,有两种解决办法
1.1.1 如果无法删除,查看当前的用户连接状态
select username,sid,serial# from v$session
1.1.2 找到要删除用户的sid,和serial,并删除
alter system kill session '532,4562'
1.1.3 杀掉进程,后重新删除
drop user oa cascade;
1.2.1 直接停掉oracel服务,在删除用户
1.2 创建用户
create user oa identified by oa_123
default tablespace oa
temporary tablespace oa_TEMP;
--给用户授权
grant connect,resource,dba,create session,create table to oa;
新建用户后在执行导入
imp username/password@ip:1521/orcl file=E:\bak\oa.dmp fromuser=oa touser=oa ignore=y
数据库导入执行完成
第三种:导出某些表
导出
exp username/password@ip:1521/sid file=d:\filename.dmp tables=(tablename1,tablename2,```)
导入
imp username/password@ip:1521/sid tables=(tablename1,tablename2,```) file=d:\filename.dmp ignore=y
(1)导出某些表直接执行 exp username/password@ip:1521/sid file=d:\filename.dmp tables=(tablename1,tablename2,```)
(2)恢复方法
1.1 删除所有需要恢复的表
1.2 执行导入脚本
imp username/password@ip:1521/sid tables=(tablename1,tablename2,```) file=d:\filename.dmp ignore=y
数据库操作基本语句
--1建表空间
create tablespace OA
datafile 'E:\app\oradata\orcl\OA\OA1.DBF' size 2048M
autoextend on
next 100M
maxsize unlimited;
--建临时表空间
create temporary tablespace OA_TEMP
tempfile 'E:\app\oradata\orcl\OA\OA_TEMP.DBF' size 1024M
autoextend on
next 100M
maxsize unlimited;
create user oa identified by oa_123
default tablespace oa
temporary tablespace oa_TEMP;
--给用户授权
grant connect,resource,dba,create session,create table to oa;
导出成功
exp username/password@ip:1521/orcl full=y file=E:\bak\oa.dmp
导入步骤:
删除用户(drop user ;仅仅是删除用户,drop user xx cascade ;会删除此用户名下的所有表和视图。)
drop user oa cascade;