【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

Oracle 数据库上云之路(一)

  • 2019-10-22
  • 本文字数:9241 字

    阅读完需:约 30 分钟

Oracle 数据库上云之路(一)

数据是公司最为重要的资产之一,这些数据部分存储在数据库之中,金融,电信,能源等很多企业使用 Oracle 来承载他们的核心交易及业务系统,Oracle 的市场份额一度接近 50%,维护 Oracle 系统通常需要专业 DBA,主机工程师,存储工程师,网络工程师合作,才能保证数据库系统稳定运行,这需要大量的投资,上云能大幅度提升数据库系统的稳定性,降低运维复杂度和强度,同时也能降低投资(这包括 License 和硬件的一次行投资以及持续的运维成本), 这有助于帮助客户更加专注于自身的业务。上云的过程中要确保数据完整一致上云,是 IT 部门非常重要的一个任务。


数据库迁移受限于很多约束条件,我把在迁移过程中需要考量的因素(源库及目标库)归纳如下:


  • 数据库规模

  • 数据规模,少量数据可以选择很多迁移方法,例如可以不受暂存空间限制,你可以选择导出导入,或者以不落地的形式之际将其通过 create table as select 的形式快速迁移走;当你的数据规模较大例如几个 T,你能选择的迁移方法将会减少,可能你的服务器上暂时没有足够的空间用于存放你的导出文件,或者备份文件,通过网络传输导出文件或者备份文件的时间也会大幅度增加。

  • 元数据规模,在进行跨平台迁移时必须考虑元数据规模,因为迁移的时候是以“数据+元数据”的形式,而元数据的导出导入可能会比你导出数据的时间还要长。

  • 迁移范围

  • 全部迁移

  • 部分迁移,如果你的系统经历过多次迭代你也清楚数据库里部分 schema 的数据可以丢弃的时候,在迁移的时候为数据库瘦身通常是一个合适的时机。但是更多的时候,一个系统经历过多次迭代,开发人员通常以一种只增不减的策略对数据库进行管理,随着人员的进出,通常没有翔实的文档,这个时候进行全量迁移其实更为稳妥。

  • 中转存储,如果数据泵,rman 是你的备选迁移方法,你不得不审视你的环境里是否有充足的空间以存储导出文件或者备份文件。这些存储空间,可能是本地磁盘,也可能是你的 SAN 存储,也可能是你的磁带库。

  • 停机时间,这通常是由业务决定的能留给你的最大操作窗口,但是经历过多次迁移的老司机通常会告诉你,你的真实停机操作窗口还应该减去开始迁移前必要的业务停机,以及迁移完毕后的必要的业务验证,以及你给自己设定的最后失败必须进行回退的时间。

  • 字节序

  • Big endian

  • Little endian


计算机底层存储数据的两种基本形式,由此也把计算机分成了两大阵营。关于字节序的详细解释,大家可以查阅维基百科,借用百科的两张图:



Bash


