基于时间点热备份

  • 格式:doc
  • 大小:82.50 KB
  • 文档页数:9

1—8点为准备工作! 1. 打开命令提示符:

2. 进入sqlplus: Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus system/orcl SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 10月 19 11:44:09 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options

SQL> 3. 查看archivelog:(archive log list): SQL> archive log list ORA-01031: 权限不足 SQL> 4. 换超级管理用户:sys : SQL> conn sys/orcl as sysdba 已连接。 SQL> 5. 再次查看archivelog:(archive log list): SQL> archive log list 数据库日志模式 非存档模式 自动存档 禁用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 当前日志序列 3 SQL> 6. 修改为归档模式和自动存档:(需要先关掉数据库实例): SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 167772160 bytes Fixed Size 1247900 bytes Variable Size 75498852 bytes Database Buffers 88080384 bytes Redo Buffers 2945024 bytes 数据库装载完毕。 SQL> alter database archivelog;

数据库已更改。 SQL> alter database open; 数据库已更改。 SQL> archive log list 数据库日志模式 存档模式 自动存档 启用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 下一个存档日志序列 3 当前日志序列 3 SQL> 7. 我们需要使用scott用户来进行数据插入,所以查看scott是否解锁.(需要sys or system 用户查看:若没解锁,就进行解锁,并进行秘密修改为orcl): SQL> conn system/orcl 已连接。 SQL> select username,account_status from dba_users;

USERNAME ACCOUNT_STATUS ------------------------------ -------------------- MGMT_VIEW OPEN SYS OPEN SYSTEM OPEN DBSNMP OPEN SYSMAN OPEN SCOTT EXPIRED & LOCKED OUTLN EXPIRED & LOCKED MDSYS EXPIRED & LOCKED ORDSYS EXPIRED & LOCKED CTXSYS EXPIRED & LOCKED ANONYMOUS EXPIRED & LOCKED USERNAME ACCOUNT_STATUS ------------------------------ -------------------- EXFSYS EXPIRED & LOCKED DMSYS EXPIRED & LOCKED WMSYS EXPIRED & LOCKED XDB EXPIRED & LOCKED ORDPLUGINS EXPIRED & LOCKED SI_INFORMTN_SCHEMA EXPIRED & LOCKED OLAPSYS EXPIRED & LOCKED MDDATA EXPIRED & LOCKED DIP EXPIRED & LOCKED TSMSYS EXPIRED & LOCKED

已选择21行。 SQL> alter user scott account unlock;

用户已更改。 SQL> select username,account_status from dba_users where username=upper('scott');

USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- SCOTT EXPIRED SQL> alter user scott identified by orcl;

用户已更改。 SQL> 8. 转换用户scott,目的是把数据存储在users表空间里边,即存储于users01.dbf): SQL> conn scott/orcl 已连接。 SQL> 9. 让数据库处于备份状态,拷贝数据文件,恢复数据库正常状态:() A.在sqlplus下设置: SQL> ALTER DATABASE begin backup; B.在命令提示符下:(复制数据文件,其他不要!共5个数据文件) Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>cd c:\ C:\>copy D:\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF D:\test\SYSAUX01.DBF

已复制 1 个文件。 C:\>copy D:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF D:\test\SYStem01.DBF

已复制 1 个文件。 C:\>copy D:\oracle\product\10.2.0\oradata\orcl\temp01.DBF D:\test\temp01.DBF 已复制 1 个文件。

C:\>copy D:\oracle\product\10.2.0\oradata\orcl\undotbs01.DBF D:\test\undotbs01.D BF 已复制 1 个文件。

C:\>copy D:\oracle\product\10.2.0\oradata\orcl\Users01.DBF D:\test\Users01.DBF 已复制 1 个文件。

C:\> C.在sqlplus下设置: SQL> alter database end backup; 10. 使用scott用户登录sqlplus进行创建T1表,数据100W条: A.创建表和插入数据的sql代码: create table T1 tablespace users as select rownum as id, to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime, trunc(dbms_random.value(0, 100)) as random_id, dbms_random.string('x', 20) random_string from dual connect by level <= 1000000; B.scott用户登录sqlplus:创建T1表,插入数据100W条. Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus scott/orcl SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 10月 20 15:00:51 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options

SQL> create table T1 tablespace users as 2 select rownum as id, 3 to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') a s inc_datetime, 4 trunc(dbms_random.value(0, 100)) as random_id, 5 dbms_random.string('x', 20) random_string 6 from dual 7 connect by level <= 1000000;

表已创建。 C.提交,commit,记录commit时间: SQL> commit;

提交完成。 SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss ') from dual; TO_CHAR(SYSDATE,'YYY -------------------- 2010-10-20 15:06:21 11. 重复10点继续创建表T2、T3,数据为200W、300W,并记录commit时间: A. 创建T2表,插入数据200W条. SQL> create table T2 tablespace users as 2 select rownum as id, 3 to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') a s inc_datetime, 4 trunc(dbms_random.value(0, 100)) as random_id, 5 dbms_random.string('x', 20) random_string 6 from dual 7 connect by level <= 2000000;