迪士尼布鲁托:用户管理的备份

来源:百度文库 编辑:九乡新闻网 时间:2024/04/26 07:46:32
用户管理的备份一、 备份数据库
1、 一致性备份(此方法适合于归档模式也适合于非归档模式)
SQL> conn sys/sys@ora10g as sysdba;
已连接。
SQL> select name from v$datafile
  union
  select name from v$controlfile;

NAME
--------------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL01.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL02.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL03.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF

已选择7行。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL01.CTL F:\oracle\u
ser_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL02.CTL F:\oracle\u
ser_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL03.CTL F:\oracle\u
ser_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSAUX01.DBF F:\oracle\us
er_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF F:\oracle\us
er_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UNDOTBS01.DBF F:\oracle\u
ser_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF F:\oracle\use
r_manage_backup
已复制         1 个文件。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1247876 bytes
Variable Size              79693180 bytes
Database Buffers           79691776 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
数据库已经打开。
2、 数据库非一致性备份(此方法只适合于归档模式)
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF

SQL> alter database begin backup;

数据库已更改。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF F:\oracle\us
er_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSAUX01.DBF F:\oracle\us
er_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UNDOTBS01.DBF F:\oracle\u
ser_manage_backup
已复制         1 个文件。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF F:\oracle\use
r_manage_backup
已复制         1 个文件。

SQL> alter database backup controlfile to 'f:\oracle\user_manage_backup\backup.c
tl'
  /

数据库已更改。

SQL> alter database end backup;

数据库已更改。

SQL> alter system archive log current;

系统已更改。
二、 备份表空间
1、 脱机备份
因为SYSTEM表空间和UNDO表空间不能被脱机,所以脱机表空间备份不适合于SYSTEM和UNDO表空间。
SQL> select file_name from dba_data_files where tablespace_name='USERS';

FILE_NAME
--------------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF

SQL> Alter tablespace USERS offline;

表空间已更改。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF F:\oracle\use
r_manage_backup
已复制         1 个文件。

SQL> alter tablespace users online;

表空间已更改。
2、 联机备份
SQL> select file_name from dba_data_files where tablespace_name='SYSTEM';

FILE_NAME
--------------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF

SQL> alter tablespace SYSTEM begin backup;

表空间已更改。

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF f:\oracle\us
er_manage_backup
已复制         1 个文件。

SQL> alter tablespace SYSTEM end backup;

表空间已更改。
当在执行联机备份过程中出现例程失败:
SQL> alter tablespace users begin backup;

表空间已更改。

此时停止ORACLE进程。
SQL> desc dba_tables;
ERROR:
ORA-12571: TNS: 包写入程序失败
此时例程已经停止了。然后再重新启动数据库。
SQL> conn sys/sys@ora10g as sysdba;
已连接。

SQL> select open_mode from v$database;

OPEN_MODE
----------
MOUNTED

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF'
查询处于联机备份状态的数据文件。
SQL> select file#,status from v$backup;

     FILE# STATUS
---------- ------------------
         1 NOT ACTIVE
         2 NOT ACTIVE
         3 NOT ACTIVE
         4 ACTIVE

SQL> alter database datafile 4 end backup;

数据库已更改。

如果存在多个数据文件处于联机备份状态,那么可以使用ALTER DATABASE END BACKUP命令。对于单个数据文件处于联机备份状态,也可以用RECOVER DATAFILE 4命令结束数据文件的联机备份状态。
SQL> alter database open;

数据库已更改。


3、 备份只读表空间
SQL> alter tablespace users read only;

表空间已更改。

SQL> select tablespace_name from dba_tablespaces where status = 'READ ONLY';

TABLESPACE_NAME
------------------------------
USERS

SQL> select file_name from dba_data_files where tablespace_name='USERS';

FILE_NAME
--------------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF

SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF F:\oracle\use
r_manage_backup
已复制         1 个文件。
三、 备份控制文件
1、 建立控制文件副本
SQL> alter database backup controlfile to 'F:\oracle\user_manage_backup\backup.c
tl';
数据库已更改。
2、 备份到跟踪文件
SQL> alter database backup controlfile to trace;

数据库已更改。
确定跟踪的位置和名称:
SQL> show parameter user_dump_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest                       string      D:\ORACLE\PRODUCT\10.2.0\ADMIN
                                                 \ORA10G\UDUMP
SQL> select a.spid from v$process a,v$session b
  where a.addr=b.paddr and b.username='SYS';

SPID
------------
184
这样我们就可以找到这个跟踪文件,名字的格式为:ORACLE_SID_ORA_SPID.TRC
D:\oracle\product\10.2.0\admin\ora10g\udump>DIR
 驱动器 D 中的卷是 DISK1_VOL2
 卷的序列号是 71BF-5C44

 D:\oracle\product\10.2.0\admin\ora10g\udump 的目录

2007-04-16  13:04   

          .
2007-04-16  13:04   
          ..
2007-04-16  16:50             1,516 ora10g_ora_1724.trc
2007-04-16  13:05             1,060 ora10g_ora_2768.trc
2007-04-16  13:05               587 ora10g_ora_2340.trc
2007-04-16  13:05             2,696 ora10g_ora_3468.trc
2007-04-16  13:06               927 ora10g_ora_2728.trc
2007-04-16  13:06               587 ora10g_ora_2620.trc
2007-04-16  13:06               793 ora10g_ora_292.trc
2007-04-16  13:07               927 ora10g_ora_2076.trc
2007-04-16  13:07               587 ora10g_ora_3276.trc
2007-04-16  13:07               795 ora10g_ora_3848.trc
2007-04-16  15:07               844 ora10g_ora_2500.trc
2007-04-16  15:12               843 ora10g_ora_1620.trc
2007-04-16  15:38               779 ora10g_ora_2864.trc
2007-04-16  16:28               873 ora10g_ora_3112.trc
2007-04-17  09:03               587 ora10g_ora_2192.trc
2007-04-17  09:03               795 ora10g_ora_2432.trc
2007-04-17  11:12               928 ora10g_ora_2520.trc
2007-04-17  11:17               586 ora10g_ora_448.trc
2007-04-17  11:17               795 ora10g_ora_3212.trc
2007-04-17  12:02               587 ora10g_ora_1364.trc
2007-04-17  12:02               795 ora10g_ora_2932.trc
2007-04-17  12:35             8,851 ora10g_ora_184.trc
              22 个文件         27,738 字节
               2 个目录 15,476,408,320 可用字节