SQL> select * from v$transportable_platform;PLATFORM_ID PLATFORM_NAME                            ENDIAN_FORMAT----------- ---------------------------------------- --------------         1  Solaris[tm] OE (32-bit)                   Big         2  Solaris[tm] OE (64-bit)                   Big         3  HP-UX (64-bit)                         Big         4  HP-UX IA (64-bit)                         Big         6  AIX-Based Systems (64-bit)             Big         9  IBM zSeries Based Linux                   Big         16  Apple Mac OS                         Big         18  IBM Power Based Linux                   Big         5  HP Tru64 UNIX                         Little         7  Microsoft Windows IA (32-bit)             Little         8  Microsoft Windows IA (64-bit)             Little         10  Linux IA (32-bit)                         Little         11  Linux IA (64-bit)                         Little         12  Microsoft Windows x86 64-bit             Little         13  Linux x86 64-bit                         Little         15  HP Open VMS                               Little         17  Solaris Operating System (x86)       Little         19  HP IA Open VMS                         Little         20  Solaris Operating System (x86-64)       Little
复制代码


  • 数据库版本

  • 升级

  • 同版本

  • 如果你希望在迁移的时候将数据库升级到更高版本以获得更好的技术支持或者使用一些新特性,通常建议在正式升级之前进行详细的验证测试。这通常需要你仔细阅读升级文档,以明确你的升级路径。

  • 应用系统依赖的 JDK 版本

  • 在升级的时候要确认你的应用系统依赖的 JDK 版本,因为每个数据库版本都有支撑的最低的 JDK 版本。

  • 网络

  • 带宽

  • 防火墙

  • 如果你选择基于网络的传输你的备份文件或者进行不落地的迁移,你需要验证你的网络带宽是否充足,或者你的网络防火墙是否开放:

  • 22,sftp

  • 21,ftp

  • 1521,监听端口

  • 111/2049,NFS

  • 存储

  • 在迁移过程中要评估你的当前存储的最大性能,因为导出数据是个典型的 IO 密集型操作,如果你不对你的导出操作进行带宽限制在某些时候可能影响你的业务系统。你可以在 rman 内限定你的带宽。

  • 字符编码

  • 在迁移过程中要注意一下源库的字符集。

  • 外围复制软件

  • 外围复制软件不同的版本支持不同版本的数据库,而且通常是以源/目标的形式组对部署。

  • 距离

  • 数据库存储方式

  • 裸设备

  • 文件系统

  • ASM(Automatic Storage Management)

  • 底层存储

  • 仔细核实您的底层存储模式,可能可以借用其自带的复制功能进行数据迁移;

  • 数据库平台转换,例如 Oracle 转换到 Aurora。

  • 虽然制约因素众多,但是迁移的方法也有很多,例如常见的迁移方法有:

  • sqlplus copy,比较适合少量数据(表一级)的在线迁移。

  • exp/imp,在 Oracle 10g 之前主流的逻辑数据导出导入工具。

  • rman(Recovery Manager)

  • Data pump,Oracle 10g 及后续的版本主流到高效的数据导出导入工具。

  • SQL Developer,适合 100G 以下的数据库迁移。

  • SQL Loader,适合 CSV 等可以解析的数据迁移。

  • ETL/ELT,

  • CTAS(create table as select),比较适合少量数据(表一级)的在线迁移。

  • Oracle Golden Gate /IBM CDC/迪思杰/sharePlex,适合 10TB 以下数据的无缝迁移。

  • Oracle Data Guard,适合同构数据库的迁移。

  • ASM,适合存储迁移,或者基于存储异地配送的迁移方式。

  • LVM,适合存储迁移,或者基于存储异地配送的迁移方式,或者在线迁移。

  • Storage Copy,适合存储迁移,或者基于存储异地配送的迁移方式。

  • TTS/XTTS,跨平台迁移首选,后续会专门介绍。

  • rsync,适合有一定的停机窗口的数据迁移。

  • AWS Database Migration Service,这是一个强大的 Service,后续会专门介绍。


通常您需要详细调研源环境和目标环境,然后在诸多因素中做出权衡,选择满足各种制约因素的迁移策略和方法。


我们先从制约因素相对最少,且迁移方法最简单的开始,逐渐熟悉各种不同迁移方法的适应环境,然后逐步深入到在准生产环境中进行各种复杂的迁移。


Oracle 数据库上云之路(一),引导大家构建一个数据中心/云上一致的数据库软件环境,以及基本到导出导入数据迁移方式。


Oracle 数据库上云之路(二),引导大家使用工具进行简单的逻辑迁移。


Oracle 数据库上云之路(三),引导大家使用 golden gate 进行无缝迁移。


Oracle 数据库上云之路(四),引导大家进行跨平台迁移。

一. 数据库软件系统迁移

