扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
通过手工管理数据库备份的方式通常是在对数据库进行文件方面的操作,这个过程需要管理员全面参与并且手工完成。与使用RMAN不同的是手工管理不再完全依赖系统定义的参数进行配置。
站在用户的角度思考问题,与客户深入沟通,找到夹江网站设计与夹江网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名、网页空间、企业邮箱。业务覆盖夹江地区。手工冷备步骤
在完全关闭数据库的情况下,我们可以通过拷贝数据库的数据文件,控制文件和重做日志文件来完整的备份数据库。
登录数据库:
# sqlplus sys as sysdba首先查看文件位置:
SQL> select file_name from dba_data_files; SQL> select name from v$controlfile; SQL> select group#,member,status from v$logfile;安全关闭数据库:
SQL> shutdown immediate;然后依次创建datafile,controlfile, redofile三个备份目录,将对应文件一次拷贝到这三个目录即可。
对数据库恢复也只需要将备份的数据拷贝到原来的位置,然后启动数据库即可。
手工热备步骤
在使用联机热备功能的时候需要将数据置于归档模式.
SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 27 Next log sequence to archive 29 Current log sequence 29 SQL>显示处于开启状态。查看进程状态正常:
[root@temp-test ~]# ps -ef|grep arc oracle 8724 1 0 Nov06 ? 00:00:02 ora_arc0_orcl oracle 8726 1 0 Nov06 ? 00:00:04 ora_arc1_orcl oracle 8728 1 0 Nov06 ? 00:00:02 ora_arc2_orcl oracle 8730 1 0 Nov06 ? 00:00:02 ora_arc3_orcl设置归档日志文件的冗余,保证数据安全:
查看归档日志相关参数:
SQL> show parameter log_archive_dest;新建三个目录,分别存放三分相同的归档日志作为冗余备份:
[oracle@temp-test ~]$ mkdir -p /data/app/backup/arc{1..3} [oracle@temp-test ~]$ ll /data/app/backup/ total 0 drwxr-xr-x 2 oracle oinstall 6 Nov 7 13:44 arc1 drwxr-xr-x 2 oracle oinstall 6 Nov 7 13:44 arc2 drwxr-xr-x 2 oracle oinstall 6 Nov 7 13:44 arc3设置3个归档目录:
SQL> alter system set log_archive_dest_1='location=/data/app/backup/arc1 mandatory'; System altered. SQL> alter system set log_archive_dest_2='location=/data/app/backup/arc2 optional'; System altered. SQL> alter system set log_archive_dest_3='location=/data/app/backup/arc3'; System altered.查看设置信息:
SQL> show parameter log_archive;mandatory表示强制日志归档的目录,要求日志数据必须归档成功后才可以切换,optional是可选的归档不成功也可以切换日志,如果optional目录损坏,不影响日志归档。
执行日志切换,归档文件会保存到指定的目录中:
SQL> alter system switch logfile; System altered.生成三份相同的归档文件:
[oracle@temp-test backup]$ tree /data/app/backup/ /data/app/backup/ ├── arc1 │ └── 1_29_959021937.dbf ├── arc2 │ └── 1_29_959021937.dbf └── arc3 └── 1_29_959021937.dbf设置最少必须归档成功的日志数量,必须成功两份:
SQL> alter system set log_archive_min_succeed_dest=2; System altered.SQL> show parameter log_archive_min_succeed_Dest; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_min_succeed_dest integer 2由于总共只有三个冗余文件,如果设置的数量大于3会报错。
备份数据,查看表空间对应的数据文件:
SQL> col file_name for a47 SQL> col tablespace_name for a10 SQL> select file_id,file_name,tablespace_name from dba_data_files; FILE_ID FILE_NAME TABLESPACE ---------- ----------------------------------------------- ---------- 4 /data/app/oracle/oradata/orcl/users01.dbf USERS 3 /data/app/oracle/oradata/orcl/undotbs01.dbf UNDOTBS1 2 /data/app/oracle/oradata/orcl/sysaux01.dbf SYSAUX 1 /data/app/oracle/oradata/orcl/system01.dbf SYSTEM 5 /data/app/oracle/oradata/orcl/example01.dbf EXAMPLE这里我们备份USER表,ID为4,将表置于备份模式:
SQL> alter tablespace users begin backup; Tablespace altered.查看备份状态,ID为4的user表显示为active:
SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- --------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 ACTIVE 1529624 07-NOV-17 5 NOT ACTIVE 0然后直接使用系统的cp命令,拷贝对应目录下的数据文件,到备份目录即可。然后结束备份模式:
SQL> alter tablespace users end backup; Tablespace altered. SQL> select * from v$backup; FILE# STATUS CHANGE# TIME ---------- ------------------ ---------- --------- 1 NOT ACTIVE 0 2 NOT ACTIVE 0 3 NOT ACTIVE 0 4 NOT ACTIVE 1529624 07-NOV-17 5 NOT ACTIVE 0将当前重做日志信息写入归档日志文件:
SQL> alter system archive log current; System altered. # 一段时间后,检查点恢复一致 SQL> select checkpoint_change#, file# from v$datafile; CHECKPOINT_CHANGE#FILE# ------------------ ---------- 1530603 1 1530603 2 1530603 3 1530603 4 1530603 5另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流