实例创建好了,需要在数据库上做一些准备工作,包括打开数据库归档模式,打开Block Change tracking,创建user用户等
一、检查asm_diskstring参数是否正确,不能为空.
su - grid
sqlplus / as sysasm
注:若是不能登录,则需要在grid用户下,添加export ORACLE_SID=+ASM1(ASM1以实际数据库的ASM磁盘名为准,本文中第一节点是ASM1)
Sql>show parameter asm_diskstring
Alter SYSTEM set ASM_DISKSTRING = '/dev/raw*'
二、对于每个需要保护的数据库,执行以下步骤:
1、su - oracle
2、检查/etc/oratab
每个Oracle实例必须在/etc/oratab文件中有一条记录,否则无法发现相应的实例:
oasm:/home/oracle/app/oracle/product/11.1.0/db_1:Y
注:此文件中有类似此行就行,是Y或N没关系。
3、检查归档是否打开
sql>archive log list
注:若是结果中出现Enabled,则证明归档已经打开,无需执行下面“打开归档”操作,否则,需要执行下面“打开归档”操作。
打开归档(第一节点):
Sql>shutdown immediate
打开归档(第二节点):
Sql>shutdown immediate
打开归档(第一节点):
Sql>startup mount
Sql>alter database archivelog;
Sql>alter database open;
打开归档(第二节点):
Sql>startup mount
Sql>alter database open;
如果是RAC,需要先关闭两个实例,在其中一个节点上修改归档模式,按上面顺序操作即可。
4、检查是否使用spfile
sql>show parameter spfile
5、创建datasafe backup用户
sql>create user res identified by res123456;
sql>grant create session,resource,sysdba to res ;
RAC,第二句赋权语句必须在两个节点上都执行,创建用户只要在一个节点执行即可
6、启用block change tracking
sql>select * from v$block_change_tracking;
sql> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '<ASM Disk Group Name>’;
例:<ASM Disk Group Name>是代表ASM磁盘组放数据的盘,若是有多个,如DATA,DATA01等等,只需选择一个,如选择DATA即可,其他的则有oracle自动获得。
如:ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA';
如何查看<ASM Disk Group Name>,如下:
7如果是RAC,需要确保snapshot controlfile在共享磁盘中:
su - oracle
rman target / 或RMAN target /
RMAN> show all
RMAN>configure snapshot controlfile name to ‘+<DG name>/snap_<DB name>.f’
例:configure snapshot controlfile name to '+DATA/snap_test.f
注:snap_<DB name>.f中<DB name>可自定义。DATA是ASM共享数据盘。
8在$ORACLE_HOME/network/admin/tnsnames.ora中配置instance同名的网络服务名,把两个节点的都加进来。并测试是否能连接成功
nano $ORACLE_HOME/network/admin/tnsnames.ora
RES=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan-cluster)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = res)
)
)
RES1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.78)(PORT = 1521))
(CONNECT_DATA =
(INSTANCE_NAME = res1)
(SERVICE_NAME = res)
)
)
RES2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.79)(PORT = 1521))
(CONNECT_DATA =
(INSTANCE_NAME = res2)
(SERVICE_NAME = res)
)
)
上面的红色的IP要改成自己实际的IP地址
$tnsping <instance_name>
例:tnsping test1,出现OK则成功。
$sqlplus res/res123456@<instance_name>
例:sqlplus res/res123456@res,能登录则成功
RAC,需要在每个节点上都配置