在上云的过程中,尽可能降低整体迁移的复杂度有利于提高迁移的成功率,而需要解决的首要问题是如何保持 op(on premises)和 cloud 之间数据库软件系统的版本一致性,因为并不是每个公司都会维护一个良好的软件仓库,通常在 op 安装完软件或者打完补丁后,这些介质通常会被删除掉。当然您可以安装大版本号一致的软件,但是这可能导致新的数据库要进行升级(依赖于您选择的迁移方法)。


当然您可以原始地把整个软件拷贝到 Cloud 上,但是您很快会发现一个更为严重的问题,当您的数据库遭遇 bug 时,您无法为您的数据库系统更新补丁,因为opatch无法找到软件仓库(一个以 xml 规范存储数据库软件的版本信息仓库),所以我们需要一个简单的方法进行数据库软件系统的迁移。


以下操作适合 BYOL(Bring yourself own license)用户。

(一)、 OP 操作

以下操作均在 op 上进行。


简单地对 op 的数据库软件进行打包。


Bash


#tar -cvzf dbhome_1.tar /u01/app/oracle/product/11.2.0/dbhome_1
复制代码


把压缩软件包上传到 cloud 上,通常您需要将压缩包上传到堡垒机或者 public subnet 的某台 EC2 上,然后再将其传输到 private subnet 的数据库 EC2 内。

(二)、 Cloud 操作

以下操作均在 cloud 上进行。


假设您的 EC2 已挂载了两个 ESB 设备分别是/dev/sdb,/dev/sdc。

1. 安装必要的软件包

Bash


yum -y install libstdc++-devel.x86_64yum -y install gcc-c++.x86_64yum -y install libdmx.x86_64yum -y install libXmu.x86_64yum -y install xorg-x11-xauth.x86_64yum -y install ksh.x86_64yum -y install libXxf86dga.x86_64yum -y install compat-libstdc++.x86_64yum -y install libXxf86misc.x86_64yum -y install xorg-x11-utils.x86_64yum -y install libaio-devel.x86_64yum -y install compat-libcap1.x86_64
复制代码

2. 创建用户、组

Bash


#groupadd oinstall#groupadd dba#useradd -d /home/oracle -s /bin/bash -k /etc/skel -m -g oinstall -G dba oracle
复制代码

3. 配置资源限制

Bash


#cat>>/etc/security/limits.conf<<HereDocoracle soft nofile 32768oracle hard nofile 65536oracle soft nproc 32768oracle hard nproc 65536oracle soft stack 10240oracle hard stack 32768HereDoc
复制代码

4. 配置内核参数

Bash


#cat>>/etc/sysctl.conf<<HereDocfs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576HereDoc#sysctl -p /etc/sysctl.conf
复制代码

5. 规划目录结构

u01 通常用来存储数据库软件,u02 通常用来存储数据库。


Bash


#mkdir /u01#mkdir /u02cat>>/etc/fstab<<HereDoc/dev/xvdb1  /u01    ext4    defaults 0 0/dev/xvdc1  /u02    ext4    defaults 0 0HereDoc#mount /u01#mount /u02#chown -R oracle:oinstall /u01 /u02#chmod -R 775 /u01 /u02
复制代码

6. 解压数据库软件

Bash


$tar xzf dbhome_1.11.2.0.4.160419.tar.gz -C /u01/app/oracle/product/11.2.0/
复制代码

7. 配置环境变量

Bash


$sed -i /PATH/d ~/.bash_profile$cat >>~/.bash_profile<<HereDocORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1ORACLE_BASE=/u01/app/oracle/PATH=\$PATH:\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatchexport ORACLE_HOME ORACLE_BASE PATHumask 022HereDoc$source ~/.bash_profile
复制代码

8. 克隆数据库软件

由于 EC2 实例未配置 swap 空间,所以我们在克隆软件前先挂载并初始化一个 swap 空间。


