Oracle9.2.0.4 RAC系统加入新节点

本文详细介绍如何在现有的Oracle RAC环境中添加一个新的节点,包括硬件安装、操作系统配置、Oracle环境设置、集群配置调整等多个关键步骤。

搜索词:  加节点,add node

 

原系统基本情况:  Linux AS3.0   2.4.21-4.ELsmp   Oracle 9.2.0.4  

注意: 以下步骤需要停机作业 。

 

1、 安装新节点的HBA卡等硬件。 由于是3节点,所有如果原来使用反线连接作为心跳线,现在需要使用一台HUB或交换机来连接3台节点机器。

 

2、 安装节点的操作系统,与已经运行的节点一致,比如Linux AS3.0  2.4.21-4.ELsmp .

 

3、 配置系统参数和ORACLE的安装环境。

安装Oracle软件之前的准备和安装单机时候一样,这里略过 。

确认节点123 时间一样,最好使用时间同步服务器同步。

拷贝节点12.bash_profile 环境设置,修改其中的SID部分。

 

备份节点12的以下两个文件。

修改节点123/etc/hosts文件及/etc/hosts.equiv 文件

/etc/hosts 內容如下:

10.156.4.98               dmdii-node1

172.20.1.148              dmdii-node1

10.1.1.7                  dmdii-pri1

 

10.156.4.99               dmdii-node2

172.20.1.149              dmdii-node2

10.1.1.8                  dmdii-pri2

 

10.156.4.103              dmdii-node3

172.20.1.147              dmdii-node3

10.1.1.9                  dmdii-pri3

 

/etc/hosts.equiv 內容如下:

dmdii-node1  oracle

dmdii-node2  oracle

dmdii-node3  oracle

dmdii-pri1   oracle

dmdii-pri2   oracle

dmdii-pri3   oracle

 

 

4、 从运行节点的机器上把$ORACLE_HOME$ORACLE_BASE/etc/ora*复制到新安装机器上

对应的目录,要同源地址一致。下面注意点只是做一些解释,如果你是按照上面方式拷贝的Oracle软体,就不需要下面的这些步骤 。

注意:     最好是拷贝运行节点上的oracle相关目录。 如果单独在新节点上安装Oracle , 会安装不了Real Application Cluster 组件,而且lib, bin oracle目录下会有很多比如gsd, gsdctl , libxxx.so 等文件不会安装进去。最后还是需要拷贝oracle相关目录下的文件覆盖 。 

没有安装RAC组件,后面开启新节点的时候会报错 ORA-00439: feature not enabled: Real Application Clusters,需要如下设置才能enable RAC :   

RAC ON  

1). Login as the Oracle software owner and shutdown all database instances on all nodes in the cluster.

2). cd $ORACLE_HOME/rdbms/lib

3). make -f ins_rdbms.mk rac_on

If this step did not fail with fatal errors then proceed to step 4.

4). make -f ins_rdbms.mk ioracle

 

 

5、 运行新装节点的$ORACLE_HOME下的root.sh

 

 

6, 修改所有机器$ORACLE_HOME/oracm/adminRAC配置。

备份节点12上的OCM配置文件 $ORACLE_HOME/oracm/admin/cmcfg.ora

开始配置节点123上的OCM配置文件,$ORACLE_HOME/oracm/admin/cmcfg.ora 

节点123 类似如下,只是HostName不一样而已。注意检查所有节点:

 

dmdii-node1$cat cmcfg.ora

HeartBeat=15000

ClusterName=Oracle Cluster Manager, version 9i

PollInterval=1000 

MissCount=210

PrivateNodeNames=dmdii-pri1 dmdii-pri2  dmdii-pri3  

PublicNodeNames=dmdii-node1 dmdii-node2  dmdii-node3

ServicePort=9998

CmDiskFile=/ocfs_data/quorum.dbf

HostName=dmdii-pri1

KernelModuleName=hangcheck-timer 

所有节点cmcfg.ora文件配置完成后,重新启动,开启各个节点的oracm测试(注意 su  root) ps -ef| grep oracm 查看进程。

 

 

7, 确认当前数据库的MAXINSTANCES大于等于您新加机器后的节点数,否则需重建控制文

件(但一般都够,默认好像32 ),所以这一步不用修改。

 

 

8,  备份节点12listener.ora ,tnsnames.ora  。然后开始修改节点123

listener.ora tnsnames.ora

范例如下:

dmdii-node1$cat tnsnames.ora

 

LISTENERS_INTEL =

  (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node1)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node2)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node3)(PORT = 1521))

  )

 

LISTENER_INTEL1 =

  (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node1)(PORT = 1521))

  )

 

 

INTEL =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node1)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node2)(PORT = 1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node3)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = INTEL)

    )

  )

 

 

