Oracle 实例监听:
RAC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(FAILOVER_MODE =
(TYPE = session)
(METHOD = basic)
(RETRIES = 180)
(DELAY = 5)
)
)
)
Rac1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
Rac2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
ASM 实例监听配置,手动的修改tnsnames.ora 文件。
如何配置从远程客户端 来访问ASM 实例,参考Blog:
在这里做一下说明, RAC 的数据文件和控制文件都是放在共享设备上的,所以添加数据文件或对数据文件做修改时,只需要在一个节点上进行就可以了。
一. 用别名管理数据文件
1.1 查看已经存在的数据文件:
C:/Users/Administrator.DavidDai>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9月
Copyright (c) 1982, 2010, Oracle. All rights reserved
SQL> conn sys/oracle@rac2 as sysdba;
已连接。
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------
+DATA/orcl/datafile/users.279.730181053
+DATA/orcl/datafile/sysaux.277.730181053
+DATA/orcl/datafile/undotbs1.278.730181053
+DATA/orcl/datafile/system.276.730181051
+DATA/orcl/datafile/undotbs2.284.730181347
ASM文件名字的格式是固定的:+group/dbname/file type/tag.file.incarnation
在创建db时系统自动创建的几个表空间(system,undotbs,sysaux,users)对应的都是真实的数据文件,即ASM 文件默认的命名格式。而且这个信息都写到了控制文件里。 如果我们使用别名的话,会方便很多。 对于这些创建数据库时自动创建的表空间,我们要他们使用别名,除了手工创建对应别名外,还需要重建控制文件,并且在重建时,datafile 里写别名的信息。 这样数据库也就使用别名了。
1.2 创建一个别名
注意: 别名的相关操作都要连接到ASM实例进行。 这也是我们前面配置ASM 监听的原因。
C:/Users/Administrator.DavidDai>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9月 23 12:07:24 2010
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn sys/oracle@ASM AS SYSDBA
已连接。
SQL> select name from v$asm_diskgroup;
NAME
-------------------------------------------
DATA
FLASH_RECOVERY_AREA
1.2.1 使用全路径来创建
SQL> ALTER DISKGROUP DATA ADD ALIAS '+DATA/orcl/datafile/undotbs1.dbf'
FOR '+DATA/orcl/datafile/undotbs1.278.730181053';
1.2.2 使用数据文件的编号来创建
这里的编号就最后几个数字,在下面这个文件里,编号就是:284.730181347
+DATA/orcl/datafile/undotbs2.284.730181347
看一下创建SQL:
SQL> ALTER DISKGROUP DATA ADD ALIAS '+DATA/orcl/datafile/undotbs2.dbf'
2 FOR '+DATA.284.730181347'; -- 注意这里的格式
磁盘组已变更。
来查看别名的信息,这里要用asmcmd命令:
[oracle@rac1 admin]$ export ORACLE_SID=+ASM1
[oracle@rac1 admin]$ asmcmd
ASMCMD> pwd
+DATA/ORCL/DATAFILE
ASMCMD> ls -a
+DATA/ORCL/DATAFILE/dave.dbf => DAVE.288.730415847
none => SYSAUX.257.729962649
none => SYSAUX.261.729964001
none => SYSAUX.266.729966263
none => SYSAUX.270.729970051
none => SYSAUX.277.730181053
none => SYSTEM.256.729962647
none => SYSTEM.260.729963993
none => SYSTEM.265.729966263
none => SYSTEM.269.729970045
none => SYSTEM.276.730181051
none => UNDOTBS1.258.729962649
none => UNDOTBS1.262.729964005
none => UNDOTBS1.267.729966265
none => UNDOTBS1.271.729970057
+DATA/ORCL/DATAFILE/undotbs1.dbf => UNDOTBS1.278.730181053
+DATA/ORCL/DATAFILE/undotbs2.dbf => UNDOTBS2.284.730181347
none => USERS.259.729962651
none => USERS.263.729964005
none => USERS.268.729966267
none => USERS.272.729970063
none => USERS.279.730181053
dave.dbf
undot