迪士尼布鲁托:用户管理的备份
来源:百度文库 编辑:九乡新闻网 时间:2024/04/26 07:46:32
1、
SQL> conn sys/sys@ora10g as sysdba;
已连接。
SQL> select name from v$datafile
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
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL02.CTL F:\oracle\u
ser_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\CONTROL03.CTL F:\oracle\u
ser_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSAUX01.DBF F:\oracle\us
er_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSTEM01.DBF F:\oracle\us
er_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UNDOTBS01.DBF F:\oracle\u
ser_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF F:\oracle\use
r_manage_backup
已复制
SQL> startup
ORACLE 例程已经启动。
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
数据库装载完毕。
数据库已经打开。
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
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\SYSAUX01.DBF F:\oracle\us
er_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\UNDOTBS01.DBF F:\oracle\u
ser_manage_backup
已复制
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\USERS01.DBF F:\oracle\use
r_manage_backup
已复制
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
已复制
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
已复制
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;
---------- ------------------
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、
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
------------------------------------ ----------- ------------------------------
user_dump_dest
SQL> select a.spid from v$process a,v$session b
SPID
------------
184
这样我们就可以找到这个跟踪文件,名字的格式为:ORACLE_SID_ORA_SPID.TRC
D:\oracle\product\10.2.0\admin\ora10g\udump>DIR
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-16
2007-04-17