Bash


#mkswap /dev/xvdf#swapon /dev/xvdf#swapon -s
复制代码


然后开始克隆数据库软件。


Bash


$cd $ORACLE_HOME/clone/bin$./clone.pl ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE=/u01/app/oracle OSDBA_GROUP=dba
复制代码


根据提示以 root 用户身份执行脚本。


Bash


#/u01/app/oraInventory/orainstRoot.sh#/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
复制代码

9. 创建监听

Bash


$netca -silent -responsefile /u01/app/oracle/product/11.2.0/dbhome_1/assistants/netca/netca.rsp
复制代码

10. 创建空数据库

由于在云上无图形界面,所以我们先使用静默方式创建一个空的数据库。


Bash


$dbca -silent -createDatabase -templateName General_Purpose.dbc \-gdbName orcl -sid orcl \-sysPassword Welcome1 -systemPassword Welcome1 \-emConfiguration NONE \-datafileDestination /u02 \-redoLogFileSize 128 \-recoveryAreaDestination /u01/app/oracle/flash_recovery_area \-storageType FS \-characterSet UTF8 -nationalCharacterSet AL16UTF16 \-listeners LISTENER \-initParams FILESYSTEMIO_OPTIONS=setall \-databaseType OLTP
复制代码

二. 数据库上云

现在越来越多的公司将开发测试环境迁移到 AWS 云上,通过云的弹性扩展能力可以很好满足开发测试过程中对计算资源的弹性需求,例如压力测试所需要的各种压力机。构建一个云开发测试环境,涉及到迁移开发测试数据库,这通常是由 DBA 来负责,但是很多开发团队并没有专职的 DBA,迁移开发测试数据库就落到了开发人员肩上,本章将介绍被广泛使用的方法:数据泵(data pump),让开发人员方便地把开发测试库迁移到云上。

(一)、 Data pump 简介

Oracle Data pump是高效导出导入数据及元数据的工具,自 Oracle 10g 引入该工具,意味着您无法在低于 10g 的数据库内使用。数据泵支持并行导出导入,可以大幅度降低数据迁移的时间;同时它也支持导出数据的压缩,该特性对于无足够的暂存空间,通过网络或者便携式存储迁移大量数据特别有帮助。

(二)、 导出倒入模式

针对不同的迁移需求,数据泵支持不同的导出导入模式,


  • Full Export/Import Mode

  • Schema Mode

  • Table Mode

  • Tablespace Mode

  • Transportable Tablespace Mode


较为常使用的模式是 Schema Mode(依据业务系统设计情况,可能需要补充一些元数据在导入前),可以快速将一个业务系统依赖的数据快速迁移至云环境。

(三)、 依赖权限

在进行数据导出导入时必须获得相应的授权,否则数据泵无法正常启动 job。建议从您的 dba 或者安全管理员获取以下授权


  • DATAPUMP_EXP_FULL_DATABASE

  • DATAPUMP_IMP_FULL_DATABASE


同时,您也要获得数据库 Directory(是操作系统层面的具体文件夹在数据库空间的映射)的读取写入权限。


如果您是 dba,亦可以使用 system 完成数据的导出导入。

(四)、 常见的优化方法

为了降低导出导入过程所需的时间,通常建议使用并行技术,可以显著缩短导出导入所用的时间,并行度一般不超过物理 CPU 核数的 2 倍,例如您的服务器部署了英特尔具备 HT 技术的 CPU,您的最大并行度即为您在系统里看到的 CPU 数。


压缩技术通常能大幅度降低暂存空间和对传输带宽的需求,使用压缩技术后您的最终导出数据大致为原数据的 1/3 以上(注:这是一个经验评估值,具体的压缩比例依赖于您的数据情况)。

(五)、 安全与加密

注意:如果您的数据库版本低于 11g,建议您采取其他加密方法对导出文件进行加密。这是一个仅在 11g 及以后版本才支持的特性。


