oracle多实例
二种情况:
1、一个监听在一个IP一个端口上监听多个实例
2、一个监听在一个IP不同端口上监听多个实例
1.oracle服务端的配置
(1)首先是创建1个实例broada,默认有个实例orcl。
修改配置文件listener.ora 和tnsnames.ora
情况1:
listener.ora文件
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = broada)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = broada)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1521))
)
)
tnsnames.ora文件
BROADA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = broada)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
情况2:
listener.ora文件
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = broada)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = broada)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1522)) )
)
tnsnames.ora文件
BROADA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1522)) )
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = broada)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = broada-testteam)(PORT = 1521)) )
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
(2).一个侦听器侦听多个数据库,如下配置,数据库名和SID分别是orcl和broada,
(3).在oracle\product\10.2.0\db_1\BIN里面运行LSNRCTL.EXE,先执行stop,再执行start。
用status查看监听器的状态。
2.Oracle客户端的配置
情况1:
不需要改listener.ora文件
tnsnames.ora文件要增加如下内容
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.126)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
broada =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.126)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = broada)
)
)
情况2:
listener.ora文件要增加如下内容:
(ADDRESS = (PROTOCOL = TCP)(HOST = china-a32af0a11)(PORT = 1522)) tnsnames.ora文件要增加如下内容:
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.126)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
broada =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.126)(PORT = 1522)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = broada)
)
)
有个问题,在客户端下只能用sqlplus system/system@ broada 或者sqlplus system/system@ orcl。
如果加as sysdba的话就会报错ORA-01031: insufficient privileges
经过验证,oracle下是可以一个监听在一个IP一个端口上监听多个实例,一个监听在一个IP不同端口上监听多个实例同时启动的。
BCC暂时没有监测oracle 多实例的监测器。
已有实例Oracle下新增实例
已有实例Oracle下新增实例主要分为5步:创建实例⽬录,创建密码⽂件,创建参数⽂件,创建建库脚本并建库,创建数据字典。
其中,需要特别注意2点:⽬录的权限,即⽤户和所属⽤户组都要是oracle。
可以切换到已存在的oracle⽤户或者以root创建,然后赋权。
创建实例的时候指定编码。
下⾯以 Oracle 10.2.0.1.0为例,开始创建:说明:此服务器上已经有⼀个正常运⾏的oracle实例cms,开机⾃启动,⼀个监听。
已有⼀个⽤户oracle,所属⽤户组oinstall。
oracle环境变量:ORACLE_SID=cms ORACLE_BASE=/oracle/app新建的实例叫mydb1 切换到oracle⽤户,创建实例⽬录,这些⽬录都是ORACLE进程遇到错误或⽤户⼿动TRACE时或数据存放需要的:【注意:下⾯的红⾊地⽅必须为要新建的实例的名字。
】[root@centoscms ~]# su - oracle[oracle@centoscms oradata]$ ORACLE_SID=mydb[oracle@centoscms oradata]$ export ORACLE_SID[oracle@centoscms oradata]$ echo $ORACLE_SID[oracle@centoscms oradata]$ mydb[oracle@centoscms oradata]$ mkdir -p $ORACLE_BASE/admin/mydb/adump;mkdir -p $ORACLE_BASE/admin/mydb/bdump;[oracle@centoscms oradata]$ mkdir -p $ORACLE_BASE/admin/mydb/cdump;mkdir -p $ORACLE_BASE/admin/mydb/udump;[oracle@centoscms oradata]$ mkdir -p $ORACLE_BASE/admin/mydb/pfile;mkdir -p $ORACLE_BASE/oradata/mydb;2 创建密码⽂件,红⾊地⽅为密码⽂件的名字,规则是orapw+实例名,此时即为orapwmydb:【注意:有可能不同的版本密码⽂件所在位置不同,找到dbs⽬录,并看⾥边是否已经有已经存在的实例的密码⽂件。
基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
基础概念:Oracle数据库、实例、用户、表空间、表之间的关系数据库:Oracle数据库是数据的物理存储。
这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。
其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。
可以看作是Oracle就只有一个大数据库。
实例:一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。
一个数据库可以有n个实例。
用户:用户是在实例下建立的。
不同实例可以建相同名字的用户。
表空间:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
数据文件(dbf、ora):数据文件是数据库的物理存储单位。
数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。
而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。
一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。
但是表不是有表空间去查询的,而是由用户去查的。
因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!关系示意图:理解1:Oracle数据库可以创建多个实例,每个实例可以创建多个表空间,每个表空间下可以创建多个用户(同时用户也属于表空间对应的实例)和数据库文件,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中),如下图:理解2:理解1MS有误。
实例下有和,授权访问,是管理的,经授权在中创建,随机存储到不同的中。
Oracle登录 ORA01033 ORACLE正在初始化或关闭的解决方法
Oracle登录ORA-01033: ORACLE正在初始化或关闭的解决方法---------- 李玥Oracle存在多实例?相应的在DOS命令下执行:1. 设置正确的ORACLE实例:set ORACLE_SID = INSTANCE_NAME2. 启动SQLPLUS:sqlplus /nolog3.以DBA(通常有好几个sys或system)用户sqlplus登录:connect system/sys as sysdba??oracle登录错误(ORA-01033:ORACLE initialization or shutdown in progress上面说到了创建表分区的例子,所以创建表空间的时候创建了好几个表空间物理文件,之后感觉创建的有误,想删掉它们,可是删不掉(因为数据库进程启动着),所以把数据库服务给关了,直接Shift+Del把文件给删掉了。
问题出来了:我再次启动oracle相关服务后,登录不了了。
出现了ORA-01033:ORACLE initialization or shutdown in progress?原因就是因为我把介质文件给删掉了解决步骤:以DBA(通常有好几个sys或system)用户sqlplus登录请输入用户名: system/sys as sysdba然后(卸载数据)输入:SQL> shutdown normal会出现:ORA-01109: 数据库未打开?已经卸载数据库。
ORACLE 例程已经关闭。
?然后(装载数据)输入:SQL> startup mount?ORACLE 例程已经启动。
数据库装载完毕。
?之后:SQL>alter database open;第1 行出现错误:ORA-01157: 无法标识/锁定数据文件6 - 请参阅DBWR 跟踪文件ORA-01110: 数据文件6: 'D:/ORACLE/PRODUCT/10.1.0/ORADATA/RAILWAY/2008_1.DAT'?SQL> alter database create datafile 6;数据库已更改。
oracle下的数据库实例、表空间、用户及其表的区分
oracle下的数据库实例、表空间、⽤户及其表的区分完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。
1) 数据库是⼀系列物理⽂件的集合(数据⽂件,控制⽂件,联机⽇志,参数⽂件等);2) Oracle数据库实例则是⼀组Oracle后台进程/线程以及在服务器分配的共享内存区。
在启动Oracle数据库服务器时,实际上是在服务器的内存中创建⼀个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据⽂件。
Oracle有⼀个很⼤的内存快,成为全局区(SGA)。
⼀、数据库、表空间、数据⽂件1、数据库数据库是数据集合。
Oracle是⼀种数据库管理系统,是⼀种关系型的数据库管理系统。
通常情况了我们称的“数据库”,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。
也即物理数据、内存、操作系统进程的组合体。
我们在安装Oracle数据库时,会让我们选择安装启动数据库(即默认的全局数据库)如下图:全局数据库名:就是⼀个数据库的标识,在安装时就要想好,以后⼀般不修改,修改起来也⿇烦,因为数据库⼀旦安装,数据库名就写进了控制⽂件,数据库表,很多地⽅都会⽤到这个数据库名。
启动数据库:也叫全局数据库,是数据库系统的⼊⼝,它会内置⼀些⾼级权限的⽤户如SYS,SYSTEM等。
我们⽤这些⾼级权限账号登陆就可以在数据库实例中创建表空间,⽤户,表了。
查询当前数据库名:select name from v$database;2、数据库实例⽤Oracle官⽅描述:实例是访问Oracle数据库所需的⼀部分计算机内存和辅助处理后台进程,是由进程和这些进程所使⽤的内存(SGA)所构成⼀个集合。
其实就是⽤来访问和使⽤数据库的⼀块进程,它只存在于内存中。
就像Java中new出来的实例对象⼀样。
我们访问Oracle都是访问⼀个实例,但这个实例如果关联了数据库⽂件,就是可以访问的,如果没有,就会得到实例不可⽤的错误。
oracle rac的机制与测试方法
一、Oracle RAC的定义及机制Oracle RAC(Real Application Clusters)是Oracle数据库的一种架构,它允许在多台服务器上运行Oracle数据库实例,并提供对这些实例的访问。
Oracle RAC的主要特点包括:1. 多实例架构:Oracle RAC允许在多台服务器上同时运行多个数据库实例,这些实例可以共享相同的存储。
2. 高可用性:Oracle RAC提供了高可用性和容错能力,任何一个数据库实例出现故障时,系统可以自动切换到其他正常工作的实例。
3. 扩展性:Oracle RAC可以根据需求动态地增加或减少服务器和存储资源,以满足系统的扩展和缩减需求。
4. 负载均衡:Oracle RAC可以自动分发和负载均衡数据库请求,以提高系统的性能和资源利用率。
5. 并行处理:Oracle RAC可以在多个数据库实例之间并行处理数据库请求,提高系统的处理能力。
Oracle RAC的机制主要包括集裙架构、存储架构、网络架构和实例架构等方面,它们共同组成了Oracle RAC的核心机制。
二、Oracle RAC的测试方法1. 硬件测试:硬件测试是Oracle RAC测试的第一步,包括对服务器、存储和网络设备的性能、容量和可靠性等方面进行测试。
2. 软件测试:软件测试是Oracle RAC测试的关键,包括对Oracle数据库软件、操作系统、集裙软件、文件系统等进行功能、性能和可靠性等方面进行测试。
3. 故障测试:故障测试是Oracle RAC测试的重要内容,包括对数据库实例故障、节点故障、存储故障等进行模拟和测试,检验系统的容错和恢复能力。
4. 性能测试:性能测试是Oracle RAC测试的重点,包括对数据库的并发处理能力、负载均衡能力、扩展性等进行测试,评估系统的性能和资源利用率。
5. 容量测试:容量测试是Oracle RAC测试的必要环节,包括对数据库的容量规划、增长预测、资源消耗等进行测试,确保系统的可扩展性和充分利用资源。
oracle orapwd命令使用说明
oracle orapwd命令使用说明Oracle orapwd命令使用说明介绍本文将为您详细介绍Oracle数据库中orapwd命令的使用说明。
orapwd命令是Oracle数据库管理工具中的一部分,用于管理数据库的密码文件。
安装orapwd命令已经包含在Oracle数据库的安装文件中,无需额外安装。
创建密码文件要创建密码文件,可以使用以下命令:orapwd file=<password_file> password=<password> ent ries=<number_of_entries>参数说明: - file:指定要创建的密码文件的路径和文件名。
- password:指定密码文件的密码。
- entries:指定密码文件可以存储的最大密码数。
修改密码文件密码如果需要修改密码文件的密码,可以使用以下命令:orapwd file=<password_file> password=<new_password>参数说明: - file:指定要修改密码的文件的路径和文件名。
- password:指定新的密码。
删除密码文件要删除密码文件,可以使用以下命令:orapwd file=<password_file> delete参数说明: - file:指定要删除密码的文件的路径和文件名。
查询密码文件信息要查询密码文件的信息,可以使用以下命令:orapwd file=<password_file> display参数说明: - file:指定要查询密码的文件的路径和文件名。
总结通过本文,我们了解了orapwd命令的基本使用方法,包括如何创建、修改和删除密码文件,以及如何查询密码文件信息。
熟练掌握这些知识,将有助于有效管理Oracle数据库的密码。
注意事项在使用orapwd命令时,需要注意以下几点:1.谨慎操作:orapwd命令可以更改数据库中的密码文件,因此在使用命令前,请确保您具有足够的权限,并且仔细核对命令参数,以免造成不必要的损失或安全风险。
描述oracle数据库体系结构的组成及其关系。
描述oracle数据库体系结构的组成及其关系。
Oracle数据库体系结构由以下几个部分组成:1. 实例(Instance):实例是在计算机内存中运行的一个进程,负责管理数据库的操作。
每个实例都有自己的内存空间和进程,可以同时运行多个实例。
2. 数据库(Database):数据库是一个存储数据的容器,包含了表、视图、索引等对象。
一个实例可以管理多个数据库,每个数据库由一个或多个数据文件组成。
3. 数据文件(Data File):数据文件是用来存储数据库的实际数据的文件,包含了表、索引等对象的数据。
一个数据库可以有多个数据文件,每个数据文件具有独立的文件名和路径。
4. 控制文件(Control File):控制文件是用来记录数据库的结构和状态信息的文件,包括数据库名、数据文件的路径、表空间的信息等。
一个数据库通常有一个或多个控制文件。
5. 日志文件(Redo Log File):日志文件是用来记录数据库的变化操作的文件,包括数据更改、事务回滚等。
日志文件用于实现数据库的恢复和数据的一致性。
每个数据库通常有多个日志文件。
6. 表空间(Tablespace):表空间是数据库中逻辑数据存储的单位,用来管理和组织对象。
每个表空间由一个或多个数据文件组成,不同表空间可以包含不同的数据对象。
7. 段(Segment):段是逻辑存储结构的基本单位,是指数据库中的一个连续空间。
每个表、索引等对象都占用一个或多个段。
8. 区(Extent):区是段的扩展单位,是一组连续的数据块。
一个段由多个区组成。
9. 块(Data Block):块是数据库存储的最小单位,通常是8KB大小。
每个数据文件由多个块组成。
以上组成部分之间的关系如下:- 实例与数据库:一个实例可以管理多个数据库,每个数据库都有自己的实例。
- 数据库与数据文件:一个数据库可以由一个或多个数据文件组成,每个数据文件存储数据库的实际数据。
- 实例与控制文件:一个实例通常有一个或多个控制文件,控制文件记录了数据库的结构和状态信息。
Oracle以逗号分隔的字符串拆分为多行数据实例详解
Oracle以逗号分隔的字符串拆分为多⾏数据实例详解前⾔近期在⼯作中遇到某表某字段是可扩展数据内容,信息以逗号分隔⽣成的,现需求要根据此字段数据在其它表查询相关的内容展现出来,第⼀想法是切割数据,以逗号作为切割符,以下为总结的实现⽅法,以供⼤家参考、指教。
1、regexp_substr函数,通过正则来拆分字符串,函数⽤法为:(必须是oracle 10g+的版本才⽀持)REGEXP_SUBSTR函数格式如下:function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr :需要进⾏正则处理的字符串__pattern :进⾏匹配的正则表达式__position :起始位置,从第⼏个字符开始正则表达式匹配(默认为1)__occurrence :获取第⼏个分割出来的组(分割后最初的字符串会按分割的顺序排列成组),默认为1__modifier :模式('i'不区分⼤⼩写进⾏检索;'c'区分⼤⼩写进⾏检索。
默认为'c'。
)针对的是正则表达式⾥字符⼤⼩写的匹配-------------------------------------------------------------------------------------------------------------------此函数只能每次取⼀个字符串出来,有点鸡肋,字符串中逗号的数量是不确定的,如果有2个逗号,需要提取的字段就是3个。
为了确定有多少个需要提取的字段,需要⽤到connect by命令实现动态参数构造连续的值,通过原字符串长度和被替换后字符串长度相减,可以得到原字符串中的逗号数量,加1后得到需要提取的匹配字段数量。
SQL:select bs from cs1_0 where slid='201804100038'--正则分割后的第⼀个值SELECT REGEXP_SUBSTR((select bs from cs1_0 where slid='201804100038'),'[^,]+',1,1,'i') as 分割后结果 FROM DUAL;--获取⼀个多个数值的列,从⽽能够让结果以多⾏的形式展⽰出来SELECT LEVEL FROM DUAL CONNECT BY LEVEL <=5;--将上⾯REGEXP_SUBSTR的occurrence(标识第⼏个匹配组)实现动态参数,使⽤ connect by组合起来SELECT REGEXP_SUBSTR((select bs from cs1_0 where slid='201804100038'),'[^,]+',1,LEVEL,'i') as 分割后结果 FROM DUAL CONNECT BY LEVEL <=5;--优化⼀下(动态获匹配组标识⾏数)select regexp_substr((select bs from cs1_0 where slid='201804100038'),'[^,]+',1,LEVEL,'i') as 分割后结果 from dualconnect by level <= length((select bs from cs1_0 where slid='201804100038'))-length(regexp_replace((select bs from cs1_0 where slid='201804100038'),',',''))+1;2、以Type类型和function函数的⽅式实现1)建⽴TYPE类型CREATE OR REPLACE TYPE strsplit_type_12 IS TABLE OF VARCHAR2 (4000)2)建⽴function存储函数create or replace function strsplit_66(p_value varchar2,p_split varchar2 ) --字符串,切割符--根据特定字符来切割字符串return strsplit_type_12pipelined isv_idx integer;v_str varchar2(500);v_strs_last varchar2(4000) := p_value;beginloopv_idx := instr(v_strs_last, p_split);exit when v_idx = 0;v_str := substr(v_strs_last, 1, v_idx - 1);v_strs_last := substr(v_strs_last, v_idx + 1);pipe row(v_str);end loop;pipe row(v_strs_last);return;end strsplit_66;SELECT ROWNUM 序号, a.* FROM TABLE(strsplit_66((select bs from cs1_0 where slid='201804100038'), ',')) a;测试⼀下:总结到此这篇关于Oracle以逗号分隔的字符串拆分为多⾏数据的⽂章就介绍到这了,更多相关Oracle拆分多⾏数据内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
oracle rac dg原理
oracle rac dg原理Oracle Real Application Clusters (RAC)是一种在多台服务器上运行的Oracle数据库架构。
RAC允许将数据库实例分布在多个服务器上,并通过高速互连网络进行通信,以提供高可用性和可伸缩性。
DG是Data Guard的缩写,是Oracle数据库的灾难恢复解决方案之一。
RAC DG原理如下:1. RAC原理:在RAC中,数据库被分为多个实例,每个实例运行在一个服务器上。
每个实例都有自己的内存和磁盘资源,但它们共享同一个存储空间,即共享存储。
实例之间通过高速互连网络进行通信,可通过Cache Fusion技术实现数据共享和一致性。
Cache Fusion技术允许在需要时将数据块从一个节点传输到另一个节点,以实现高速数据访问和一致性。
2. DG原理:DG是一种数据库复制解决方案,通过将主数据库的变更传输到一个或多个备用数据库上,实现数据的冗余和灾难恢复。
主数据库和备用数据库之间通过网络连接,并通过日志传输和应用进行同步。
主数据库将变更写入本地的归档日志文件,然后将归档日志传输到备用数据库上。
备用数据库接收到归档日志后,应用日志内容,使得备用数据库与主数据库保持一致。
3. RAC DG原理:RAC DG是在RAC架构下使用DG的解决方案。
RAC DG可以将主数据库和备用数据库的实例分布在多个服务器上,以提供更高的可用性。
主数据库和备用数据库之间的日志传输和应用与普通DG相同,但在RAC环境中,传输和应用可能涉及到多个实例。
RAC DG还可以利用RAC架构的优势,通过Cache Fusion技术减少数据的传输量,提高性能和效率。
总结来说,RAC DG是在Oracle RAC架构下使用Data Guard 的解决方案,通过将主数据库和备用数据库的实例分布在多个服务器上,实现数据的冗余和灾难恢复。
它利用RAC架构的优势,提供高可用性和可伸缩性,并通过Cache Fusion技术减少数据传输量,提高性能效率。
Oracle一个监听多个实例
Database opened.
SQL>
4. 连接 dccb 试试
SQL> conn sys/system@dccb as sysdba Connected.
5. 连接 dccb1 并启动
SQL> conn sys/system@dccb1 as sysdba Connected to an idle instance. SQL> startup; ORACLE instance started.
1521)) ) (CONNECT_DATA = (SERVICE_NAME = dccb) )
)
这样就 OK 了!
我们来测试一下连接:
1. 首先启动监听
[root@dbhost ~]# su - oracle [oracle@dbhost ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 11-NOV-2015 17:28:46
Listener Log File
/u01/app/oracle/diag/tnslsnr/dbhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=173.0.2.113)(PORT=1521)))
Instance "dccb1", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
