美文网首页
oracle数据库备份与还原完整版

oracle数据库备份与还原完整版

作者: 随风飘雁 | 来源:发表于2020-05-07 21:47 被阅读0次

备份和还原数据库是我们开发人员的必备技能,在这里写篇文章记录一下,供大家参考。

oracle创建表空间

备份与还原oracle数据库前,先查一下导出库的表空间,在导入库添加相应的表空间。

  • 查看当前用户的缺省表空间
select * from user_users;
  • 查询用户所有表空间(一个用户可能有多个表空间)
select tablespace_name,owner from dba_segments where owner ='old_db_name' group by tablespace_name,owner;
  • 修改用户表空间
alter user username default tablespace TBS01;
  • (超管)查看表空间
select * from dba_tablespaces;
  • (超管)查看表空间文件
    select * from dba_data_files;

  • 在新库(就是一会要建新用户来还原数据库的机器上的oracle)创建表空间

create tablespace TBS01
datafile '/u01/app/oracle/oradata/TBS01.DBF'
size 128m
autoextend on
    next 50m
    maxsize unlimited;
  • 删除非空表空间,包含物理文件
    drop tablespace TBS01 including contents and datafiles;

oracle创建用户

新增一个用户用来还原数据库(对于oracle,一个数据库就是对应的一个oracle用户)。

说明:备份数据库时查一下用户有哪些权限,新增的用户也分配同样的权限。

  • 创建用户并授权
create user db_user_name identified by oracle
default tablespace TBS01 
temporary tablespace TEMP
profile DEFAULT;

grant connect to db_user_name;
grant resource to db_user_name;
grant create database link to db_user_name;
grant create job to db_user_name;
grant create procedure to db_user_name;
grant create public database link to db_user_name;
grant create synonym to db_user_name;
grant create table to db_user_name;
grant create view to db_user_name;
grant debug connect session to db_user_name;
grant select any dictionary to db_user_name;
grant unlimited tablespace to db_user_name;
  • 查询用户
select * from all_users;   
  • 删除用户
drop user db_user_name cascade;

导出(备份)

  • 执行dos命令,导出数据库备份文件:
exp 'sys/oracle@192.168.10.162/orcl as sysdba' owner=old_db file=d:\old_db.dmp buffer=102400000

导入(还原)

  • 执行dos命令,把数据库备份文件还原到新库:
imp 'sys/oracle@192.168.10.174/orcl as sysdba' fromuser=old_db touser=new_db file=d:\old_db.dmp  log=d:\new_db_imp.log ignore=y;

备注:执行导出导入命令的机器要安装oracle客户端。

相关文章

网友评论

      本文标题:oracle数据库备份与还原完整版

      本文链接:https://www.haomeiwen.com/subject/ggazghtx.html