如果您打算使用大容量硬盘迁移您的数据,强烈建议您在导出数据时进行加密。(请遵循 aws export/import 规范提交相关信息)


并在数据导出完成后,生成每一个文件的摘要信息。

1. 加密范围

数据泵支持对以下范围的数据进行加密:


ENCRYPTION = [ALL | DATA_ONLY | ENCRYPTED_COLUMNS_ONLY | METADATA_ONLY | NONE]


我个人强烈建议您选择 ALL,这将加密您的所有数据。

2. 加密算法

默认加密算法为 AES128。


ENCRYPTION_ALGORITHM = [AES128 | AES192 | AES256]

3. 加密模式

ENCRYPTION_MODE = [DUAL | PASSWORD | TRANSPARENT]


个人建议采用 PASSWORD,DUAL/TRANSPARENT 依赖 wallet。


密码里尽量不要使用 shell 的保留字符,例如?。


注意:加密 password 放在命令行里,不会记录在导出日志文件里。但是会记录在 history 里,所以导出完毕后记得将 history 清理干净。

(六)、 OP 数据导出

1. 创建目录并授权

在主目录创建备份目录。


Bash


mkdir backup
复制代码
在数据库内创建目录并授权。

Bash


SQL> create directory backup as '/home/oracle/backup';
Directory created.
SQL> grant read,write on directory backup to system;
Grant succeeded.
复制代码

2. 导出数据

加密并行但是未压缩导出。


Bash


expdp system schemas=BI,OE,HR,IX,SH,PM directory=backup dumpfile=example%u.dmp logfile=example_exp_20180524.log parallel=2 ENCRYPTION=ALL ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=PASSWORD ENCRYPTION_PASSWORD=AAEUeauaouaoeu13123133
Export: Release 11.2.0.4.0 - Production on Thu May 24 17:29:43 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsStarting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** schemas=BI,OE,HR,IX,SH,PM directory=backup dumpfile=example%u.dmp logfile=example_exp_20180524.log parallel=2 ENCRYPTION=ALL ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=PASSWORD ENCRYPTION_PASSWORD=******** Estimate in progress using BLOCKS method...Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATATotal estimation using BLOCKS method: 290 MB…………………………Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded******************************************************************************Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is: /home/oracle/backup/example01.dmp /home/oracle/backup/example02.dmp[oracle@devdb backup]$ ls -lahtotal 58Mdrwxr-xr-x. 2 oracle oinstall 4.0K May 24 17:29 .drwx------. 25 oracle oinstall 4.0K May 24 17:15 ..-rw-r-----. 1 oracle oinstall 564K May 24 17:30 example01.dmp-rw-r-----. 1 oracle oinstall 58M May 24 17:30 example02.dmp-rw-r--r--. 1 oracle oinstall 12K May 24 17:30 example_exp_20180524.log
复制代码


加密并行压缩导出


Bash


[oracle@devdb ~]$ expdp system schemas=BI,OE,HR,IX,SH,PM directory=backup dumpfile=example_COMPRESSION_%u.dmp logfile=example_exp_COMPRESSION_20180524.log parallel=2 ENCRYPTION=ALL ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=PASSWORD ENCRYPTION_PASSWORD=AAEUeauaouaoeu13123133 COMPRESSION=ALL
Export: Release 11.2.0.4.0 - Production on Thu May 24 17:38:27 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsStarting "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/******** schemas=BI,OE,HR,IX,SH,PM directory=backup dumpfile=example_COMPRESSION_%u.dmp logfile=example_exp_COMPRESSION_20180524.log parallel=2 ENCRYPTION=ALL ENCRYPTION_ALGORITHM=AES256 ENCRYPTION_MODE=PASSWORD ENCRYPTION_PASSWORD=******** COMPRESSION=ALL Estimate in progress using BLOCKS method...Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATATotal estimation using BLOCKS method: 290 MB……………………******************************************************************************Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is: /home/oracle/backup/example_COMPRESSION_01.dmp /home/oracle/backup/example_COMPRESSION_02.dmpJob "SYSTEM"."SYS_EXPORT_SCHEMA_01" completed with 1 error(s) at Thu May 24 17:39:03 2018 elapsed 0 00:00:35
复制代码


