暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ORACLE数据库备份与还原​

心有玲惜遇奇缘 2020-06-08
504

oracle数据库的备份还原小知识


数据库备份

  • 查询空表并执行SQL

    select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0


    • 执行备份语句

      --备份数据库,在数据库所在电脑执行
      exp 数据库用户名/密码@orcl file=D:\文件名 log=d:\explog.log


      --将同一局域网上的Oracle数据库导出备份到本机电脑上,在本地执行
      exp 数据库用户名/密码@192.168.120.114/ORCL file=D:\文件名 log=d:\explog.log


      数据库还原

      • 查看表空间位置

        SELECT * FROM Dba_Data_Files ddf WHERE ddf.tablespace_name = 'USERS';



        • 创建表空间

          create tablespace 表空间
          logging
          datafile '表空间路径\表空间.dbf'
          size 50m
          autoextend on
          next 50m maxsize 20480m
          extent management local;


          • 创建用户

            create user 新建用户名 identified by 密码 default tablespace 表空间 temporary tablespace temp;


            • 将DBA权限授给创建的用户

              grant dba to 新建用户名;


              • 查看数据文件位置

                select name from v$datafile;
                select * from dba_tablespaces;


                • 删除表空间

                  DROP TABLESPACE 表空间 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;


                  • 删除用户

                    drop user RCGL_CNNC CASCADE;


                    • 数据还原命令

                      --fromuser 和 touser 两个参数k而已去掉
                      imp 新建用户名/密码@ORCL file=D:\文件名称 fromuser=来源用户名 touser=还原用户名 buffer=1024000 log=D:\imp.log ignore=y;


                      使用Windows自带的定时任务,实现自动备份功能

                      • 数据库备份且删除七天前的文件,可添加到Windows任务中,自动执行。下面代码使用记事本保存,修改为.bat可执行文件即可

                        set m=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%


                        exp 用户名/密码@orcl file=D:\文件路径\文件名称%m%.dmp


                        forfiles P D:\备份文件路径 /D -7 /S /M *.dmp /C "cmd /c del @path"


                        文章转载自心有玲惜遇奇缘,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                        评论