INST1_HTTP =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node1)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = SHARED)

      (SERVICE_NAME = MODOSE)

      (PRESENTATION = http://HRService)

    )

  )

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

 

INTEL1 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node1)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = INTEL)

      (INSTANCE_NAME = INTEL1)

    )

  )

 

INTEL2 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node2)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = INTEL)

      (INSTANCE_NAME = INTEL2)

    )

  )

 

INTEL3 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = dmdii-node3)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = INTEL)

      (INSTANCE_NAME = INTEL3)

    )

  )

 

 

 

dmdii-node1$cat listener.ora

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

      )

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.1.148)(PORT = 1521))

        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.156.4.98)(PORT = 1521)) 

      )

    )

  )

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/product/oracle)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (ORACLE_HOME = /u01/product/oracle)

      (SID_NAME = intel1)

    )

  )

 

 

9, 在节点3 上执行命令初始化共享文件

#su oracle    

$srvconfig    -init 

开启GSD,   $gsdctl  start   

 

 

10, 配置节点123spfile参数文件。

范例如下:

*.background_dump_dest='/u01/product/admin/intel/bdump'

*.cluster_database_instances=3

*.cluster_database=true

*.compatible='9.2.0.0.0'

*.control_files='/ocfs_ctrl_redo/intel/control01.ctl','/ocfs_ctrl_redo/intel/control02.ctl','/ocfs_ctrl_redo/intel/control03.ctl'

*.core_dump_dest='/u01/product/admin/intel/cdump'

*.cursor_sharing='EXACT'

*.db_block_size=8192

*.db_cache_size=1073741824

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_files=1000

*.db_name='intel'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=intelXDB)'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

intel1.instance_name='intel1'

intel2.instance_name='intel2'

intel3.instance_name='intel3'

intel1.instance_number=1

intel2.instance_number=2

intel3.instance_number=3

*.java_pool_size=31457280

*.job_queue_processes=36

*.large_pool_size=20971520

intel1.local_listener='LISTENER_INTEL1'

intel2.local_listener='LISTENER_INTEL2'

intel3.local_listener='LISTENER_INTEL3'

intel1.log_archive_dest_1='LOCATION=/ocfs_arch1/intel/'

intel2.log_archive_dest_1='LOCATION=/ocfs_arch2/intel/'

intel3.log_archive_dest_1='LOCATION=/ocfs_arch2/intel/'

*.log_archive_format='%t_%s.dbf'

*.log_archive_start=true

*.open_cursors=4000

*.optimizer_index_cost_adj=30

*.optimizer_mode='rule'

*.pga_aggregate_target=314572800

*.processes=1015

*.query_rewrite_enabled='FALSE'

intel1.remote_listener='LISTENERS_INTEL'

intel2.remote_listener='LISTENERS_INTEL'

intel3.remote_listener='LISTENERS_INTEL'

*.remote_login_passwordfile='exclusive'

*.resource_limit=TRUE

*.service_names='intel'

*.session_cached_cursors=20

*.shared_pool_size=419430400

*.sort_area_size=2097152

*.star_transformation_enabled='FALSE'

intel1.thread=1

intel2.thread=2

intel3.thread=3

*.timed_statistics=TRUE

*.trace_enabled=false

*.undo_management='AUTO'

*.undo_retention=10800

intel1.undo_tablespace='UNDOTBS1'

intel2.undo_tablespace='UNDOTBS2'

intel3.undo_tablespace='UNDOTBS3'

*.user_dump_dest='/u01/product/admin/intel/udump'

 

 

11、在数据库中添加新的redo logfile undo

开启节点1的实例到mount状态,在节点1上为节点3建立redo logundo tbs :

SQL> startup mount

SQL> ALTER DATABASE ADD LOGFILE THREAD 3 

   GROUP 9   ('/ocfs_ctrl_redo/intel/redo09.log', '/ocfs_data/intel/redo09b.log')  size 100m,

   GROUP 10  ('/ocfs_ctrl_redo/intel/redo10.log', '/ocfs_data/intel/redo10b.log')  size 100m,

   GROUP 11  ('/ocfs_ctrl_redo/intel/redo11.log', '/ocfs_data/intel/redo11b.log')  size 100m,  

   GROUP 12  ('/ocfs_ctrl_redo/intel/redo12.log', '/ocfs_data/intel/redo12b.log')  size 100m ;

SQL> alter database open ;

SQL> alter database enable public thread 3 ;

SQL> create undo tablespace undotbs3 datafile ‘/ocfs_data/intel/undotbs03_1.dbf’ size 2048064K ;

 

 

13、确认新节点的环境变量(ORACLE_HOMEORACLE_SID等),确认spfile修改OK ,且节点3online redo undo加入OK,以及节点3实例的实例目录及密码文件,各个目录权限等都OK . 开始开启各个节点的 oracm ,gsdctl,  如果密码文件有问题,重建新节点的密码文件,开启数据库,监听。

 

 

14、 可以通过srvctl的配置增加对新节点的管理。具体查看srvctl帮助,例:srvctl -h   srvctl config -h

 

15, 验证RAC

SQL> select THREAD#,STATUS,ENABLED from gv$thread ;

THREAD# STATUS ENABLED

1 OPEN PUBLIC

2 OPEN PUBLIC

3 OPEN PUBLIC

1 OPEN PUBLIC

2 OPEN PUBLIC

3 OPEN PUBLIC

1 OPEN PUBLIC

2 OPEN PUBLIC

3 OPEN PUBLIC

 

SQL> select INSTANCE_NUMBER,STATUS,HOST_NAME from gv$instance ;

INSTANCE_NUMBER STATUS HOST_NAME

1 OPEN dmdii-node1

2 OPEN dmdii-node2

3 OPEN dmdii-node3

 

$lsnodes 查看是否监测到多个节点。

$ lsnrctl status 查看cluster状态。客户端单独连接测试。 

 

 

添加更多的实例方法相同。

 

如果还有问题,可以参考Oracle文档

  http://download.oracle.com/docs/cd/B10501_01/rac.920/a96596/addmig.htm   

或者参考 metalink.oracle.com  

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-586720/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-586720/

安全帽与口罩检测数据集 一、基础信息 数据集名称:安全帽与口罩检测数据集 图片数量: - 训练集:1690张图片 - 验证集:212张图片 - 测试集:211张图片 - 总计:2113张实际场景图片 分类类别: - HelmetHelmet:戴安全帽的人员,用于安全防护场景的检测。 - personwithmask:戴口罩的人员,适用于公共卫生监测。 - personwith_outmask:未戴口罩的人员,用于识别未遵守口罩佩戴规定的情况。 标注格式:YOLO格式,包含边界框和类别标签,适用于目标检测任务。 数据格式:JPEG/PNG图片,来源于实际监控和场景采集,细节清晰。 二、适用场景 工业安全监控系统开发: 数据集支持目标检测任务,帮助构建自动检测人员是否佩戴安全帽的AI模型,适用于建筑工地、工厂等环境,提升安全管理效率。 公共卫生管理应用: 集成至公共场所监控系统,实时监测口罩佩戴情况,为疫情防控提供自动化支持,辅助合规检查。 智能安防与合规检查: 用于企业和机构的自动化安全审计,减少人工干预,提高检查准确性和响应速度。 学术研究与AI创: 支持计算机视觉目标检测领域的研究,适用于安全与健康相关的AI模型开发和论文发表。 三、数据集优势 精准标注与实用性: 每张图片均经过标注,边界框定位准确,类别定义清晰,确保模型训练的高效性和可靠性。 场景多样性与覆盖性: 包含安全帽和口罩相关类别,覆盖工业、公共场所以及多种实际环境,样本丰富,提升模型的泛化能力和适应性。 任务适配性强: 标注兼容主流深度学习框架(如YOLO),可直接用于目标检测任务,便于快速集成和部署。 实际应用价值突出: 专注于工业安全和公共健康领域,为自动化监控、合规管理以及疫情防护提供可靠数据支撑,具有较高的社会和经济价值。
内容概要:本文围绕FOC电机控制代码实现与调试技巧在计算机竞赛中的应用,系统阐述了从基础理论到多场景优化的完整技术链条。文章深入解析了磁链观测器、前馈控制、代码可移植性等关键概念,并结合FreeRTOS多任务调度、滑动窗口滤波、数据校验与热仿真等核心技巧,展示了高实时性与稳定性的电机控制系统设计方法。通过服务机器人、工业机械臂、能源赛车等典型应用场景,论证了FOC在复杂系统协同中的关键技术价值。配套的千行级代码案例聚焦分层架构与任务同步机制,强化工程实践能力。最后展望数字孪生、低代码平台与边缘AI等未来趋势,体现技术前瞻性。; 适合人群:具备嵌入式开发基础、熟悉C语言与实时操作系统(如FreeRTOS)的高校学生或参赛开发者,尤其适合参与智能车、机器人等综合性竞赛的研发人员(经验1-3年为佳)。; 使用场景及目标:① 掌握FOC在多任务环境下的实时控制实现;② 学习抗干扰滤波、无传感器控制、跨平台调试等竞赛实用技术;③ 提升复杂机电系统的问题分析与优化能力; 阅读建议:此资源强调实战导向,建议结合STM32等开发平台边学边练,重点关注任务优先级设置、滤波算法性能权衡与观测器稳定性优化,并利用Tracealyzer等工具进行可视化调试,深入理解代码与系统动态行为的关系。
【场景削减】拉丁超立方抽样方法场景削减(Matlab代码实现)内容概要:本文介绍了基于拉丁超立方抽样(Latin Hypercube Sampling, LHS)方法的场景削减技术,并提供了相应的Matlab代码实现。该方法主要用于处理不确定性问题,特别是在电力系统、可再生能源等领域中,通过对大量可能场景进行高效抽样并削减冗余场景,从而降低计算复杂度,提高优化调度等分析工作的效率。文中强调了拉丁超立方抽样在保持样本代表性的同时提升抽样精度的优势,并结合实际科研背景阐述了其应用场景与价值。此外,文档还附带多个相关科研方向的Matlab仿真案例和资源下载链接,涵盖风电、光伏、电动汽车、微电网优化等多个领域,突出其实用性和可复现性。; 适合人群:具备一定Matlab编程基础,从事电力系统、可再生能源、优化调度等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于含高比例可再生能源的电力系统不确定性建模;②用于风电、光伏出力等随机变量的场景生成与削减;③支撑优化调度、风险评估、低碳运行等研究中的数据预处理环节;④帮助科研人员快速实现LHS抽样与场景削减算法,提升仿真效率与模型准确性。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,理解拉丁超立方抽样的原理与实现步骤,并参考附带的其他科研案例拓展应用思路;同时注意区分场景生成与场景削减两个阶段,确保在实际项目中正确应用该方法。
道路坑洞目标检测数据集 一、基础信息 • 数据集名称:道路坑洞目标检测数据集 • 图片数量: 训练集:708张图片 验证集:158张图片 总计:866张图片 • 训练集:708张图片 • 验证集:158张图片 • 总计:866张图片 • 分类类别: CirEllPothole CrackPothole IrrPothole • CirEllPothole • CrackPothole • IrrPothole • 标注格式:YOLO格式,包含边界框和类别标签,适用于目标检测任务。 • 数据格式:图片为常见格式(如JPEG/PNG),来源于相关数据采集。 二、适用场景 • 智能交通监控系统开发:用于自动检测道路坑洞,实现实时预警和维护响应,提升道路安全。 • 自动驾驶与辅助驾驶系统:帮助车辆识别道路缺陷,避免潜在事故,增强行驶稳定性。 • 城市基础设施管理:用于道路状况评估和定期检查,优化维护资源分配和规划。 • 学术研究与创:支持计算机视觉在公共安全和交通领域的应用,推动算法优化和模型开发。 三、数据集优势 • 精准标注与类别覆盖:标注高质量,包含三种常见坑洞类型(CirEllPothole、CrackPothole、IrrPothole),覆盖不同形态道路缺陷。 • 数据多样性:数据集涵盖多种场景,提升模型在复杂环境下的泛化能力和鲁棒性。 • 任务适配性强:标注兼容主流深度学习框架(如YOLO),可直接用于目标检测任务,支持快速模型迭代。 • 实际应用价值:专注于道路安全与维护,为智能交通和城市管理提供可靠数据支撑,促进效率提升。
废物分类实例分割数据集 一、基础信息 数据集名称:废物分类实例分割数据集 图片数量: - 训练集:2,658张图片 - 验证集:316张图片 - 测试集:105张图片 - 总计:2,974张图片(训练集 + 验证集) 分类类别: - 电子产品(electronics) - 玻璃瓶(gbottle) - 口罩(mask) - 金属(metal) - 塑料袋(pbag) - 塑料瓶(pbottle) - 废物(waste) 标注格式:YOLO格式,包含多边形点坐标,适用于实例分割任务。 数据格式:JPEG图片,来源于实际场景,涵盖多种废物物品。 二、适用场景 智能废物分类系统开发: 数据集支持实例分割任务,帮助构建能够自动识别和分割废物物品的AI模型,辅助垃圾分类和回收管理。 环境监测与环保应用: 集成至智能垃圾桶或监控系统,提供实时废物识别功能,促进环保和资源回收。 学术研究与技术创: 支持计算机视觉与环境保护交叉领域的研究,助力开发高效的废物处理AI解决方案。 教育与培训: 数据集可用于高校或培训机构,作为学习实例分割技术和AI在环境应用中实践的重要资源。 三、数据集优势 类别多样性与覆盖广: 包含7个常见废物和可回收物品类别,如电子产品、玻璃瓶、口罩、金属、塑料袋、塑料瓶和废物,涵盖日常生活中的多种物品,提升模型的泛化能力。 精准标注与高质量: 每张图片均使用YOLO格式进行多边形点标注,确保分割边界精确,适用于实例分割任务。 任务导向性强: 标注兼容主流深度学习框架,可直接用于实例分割模型的训练和评估。 实用价值突出: 专注于废物分类和回收管理,为智能环保系统提供关键数据支撑,推动可持续发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值