大家会看到使用压缩后导出数据仅为非压缩的 1/3。

3. 清理命令行历史

因为在导出数据时使用了密码,养成一个好习惯,清空命令行历史有助于提升数据安全性。


Bash


[oracle@devdb ~]$ history -c[oracle@devdb ~]$ history    1  history
复制代码

4. 生成摘要文件

可以使用 sha256sum,sha1sum 为文件生成摘要,这将有助于验证数据在传输过程中,文件是否是完整正确的。


Bash


[oracle@devdb backup]$ for i in `ls`> do > sha256sum $i >> export.dig> done[oracle@devdb backup]$ more export.dig 0939c592d1484c16433b7d983f4666d17aec97980a169dcce1c965caa92a0e32  example01.dmp7016364a2207ab79c6594f2b4aae20ff91482720438d8182d7339bba767328c1  example02.dmpcbd21df9756902887f164061354feaf339e5efb906ec414de8b75aa0236ac131  example_COMPRESSION_01.dmp3c4f35dcf00c74f893030bc3aafe77c07c71c7fb8db61fb345b86d96ac3d692d  example_COMPRESSION_02.dmp068c206ba00f49c0c364f23ba0901cc157e53d0213d8b2cbc682bdb0bae9cd19  example_exp_20180524.logd732e571d8f66668ddf6e5a84642edc8abbd611e424ba53a0fb0be36084b0a5f  example_exp_COMPRESSION_20180524.log
复制代码

(七)、 Cloud 数据导入

在将导出数据文件上传到云后,及时校验文件,确保数据文件的一致性。

1. 校验文件

Bash


[root@ip-172-31-15-152 backup]# for i in `ls`> do> sha256sum $i >> cloud.dig> done[root@ip-172-31-15-152 backup]# sed -i /export.dig/d cloud.dig[root@ip-172-31-15-152 backup]# diff cloud.dig export.dig [root@ip-172-31-15-152 backup]#
复制代码

2. 将数据导入云端数据库

创建文件夹的步骤,参见 op 数据导出章节。


Bash


[oracle@ip-172-31-15-152 ~]$ impdp system schemas=BI,OE,HR,IX,SH,PM directory=backup dumpfile=example_COMPRESSION_%u.dmp logfile=example_imp_COMPRESSION_20180524.log parallel=2  ENCRYPTION_PASSWORD=AAEUeauaouaoeu13123133
Import: Release 11.2.0.4.0 - Production on Thu May 24 10:31:50 2018
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsMaster table "SYSTEM"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloadedStarting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** schemas=BI,OE,HR,IX,SH,PM directory=backup dumpfile=example_COMPRESSION_%u.dmp logfile=example_imp_COMPRESSION_20180524.log parallel=2 ENCRYPTION_PASSWORD=********…………Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" completed with 4 error(s) at Thu May 24 10:32:18 2018 elapsed 0 00:00:27
复制代码


您会发现在导入的过程中会有报错(我们在一开始介绍数据泵导出导入模式时就提到了这一点),这是因为有一些元数据(文件夹,权限,角色,database link,scheduler job 并没有在目标数据库创建,还有一些 tablespace 可能也没有创建),通常在数据迁移的过程中您需要把这些元数据提前导出。


嗯,这是一次演习,是时候把库清空了。不要每次都把库干掉啊(你懂的……)。


Bash


SQL> drop user BI cascade;SQL> drop user OE cascade;SQL> drop user HR cascade;SQL> drop user IX cascade;SQL> drop user SH cascade;SQL> drop user PM cascade;
复制代码


仔细翻阅导入日志,找出报错信息,补充元数据,然后再导入一次。


作者介绍:


Picoman | 杨帅军


AWS 中国区专业服务咨询顾问,拥有多年通信,能源行业系统实施、运维、架构优化经验。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/oracle-aws-1/


2019-10-22 08:00835

评论

发布
暂无评论
发现更多内容

MySQL事务处理特性的实现原理

华为云开发者联盟

MySQL 数据库 innodb 事务 隔离

appium 入门参考

37手游iOS技术运营团队

ios 测试 自动化测试 iOS Developer

用Python在树莓派上播放音乐

IT蜗壳-Tango

5月日更

1小时内被全网疯转 29.8w 次,最终被所有大V协力封杀!

Java架构师迁哥

现在已经卷到需要问三色标记了吗?

艾小仙

我厂与张家港市达成全面战略合作,共推数据中心和城市智能化转型

百度大脑

数据中心 城市智能化

40K成功入职:六年开发终获小米Offer(附面经+面试题+答案详解)

Java架构师迁哥

MeterSphere | 超好用的开源测试平台

Python研究所

签约计划

获得业内一致好评!华山版Java性能优化全栈手册“登场”

Java架构追梦

Java 阿里巴巴 架构 性能优化 华山版

量化网格策略交易软件,马丁倍投策略机器人

走向机器智能时代:移动机器人的困局与创新

晨山资本

机器人 移动机器人 AMR

如何评估 Serverless 服务能力?这份报告给出了 40 条标准

Serverless Devs

云计算 云原生 Forrester Wave #Serverless

论证:iOS安全性,为什么需要审核?

37手游iOS技术运营团队

ios SIP Sandbox iOS Developer ios安全

工业4.0加速实现“数物相合”,可视化工厂节省时效高达85%

一只数据鲸鱼

人工智能 数据可视化 工业互联网 智慧工厂 智能生产

编曲新手可以用什么编曲软件?

奈奈的杂社

编曲 编曲宿主 编曲软件

鸿蒙轻内核M核源码分析:数据结构之任务排序链表

华为云开发者联盟

鸿蒙 数据结构 任务排序链表 双向链表数组 鸿蒙轻内核

🔎【Java源码探索】深入浅出的分析HashMap(JDK8)

洛神灬殇

Java 源码 源码分析 hashmap 5月日更

面阿里P7,竟问这么简单的题目?

Java架构师迁哥

服务可达,达者为先,产品发布会嘉宾精彩观点分享!

博睿数据

博睿数据 数据链DNA 服务可达

中国呼叫中心与卓越客服产业峰会,百度智能客服再提行业创新

百度大脑

解决方案 行业创新

从零开始学习ThingJS之创建App对象

ThingJS数字孪生引擎

可视化 3D可视化 数字孪生

公安局重点人员研判分析系统解决方案

【玩转PDF】贼稳,产品要做一个三方合同签署,我方了!

牧小农

JVM

博睿数据2021战略发布巡展,开辟IT运维创新路径

博睿数据

博睿数据 数据链DNA 服务可达

活动预告 _ 即构×火山引擎:泛娱乐社交音视频技术实践沙龙

ZEGO即构

🍃【SpringCloud基础使用】Nacos与Gateway实现动态路由

洛神灬殇

nacos SpringCloud Gateway 5月日更 自定义配置

答应我,别再学Swing框架了好吗?

北游学Java

Java spring swing

ARM和X86云服务器的算力对比

Python研究所

签约计划

Vue-1-初识

Python研究所

签约计划

2021 全球技术领导力峰会 融云布道技术领导力进阶之路

融云 RongCloud

Bugless 异常监控系统 (iOS端)

37手游iOS技术运营团队

ios iOS Developer 崩溃分析 bugless

Oracle 数据库上云之路(一)_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章