如果没有资源计划,可以使用SYSTEM_PLAN属性:
SQL> ALTER SYSTEM SET RESOURCE_MANAGER_PLAN=SYSTEM_PLAN SCOPE=BOTH;
SQL> SHUTDOWN
SQL> STARTUP
1.6 第六步:在主数据库上为standby数据库的系统表创建备选表空间
如果打算在祝节点进行切换操作,这一步就是必须的。
逻辑standby数据库使用很多定义在SYS和SYSTEM中的表。默认情况下,这些表是创建在SYSTEM表空间上。
注意:这些表中的某些表可能很快就会变得很大。为了防止这些标占满整个SYSTEM表空间,你必须建这些表转移到一个分开的表空间上去。在这些表被创建逻辑standby数据库时频繁使用之前转移这些表。
在主数据库上,使用CREATE TABLESPACE语句为standby数据库创建新的表空间,并使用存储过程DBMS_LOGMNR_D.SET_TABLESPACE将这些表转移到新的表空间上去。
SQL> CREATE TABLESPACE logmnrts$ DATAFILE 'C:\ORACLE\ORADATA\EDGAR\LOGMNRTS.DBF' SIZE 25 M AUTOEXTEND ON MAXSIZE UNLIMITED;
SQL> EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('logmnrts$');
2 创建逻辑standby数据库
2.1 第一步:检查主数据库上的数据文件
确认需要创建道逻辑standby数据库上的文件:
SQL> SELECT NAME FROM V$DATAFILE;
NAME
---------------------------------------------------
C:\ORACLE\ORADATA\EDGAR\SYSTEM01.DBF
C:\ORACLE\ORADATA\EDGAR\UNDOTBS01.DBF
C:\ORACLE\ORADATA\EDGAR\EXAMPLE01.DBF
C:\ORACLE\ORADATA\EDGAR\INDX01.DBF
C:\ORACLE\ORADATA\EDGAR\TOOLS01.DBF
C:\ORACLE\ORADATA\EDGAR\USERS01.DBF
C:\ORACLE\ORADATA\EDGAR\XDB01.DBF
C:\ORACLE\ORADATA\EDGAR\USERDATA\RMAN_TS.DBF
C:\ORACLE\ORADATA\EDGAR\TESTTM2.DBF
C:\ORACLE\ORADATA\EDGAR\USERDATA\ASSMIDX.DBF
C:\ORACLE\ORADATA\EDGAR\USERDATA\BAK_TEST.DBF
C:\ORACLE\ORADATA\EDGAR\LOGMNRTS.DBF
C:\ORACLE\ORADATA\EDGAR\USERDATA\TEST_TEMP.DBF
C:\ORACLE\ORADATA\EDGAR\USERDATA\ASSMDEMO.DBF
2.2 第二步:对主数据库做一个拷贝
采用冷备方式下按照以下步骤对主数据库做拷贝:
1、 关闭主数据库
SQL> SHUTDOWN IMMEDIATE;
2、 将第一步中查询出来的数据文件考到一个临时目录去
C:\> xcopy C:\ORACLE\ORADATA\EDGAR\* C:\ORACLE\ORADATA\TEMP\
3、 以mount模式启动主数据库
SQL> STARTUP MOUNT;
4、 创建控制文件的备份
SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'C:\oracle\oradata\edgar\backup\ctlbckup01.ctl';
5、 查询出主数据库中的SCN
SQL> SELECT CHECKPOINT_CHANGE# FROM V$DATABASE;
CHECKPOINT_CHANGE#
------------------
2696167892
6、 打开主数据库,并切换日志文件
SQL> ALTER DATABASE OPEN;
SQL> ALTER SYSTEM SWITCH LOGFILE;
7、 通过操作系统拷贝工具讲以下文件拷贝到standby节点上去
· 将前面拷贝到临时目录中的文件拷贝到standby节点相应目录中去。
· 将数据库初始化文件和密码文件拷贝到standby节点相应目录中去。
· 将上一步中日志切换操作产生的归档日志文件拷贝到standby节点的归档日志目录中去。要保持归档日志格式一致。
8、 进入下一步:给standby节点修改初始化参数文件
采用热备方式下按照以下步骤对主数据库做拷贝: