33、使用 DIPC 将数据库迁移到 Exadata 云服务

使用 DIPC 将数据库迁移到 Exadata 云服务

1. 引言

在云服务的应用场景中,将本地数据库迁移到云数据库是常见的需求。数据集成平台云服务(DIPC)提供了一种有效的方式来实现本地数据库与 Oracle 云基础设施数据库服务(DBCS)或 Exadata 云服务(ExaCS)之间的数据迁移和复制。下面将详细介绍如何使用 DIPC 进行数据库迁移。

2. 数据迁移原理

2.1 实时数据捕获与复制

Oracle GoldenGate 部署在本地数据库所在的主机服务器上,用于捕获本地数据库的变更,并将这些变更推送到远程的 DIPC VM。DIPC 部署在与 DBCS 数据库 VM 不同的 VM 上,并将变更远程集成交付到 DBCS 数据库。

2.2 DIPC 企业版功能

DIPC 企业版能够将本地数据库当前的 DML 操作复制到 DBCS 或 ExaCS 上的数据库。这通过在 DIPC VM 内部部署和运行 DIPC 代理来实现。同时,也可以在本地环境部署 DIPC 代理进行 Golden Gate 捕获过程,并将跟踪文件通过 SOCKS5 代理传输到 DIPC VM,确保网络传输过程的安全性。此外,DIPC 还具备初始数据同步的能力,初始数据同步通常根据 MOS Note 1311707.1 采用初始数据加载技术,例如使用 Oracle 数据库实用程序数据泵来导出大量 Oracle 数据。

3. 创建 DBCS 服务

在配置 DIPC 实例之前,需要先创建一个 DBCS 实例,该实例将作为 DIPC 服务配置时的输入。

3.1 登录 Oracle 云基础设施

登录 Oracle 云基础设施,提供用户凭据,并确保身份域正确显示。

3.2 导航到数据库创建页面

登录到 OCI 仪表盘后,导航到数据库创建页面,从仪表盘菜单中选择“Database Classic”来创建数据库。

3.3 提供数据库实例信息

点击“Create services”创建新的数据库实例,提供实例名称(如 DBCS - DIPC),并选择数据库版本、版本类型等详细信息。

3.4 创建存储容器

点击“Next”进入下一页,提供用于数据库备份等的存储容器详细信息。可以从云仪表盘导航到存储并创建一个容器。

3.5 完成数据库创建输入

提供数据库的形状、SSH 密钥、字符集、数据库名称、PDB 名称等重要参数。

3.6 开始数据库创建

点击“Create”开始创建数据库,此过程可能需要几分钟才能完成。可以在仪表盘的“Service Create and Delete History”下跟踪状态。

3.7 获取 VM 详细信息

点击 DBCS - DIPC 获取 VM 详细信息,如公共 IP、服务名称、PDB 名称、SID 名称等,这些信息在创建 DIPC 服务时会用到。

3.8 启用服务访问规则

数据库创建完成后,启用服务访问规则,以便 DIPC 可以访问该数据库。

以下是创建 DBCS 服务的步骤流程图:

graph TD;
    A[登录 Oracle 云基础设施] --> B[导航到数据库创建页面];
    B --> C[提供数据库实例信息];
    C --> D[创建存储容器];
    D --> E[完成数据库创建输入];
    E --> F[开始数据库创建];
    F --> G[获取 VM 详细信息];
    G --> H[启用服务访问规则];

4. 创建 DIPC 服务(18.x.x)

4.1 打开服务控制台

从控制台仪表盘,在“Data Integration Platform Cloud”菜单中点击“Open Service Console”。

4.2 创建 DIPC 实例

在实例仪表盘上点击“Create Instance”开始 DIPC 配置。

4.3 提供基本信息

为云服务名称命名(如 BALDIPC),选择集群大小为 1,选择企业版(包含 GGCS 和 Oracle 数据集成器),并提供实例名称、服务版本等基本信息。

4.4 选择数据库服务

点击“Next”进入详细页面,从下拉列表中选择数据库服务 DBCS - DIPC 和 PDB 名称“repo”,并提供数据库用户的登录凭据。此页面包含数据库配置、备份和恢复配置以及 WebLogic 服务配置三个部分。

4.5 提供云存储容器和凭据

完成数据库配置详细信息后,点击“Next”并提供云存储容器和凭据,可以使用在配置 DBCS 服务时提供的相同容器(DIPC)。

4.6 WebLogic 配置

对于 WebLogic 配置,选择计算形状并提供 SSH 密钥文件。根据操作系统环境,可以使用 Windows 上的 Putty KeyGen 或 Linux 上的 ssh - keygen 生成 SSH 密钥对。

4.6.1 在 Linux 上生成 SSH 密钥对
  • 导航到主目录:
cd /home/oracle
  • 运行 ssh - keygen 实用程序:
ssh-keygen -b 2048 -t rsa -f filename
  • 输入私钥的密码短语(可选),并再次确认密码短语。
4.6.2 在 Windows 上使用 PuTTYgen 生成 SSH 密钥对
  • 从 https://www.puttygen.com/ 下载并安装 PuTTY 或 PuTTYgen。
  • 运行 Puttygen,将“Type of key to generate”选项设置为 SSH - 2 RSA,在“Number of bits in a generated key”框中输入 2048,点击“Generate”生成密钥对,在生成过程中按照指示移动鼠标。
  • 可选地在“Key passphrase”框和“Confirm passphrase”框中输入私钥的密码短语。
  • 点击“Save private key”将私钥保存到文件,文件名扩展名为.ppk。
  • 选择公钥中的所有字符,粘贴到 OpenSSH authorized_keys 文件框中,并保存为扩展名为.pub 的文件。
  • 如果要使用需要 OpenSSH 格式私钥的 SSH 客户端从 Linux 主机连接,可以使用 puttygen 工具的转换菜单导出私钥,选择“Export OpenSSH Key”,并将私钥保存为扩展名为.openssh 的文件。

4.7 确认配置

在确认屏幕上,验证所有信息是否正确,确认后完成处理。在仪表盘上可以看到 BALDIPC 的配置状态。配置完成后会创建一个负载均衡器,点击“Associations”可以查看与 DIPC 服务关联的 DBCS。当状态显示为“Ready”时,DIPC 版本为 18.3.3。

以下是创建 DIPC 服务的步骤表格:
|步骤|操作|
| ---- | ---- |
|1|打开服务控制台|
|2|创建 DIPC 实例|
|3|提供基本信息|
|4|选择数据库服务|
|5|提供云存储容器和凭据|
|6|WebLogic 配置(生成 SSH 密钥对)|
|7|确认配置|

5. DIPC 远程代理部署

在从本地数据库复制数据时,在本地服务器部署代理比从 DIPC VM 配置远程捕获到本地服务器更高效。以下是在本地服务器下载和配置远程代理的步骤:

5.1 下载 DIPC 代理

可以在本地服务器或 DIPC VM(通过 VNC)下载 DIPC 代理。在 DIPC VM 下载速度更快,之后可以使用 scp 将 zip 文件传输到本地服务器。具体操作如下:
- 登录云账户,从 DIPC 实例(如 BALDIPC)概述页面,点击汉堡图标,从下拉菜单中点击“Data Integration Platform Console”,这将打开一个新的浏览器标签页显示 DIPC 主页。
- 点击左侧链接下载本地 VM 的代理。

5.2 管理和下载代理

进入“Data Integration Platform Console”后,可以管理和下载适用于平台的代理,并查看服务的整体状态。从左窗格点击“Agents” -> “Download Installer” -> “Linux 64 - bit (400 MB)”,在代理下载页面可以选择 Oracle 11g (OGG) 或 Oracle 12c (OGG) 等选项进行下载,可将其下载到 ~oracle/Downloads 目录或提示保存的位置。

以下是 DIPC 远程代理下载步骤的流程图:

graph TD;
    A[登录云账户] --> B[进入 DIPC 实例概述页面];
    B --> C[点击汉堡图标并选择 Data Integration Platform Console];
    C --> D[点击左侧链接下载代理];
    D --> E[进入 Data Integration Platform Console];
    E --> F[从左窗格选择下载选项];
    F --> G[选择版本并下载];

6. 配置本地主机的远程代理

6.1 检查 Java 版本

本地平台需要安装经过认证的 Java 版本,因为 DIPC 与 Java 1.8 及更高版本兼容。在本地主机执行 java -version 检查版本,如果低于 1.8 则需要升级。示例命令输出如下:

Java -version
Java Version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181 - b13)
Java HotSpot(TM) 64 - bit Server VM (build 25.181 - b13, mixed mode)

6.2 解压二进制文件

首先创建一个目录来存放 DIPC 二进制文件,将下载的代理 zip 文件传输到该目录并解压。示例操作如下:

# 创建目录
mkdir Dipc
# 复制文件
cp agent_binary.zip Dipc
# 进入目录
cd Dipc
# 解压文件
unzip agent_binary.zip

解压后会创建一个名为 dicloud 的目录,其中包含其他子目录和额外的脚本,各目录说明如下:
|目录/文件|说明|
| ---- | ---- |
| gghome |包含 12c OGG 二进制文件|
| gghome11g |包含 11g OGG 二进制文件|
| dicloudConfigureAgent.sh |用于在本地环境配置远程 DIPC 代理的文件|
| agent |存放远程 DIPC 代理二进制文件的目录|

6.3 编辑配置文件

编辑 dicloudConfigureAgent.sh 文件,设置以下参数:

cd /home/oracle/Dipc/dicloud
./dicloudConfigureAgent.sh <agentInstanceDirectory> -recreate –debug -dipchost=<dipc.example.host.com> -dipcport=<port> -user=<diuser> -password=<dipassword> -authType=<BASIC/OAUTH2> -idcsServerUrl=<idcs server url> -agentIdcsScope=<agent IDCS Client Scope> -agentClientId=<Agent IDCS clientID> -agentClientSecret=<Agent IDCS clientSecret>

各参数说明及取值如下:
|参数|说明|取值|
| ---- | ---- | ---- |
| agentInstanceDirectory |代理实例基础目录,可选,默认在 <unzipped directory>/dicloud/agent 下创建名为 dipcagent001 的目录|默认: /home/oracle/Dipc/dicloud/agent/dipcagent001 |
| dipchost |DIPC VM 负载均衡器主机名/公共 IP|从云控制台获取 DIPC 服务(如 BALDIPC)的主机名,如 BALDIPC - gse00015139.uscom - east - 1.oraclecloud.com |
| dipcport |代理连接并注册到 DIPC VM 的端口|433|
| user |云登录用户|指定使用的用户名|
| password |云登录密码|指定使用的密码|
| authType |与服务器的认证模式|OAUTH2|
| idcsServerUrl |适用于 OAUTH2 认证模式,是远程代理用于获取认证令牌的 IDCS URL|如 https://idcs - d6cee7e439a24b6986f9a9cca08e6bd1.identity.oraclecloud.com ,具体根据实际情况而定|
| agentIdcsScope |OAUTH2 认证模式下,该代理的 IDCS 客户端范围|如 https://97FB197EA4A64E0AA862AFEA0103CF65.uscom - east - 1.oraclecloud.com:443external ,具体根据实际情况而定|
| agentClientId |OAUTH2 认证模式下,该代理的 IDCS 应用客户端 ID|如 97FB197EA4A64E0AA862AFEA0103CF65_APPID ,具体根据实际情况而定|
| agentClientSecret |OAUTH2 认证模式下,IDCS 内 DIPC 应用的代理客户端密钥|如 bf8b8a26 - 7c7b - 4abd - b5e5 - 48d19ed269a0 |

6.4 执行配置命令

在本地 VM(数据库 VM)中执行以下命令来配置远程代理:

[oracle@databasevm dicloud]$ pwd
/home/oracle/Dipc/dicloud
[oracle@databasevm dicloud]$ export JAVA_HOME=/usr/java/jdk1.8.0_121
[oracle@databasevm dicloud]$ ./dicloudConfigureAgent.sh -recreate -debug -dipchost=BALDIPC - gse00015139.uscom - east - 1.oraclecloud.com -dipcport=443 -user=xyz@oracle.com -password=XXXXXXX -authType=OAUTH2 -idcsServerUrl=https://idcs - d6cee7e439a24b6986f9a9cca08e6bd1.identity.oraclecloud.com -agentIdcsScope=https://97FB197EA4A64E0AA862AFEA0103CF65.uscom - east - 1.oraclecloud.com:443external -agentClientId=97FB197EA4A64E0AA862AFEA0103CF65_APPID -agentClientSecret=bf8b8a26 - 7c7b - 4abd - b5e5 - 48d19ed269a0

执行命令后,屏幕会显示一系列消息,如:

DEBUG MODE
2018 - 09 - 24 04:35:53.786 INFO    [global] (oracle.dicloud.agent.deployment.DICloudAgentLifeCycleManager configureLogging) dipcOsp = "Linux"
recreate = ""
debug = ""
dipchost = "BALDIPC - gse00015139.uscom - east - 1.oraclecloud.com"
dipcport = "443"
user = "cloud.admin"
password = "*******"
authType = "OAUTH2"
idcsServerUrl = "https://idcs - d6cee7e439a24b6986f9a9cca08e6bd1.identity.oraclecloud.com"
agentIdcsScope = "https://97FB197EA4A64E0AA862AFEA0103CF65.uscom - east - 1.oraclecloud.com:443external"
agentClientId = "97FB197EA4A64E0AA862AFEA0103CF65_APPID"
agentClientSecret = "bf8b8a26 - 7c7b - 4abd - b5e5 - 48d19ed269a0"
2018 - 09 - 24 04:35:53.878 INFO    [oracle.dicloud.agent.core.GGCCAgentInstallation] (oracle.dicloud.agent.core.GGCCAgentInstallation handleCreateInstance) Creating agent instance home at :/home/oracle/Dipc/dicloud/agent/dipcagent001
2018 - 09 - 24 04:35:53.883 INFO    [oracle.dicloud.agent.core.GGCCAgentInstallation] (oracle.dicloud.agent.core.GGCCAgentInstallation handleCreateInstance) Agent instance home created successfully at :/home/oracle/Dipc/dicloud/agent/dipcagent001

配置完成后,会提示使用 /home/oracle/Dipc/dicloud/agent/dipcagent001/bin 目录下的 startAgentInstance(.sh/.bat) 脚本启动代理,使用 stopAgentInstance (.sh/.bat) 脚本停止代理。

通过以上步骤,就可以完成使用 DIPC 将数据库迁移到 Exadata 云服务的操作,实现本地数据库与云数据库之间的数据复制和同步。

计及源荷不确定性的综合能源生产单元运行调度与容量配置优化研究(Matlab代码实现)内容概要:本文围绕“计及源荷不确定性的综合能源生产单元运行调度与容量配置优化”展开研究,利用Matlab代码实现相关模型的构建与仿真。研究重点在于综合能源系统中多能耦合特性以及风、光等可再生能源出力和负荷需求的不确定性,通过鲁棒优化、场景生成(如Copula方法)、两阶段优化等手段,实现对能源生产单元的运行调度与容量配置的协同优化,旨在提高系统经济性、可靠性和可再生能源消纳能力。文中提及多种优化算法(如BFO、CPO、PSO等)在调度与预测中的应用,并强调了模型在实际能源系统规划与运行中的参考价值。; 适合人群:具备一定电力系统、能源系统或优化理论基础的研究生、科研人员及工程技术人员,熟悉Matlab编程和基本优化工具(如Yalmip)。; 使用场景及目标:①用于学习和复现综合能源系统中考虑不确定性的优化调度与容量配置方法;②为含高比例可再生能源的微电网、区域能源系统规划设计提供模型参考和技术支持;③开展学术研究,如撰写论文、课题申报时的技术方案借鉴。; 阅读建议:建议结合文中提到的Matlab代码和网盘资料,先理解基础模型(如功率平衡、设备模型),再逐步深入不确定性建模与优化求解过程,注意区分鲁棒优化、随机优化与分布鲁棒优化的适用场景,并尝试复现关键案例以加深理解。
内容概要:本文系统分析了DesignData(设计数据)的存储结构,围绕其形态多元化、版本关联性强、读写特性差异化等核心特性,提出了灵活性、版本化、高效性、一致性和可扩展性五大设计原则。文章深入剖析了三类主流存储方案:关系型数据库适用于结构化元信息存储,具备强一致性与高效查询能力;文档型数据库适配半结构化数据,支持动态字段扩展与嵌套结构;对象存储结合元数据索引则有效应对非结构化大文件的存储需求,具备高扩展性与低成本优势。同时,文章从版本管理、性能优化和数据安全三个关键维度提出设计要点,建议采用全量与增量结合的版本策略、索引与缓存优化性能、并通过权限控制、MD5校验和备份机制保障数据安全。最后提出按数据形态分层存储的核心结论,并针对不同规模团队给出实践建议。; 适合人群:从事工业设计、UI/UX设计、工程设计等领域数字化系统开发的技术人员,以及负责设计数据管理系统架构设计的中高级工程师和系统架构师。; 使用场景及目标:①为设计数据管理系统选型提供依据,合理选择或组合使用关系型数据库、文档型数据库与对象存储;②构建支持版本追溯、高性能访问、安全可控的DesignData存储体系;③解决多用户协作、大文件存储、历史版本管理等实际业务挑战。; 阅读建议:此资源以实际应用场景为导向,结合具体数据库类型和表结构设计进行讲解,建议读者结合自身业务数据特征,对比分析不同存储方案的适用边界,并在系统设计中综合考虑成本、性能与可维护性之间的平衡。
先展示下效果 https://pan.quark.cn/s/6208c60fd188 以RFID技术为支撑的指纹与面部双重生物识别方案,已成为当代门禁系统安全性能提升的关键象征,该方案综合运用了指纹确认和面部确认两种生物识别手段,旨在构建更为严密的防护屏障。 射频识别(Radio Frequency Identification)技术在此过程中承担着数据交互与身份核实的重要辅助角色,促使门禁系统展现出更高的智能化水平与运行效能。 **一、指纹门禁系统**指纹门禁系统依托于个体指纹的特异性进行身份核实,其特征具有不可替代性和不可复制的属性。 系统运用了前沿的数字图像处理方法、生物识别运算逻辑以及数字信号处理(Digital Signal Processing)技术,从而保障了门禁操控的安全性。 使用者只需将手指放置于指纹感应装置上,系统便能迅速且精准地完成身份核实。 此类系统不仅强化了安全性,还规避了传统钥匙、IC卡或密码锁可能遭遇的遗失、盗用或被破解等问题,并且通过与屏幕汉字显示功能的结合,进一步强化了门禁系统的防护能力,实现了安全管理模式的现代化。 **二、面部门禁系统**面部识别,亦称作人脸识别,是一种通过剖析个体面部特征进行身份判定的技术。 该技术可分为常规视频捕捉分析与热成像技术两种实施路径。 常规视频捕捉分析借助摄像头获取并解析面部特征,而在光线不足或完全黑暗的环境中,热成像技术则通过探测面部血液散发的热能形成面部影像,即便在无光状态下亦可正常运作。 面部识别技术在企业、住宅安保以及公共安全等多个领域得到了普遍应用,为无需物理接触的身份核实提供了有效途径。 **指纹识别技术的长处与应用**1. **独特性**:个体指纹具有唯一性,为身份核实提供了坚实的依据。 2. **稳定...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值