oracle异构mysql查询搭建过程

合集下载

mysql数据库接口开发流程

mysql数据库接口开发流程

mysql数据库接口开发流程
MySQL数据库接口开发流程可以分为以下几个步骤:
1. 确定需求:了解客户的需求,确定需要开发哪些接口以及接口的功能和使用方式。

2. 设计数据库结构:根据需求设计数据库的表结构,包括表的字段、类型和约束等信息。

3. 创建数据库:在MySQL数据库中创建相应的数据库,并创
建表结构。

4. 编写数据访问层代码:使用MySQL提供的API(如JDBC、Python的MySQL Connector等)编写数据访问层的代码,包
括数据库连接、SQL语句的执行和结果的处理等。

5. 编写业务逻辑层代码:根据接口需求,编写业务逻辑的代码,通过数据访问层代码操作数据库,实现所需的功能。

6. 测试和调试:编写单元测试用例,对数据库接口进行测试和调试,确保接口的正确性和稳定性。

7. 部署和上线:将开发完成的接口部署到服务器上,并进行上线操作,确保接口可以正常访问和使用。

8. 运维和维护:监控接口的性能和稳定性,及时修复可能的问题,并进行优化和升级。

linux系统oracle 数据库创建实例

linux系统oracle 数据库创建实例

linux系统oracle 数据库创建实例在Linux系统上创建Oracle数据库实例,可以按照以下步骤进行操作:1. 安装Oracle数据库软件。

首先,下载适用于Linux系统的Oracle数据库软件,并按照安装步骤进行安装。

2. 设置环境变量。

将Oracle数据库软件的安装路径添加到PATH环境变量中,以便系统可以找到相关的Oracle命令和工具。

3. 创建数据库实例目录。

选择一个合适的目录用于存储数据库实例文件,例如:/u01/app/oracle/oradata/。

4. 使用Oracle用户登录系统。

在Linux系统上创建一个拥有合适权限的Oracle用户,并使用该用户登录系统。

5. 使用dbca命令创建数据库实例。

在终端中输入以下命令启动数据库配置助手(Database Configuration Assistant):dbca6. 选择创建数据库实例选项。

根据实际需求,选择创建新的数据库实例或者基于现有的模板来创建数据库实例。

7. 配置数据库实例参数。

在配置向导中,按照提示设置数据库实例的名称、监听器、字符集、内存大小等参数。

8. 创建数据库。

根据向导的指示,输入数据库管理员(DBA)密码,并完成数据库的创建过程。

9. 启动数据库实例。

使用以下命令启动数据库实例:sqlplus / as sysdba,然后输入startup命令。

10. 验证数据库实例。

输入以下命令验证数据库实例是否成功创建:sqlplus / as sysdba,然后输入select * from v$version命令,查看数据库版本信息。

以上就是在Linux系统上创建Oracle数据库实例的基本步骤。

具体操作可能会因Oracle软件版本和Linux发行版的不同而略有差异,可以根据具体情况进行调整。

navicat oracle sql 查询表构建语句

navicat oracle sql 查询表构建语句

navicat oracle sql 查询表构建语句
NavicatforOracle是一款功能强大的Oracle数据库管理工具,它提供了许多实用的功能,其中包括查询表构建语句。

下面我们来看看如何使用Navicat for Oracle快速生成表构建语句。

1. 打开Navicat for Oracle,连接到您的Oracle数据库。

2. 选择要查询的表,右键单击并选择“设计表”。

3. 在“设计表”窗口中,选择“表定义”选项卡。

4. 在“表定义”选项卡中,您可以看到表的各个字段及其属性。

单击“生成SQL”按钮。

5. 在“生成SQL”窗口中,您可以看到生成的表构建语句。

您可以选择复制该语句并将其粘贴到SQL编辑器中,或者单击“保存到文件”按钮将其保存到本地文件中。

6. 完成!您已成功生成了表构建语句。

总结:
使用Navicat for Oracle可以轻松地生成表构建语句,这对于开发人员和数据库管理员来说非常实用。

同时,Navicat for Oracle还提供了许多其他实用的功能,如数据同步、数据备份、数据恢复等,可以大大提高数据库管理的效率。

- 1 -。

创建查询的实验报告

创建查询的实验报告

一、实验目的1. 理解查询的基本概念和作用。

2. 掌握创建简单查询的方法。

3. 熟悉使用查询进行数据筛选、排序和分组。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 创建查询2. 使用查询进行数据筛选3. 使用查询进行数据排序4. 使用查询进行数据分组四、实验步骤1. 创建查询(1)打开MySQL Workbench,连接到数据库。

(2)在查询窗口中输入以下SQL语句创建查询:```sqlSELECT FROM students;```(3)执行查询,查看结果。

2. 使用查询进行数据筛选(1)在查询窗口中输入以下SQL语句筛选出年龄大于20岁的学生信息:```sqlSELECT FROM students WHERE age > 20;```(2)执行查询,查看结果。

3. 使用查询进行数据排序(1)在查询窗口中输入以下SQL语句按照年龄升序排序学生信息:```sqlSELECT FROM students ORDER BY age ASC;```(2)执行查询,查看结果。

(1)在查询窗口中输入以下SQL语句按照年龄降序排序学生信息:```sqlSELECT FROM students ORDER BY age DESC;```(2)执行查询,查看结果。

4. 使用查询进行数据分组(1)在查询窗口中输入以下SQL语句按性别分组,并统计每组人数:```sqlSELECT gender, COUNT() FROM students GROUP BY gender;```(2)执行查询,查看结果。

五、实验结果与分析1. 创建查询实验结果显示,成功创建了名为“students”的查询,查询结果包含了所有学生的信息。

2. 使用查询进行数据筛选实验结果显示,成功筛选出了年龄大于20岁的学生信息,共2条记录。

oracle21数据库建库步骤

oracle21数据库建库步骤

一、概述Oracle数据库是一种高性能、可扩展、安全性强的数据库管理系统。

在进行数据库建库之前,需要进行一系列操作,包括创建数据库实例、设置参数、创建表空间等。

本文将介绍Oracle21数据库的建库步骤,帮助读者了解如何在Oracle21中建立数据库。

二、准备工作在进行数据库建库之前,需要准备一些必要的工作。

包括:1. 确保系统环境符合Oracle21数据库的安装要求,包括操作系统版本、内存大小、硬盘空间等。

2. 确保已经安装了Oracle21数据库软件,并且具有足够的权限进行数据库建库的操作。

3. 准备好数据库建库的相关信息,包括数据库名称、字符集、临时表空间等。

三、创建数据库实例在Oracle21数据库中,首先需要创建数据库实例。

创建数据库实例的步骤如下:1. 使用sysdba权限登入到数据库中。

2. 执行create database语句,指定数据库名称、字符集、控制文件位置等参数。

3. 执行alter database语句,指定归档模式、实例名称等参数。

四、设置数据库参数在创建数据库实例之后,需要对数据库参数进行设置,以满足数据库的性能和安全要求。

设置数据库参数的步骤如下:1. 使用alter system语句,设置数据库参数,包括数据库缓冲区大小、归档模式等。

2. 使用alter database语句,设置数据库参数,包括日志文件大小、最大连接数等。

五、创建表空间在Oracle21数据库中,表空间是存储数据库对象的逻辑单位,包括数据文件和日志文件等。

创建表空间的步骤如下:1. 使用create tablespace语句,创建表空间,指定表空间名称、数据文件大小、数据文件位置等参数。

2. 使用alter tablespace语句,设置表空间的参数,如自动扩展大小、最大大小等。

六、创建用户在Oracle21数据库中,用户是可以访问和操作数据库对象的实体。

创建用户的步骤如下:1. 使用create user语句,创建用户,指定用户名、密码、默认表空间等参数。

OGG11g同构(GoldenGate-ORACLE)、异构(GoldenGate-MYSQL)同步配置及错误解析

OGG11g同构(GoldenGate-ORACLE)、异构(GoldenGate-MYSQL)同步配置及错误解析

OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析环境:11.2.0.3(已安装数据库实例)+OEL5.7192.168.1.55 zlm sid:zlm11g192.168.1.60 zlm2 sid:zlm11g一、安装软件,配置环境,创建相关用户1.1 下载介质并安装OGG软件从官方网址下载最新版OGG FOR ORACLE 11g ON LINUX X86-64软件:/technetwork/middleware/goldengate/downloads/index.html?ssSo urceSiteId=ocomenOracle GoldenGate V11.2.1.0.1 for Oracle 11g on Linux x86-64 (86 MB)介质名称:ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip1.2 把OGG软件包复制到源端oracle主目录,创建安装目录gg11后2次解压到gg11 [oracle@zlm ~]$ lsogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip[oracle@zlm ~]$ cd $OACLE_BASE[oracle@zlm oracle]$ mkdir gg11[oracle@zlm oracle]$ cd gg11[oracle@zlm gg11]$ unzip /home/oracle/ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zi p[oracle@zlm gg11]$ lltotal 223764-rw-rw-r-- 1 oracle oinstall 228556800 Apr 23 2012 fbo_ggs_Linux_x64_ora11g_64bit.ta r-rwxrwxrwx 1 oracle oinstall 220546 May 2 2012 OGG_WinUnix_Rel_Notes_11.2.1.0.1 .pdf-rwxrwxrwx 1 oracle oinstall 93696 May 2 2012 Oracle GoldenGate 11.2.1.0.1 READ ME.doc-rwxrwxrwx 1 oracle oinstall 24390 May 2 2012 Oracle GoldenGate 11.2.1.0.1 READ ME.txt[oracle@zlm gg11]$ tar xvof fbo_ggs_Linux_x64_ora11g_64bit.tar1.3 修改环境变量文件.bash_profile,加入OGG的环境变量export GGHOME=$ORACLE_BASE/gg11export PATH=$ORACLE_BASE/gg11:$ORACLE_HOME/bin:/usr/bin/:$PATH[oracle@zlm gg11]$ . ~/.bash_profile[oracle@zlm gg11]$ ggsciggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: N o such file or directory由于没有设置LD_LIBRARY_PATH环境变量,所以无法执行ggsci,添加export LD_LIBLARY_PATH=$ORACLE_BASE/gg11:$ORACLE_HOME/lib:$ORACLE_HOME/b in到环境变量.bash_profile并source,或者创建一个link文件:[oracle@zlm gg11]$ ln -s /u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so -/u01/app/oracle/product/11.2.0/db_1/lib/libnnz10.so1.4 创建OGG专用目录subdirsGGSCI (zlm) 1> create subdirsCreating subdirectories under current directory /u01/app/oracle/gg11Parameter files /u01/app/oracle/gg11/dirprm: already existsReport files /u01/app/oracle/gg11/dirrpt: createdCheckpoint files /u01/app/oracle/gg11/dirchk: createdProcess status files /u01/app/oracle/gg11/dirpcs: createdSQL script files /u01/app/oracle/gg11/dirsql: createdDatabase definitions files /u01/app/oracle/gg11/dirdef: createdExtract data files /u01/app/oracle/gg11/dirdat: createdTemporary files /u01/app/oracle/gg11/dirtmp: createdStdout files /u01/app/oracle/gg11/dirout: created1.5 开启归档模式、强制日志、附加日志查看v$database看这3个参数是否已开启,使用OGG必须是开启状态SQL> select LOG_MODE, SUPPLEMENTAL_LOG_DATA_MIN,FORCE_LOGGING from v$dat abase;LOG_MODE SUPPLEME FOR------------ -------- ---ARCHIVELOG YES YES各参数开启方法:--archivelogSQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;SQL> alter database open;--force loggingSQL> alter database force logging;--supplemental log dataSQL> alter database add supplemental log data;1.6 关闭数据库的recyclebin(10gDDL必须,11gDDL可选)SQL> alter system set recyclebin=off scope=spfile; --同步DDL要求关闭10g中的回收站特性1.7 创建复制用户ogg并授予权限SQL> create user ogg identified by ogg default tablespace users temporary tablespace te mp;SQL> grant connect,resource,unlimited tablespace to ogg;1.8 创建测试用户sender并授予权限SQL> create user sender identified by sender default tablespace users temporary tablesp ace temp;SQL> grant connect,resource,unlimited tablespace to sender;1.9 配置复制的DDL支持(必须SYSDBA登录执行)SQL> grant execute on utl_file to ogg;SQL> @$GGHOME/marker_setup.sql; --建立一个DDL标记表SQL> @$GGHOME/ddl_setup.sql; --INITIALSETUP选项运行ddl_setup.sql 将在数据库中创建捕获DDL语句的Trigger等必要组件(注意,执行时必须断开GGSCI连接,否则报错) SQL> @$GGHOME/role_setup.sql; --建立GGS_GGSUSER_ROLE角色SQL> grant GGS_GGSUSER_ROLE to ogg; --授予给extract group参数中定义的userid用户SQL> @$GGHOME/ddl_enable.sql; --enable ddl捕获触发器注意:下面2个SQL脚本只是为了提高DDL复制性能,不是必须的SQL> @?/rdbms/admin/dbmspool --创建DBMS_SHARED_POOL包SQL> @ddl_pin --通过dbms_shared_pool.keep存储过程将DDLReplication相关的对象keep 在共享池中,以保证这些对象不要reload,提升性能1.10 目标端重复配置以上1.1-1.9全部内容,至此,ORACLE-ORACLE环境搭建完毕二、用EXPDP/IMPDP初始化测试数据(仅限ORACLE-ORACLE)2.1 创建EXPDP/IMPDP使用的directory及其对应的本地目录SQL> set lin 200 pages 999SQL> col owner for a5SQL> col directory_name for a25SQL> col directory_path for a75SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH----- ------------------------- ----------------------------------SYS GGS_DDL_TRACE /u01/app/oracle/diag/rdbms/zlm11g/zlm11g/trace SYS SUBDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/order_e ntry//2002/SepSYS SS_OE_XMLDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/orde r_entry/SYS BACKUP /u01/backupSYS LOG_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/log/SYS MEDIA_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/produ ct_media/SYS XMLDIR /u01/app/oracle/product/11.2.0/db_1/rdbms/xmlSYS DATA_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/sale s_history/SYS DATA_PUMP_DIR /u01/app/oracle/admin/zlm11g/dpdump/SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle/product/11.2.0/db_1/ccr/state SQL> create directory expdump as '/u01/expdp';SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH----- ------------------------- ----------------------------------SYS GGS_DDL_TRACE /u01/app/oracle/diag/rdbms/zlm11g/zlm11g/trace SYS EXPDUMP /u01/expdpSYS SUBDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/order_e ntry//2002/SepSYS SS_OE_XMLDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/orde r_entry/SYS BACKUP /u01/backupSYS LOG_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/log/ SYS MEDIA_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/produ ct_media/SYS XMLDIR /u01/app/oracle/product/11.2.0/db_1/rdbms/xmlSYS DATA_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/sale s_history/SYS DATA_PUMP_DIR /u01/app/oracle/admin/zlm11g/dpdump/SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle/product/11.2.0/db_1/ccr/state [oracle@zlm gg11]$ cd /u01/[oracle@zlm u01]$ lsapp backup[oracle@zlm u01]$ mkdir /u01/expdp[oracle@zlm u01]$ lltotal 16drwxr-xr-x 4 oracle oinstall 4096 Jul 13 03:12 appdrwxrwxr-x 2 oracle oinstall 4096 Jul 21 20:26 backupdrwxr-xr-x 2 oracle oinstall 4096 Aug 28 22:11 expdp2.2 登录sender用户并创建测试表testSQL> conn sender/senderConnected.SQL> begin2 for i in 1..3 loop3 insert into test values(i);4 end loop;5 end;6 /PL/SQL procedure successfully completed.SQL> select * from test1;ID----------1232.3 赋予sender读写directory的权限,执行expdp导出测试表testSQL> grant read,write on directory expdump to sender;SQL> ![oracle@zlm ~]$ expdp sender/sender directory=expdump dumpfile=test.dmp logfile=te st.log tables=test[oracle@zlm ~]$ cd /u01/expdp[oracle@zlm expdp]$ lstest.dmp test.log2.4 在目标端创建directory及相应的本地路径,复制dump文件到目标端SQL> create directory impdump as ‘/u01/impdp’;--target[oracle@zlm2 gg11]$ mkdir /u01/impdp[oracle@zlm2 gg11]$ ls /u01app backup impdp--source[oracle@zlm expdp]$ scp test.* zlm2:/u01/impdporacle@zlm2's password:test.dmp 100% 92KB 92.0KB/s 00:00 test.log 100% 1011 1.0KB/s 00:00 2.5 目标端赋予recerver用户权限,执行impdp导入测试表testSQL> grant read,write on directory impdump to sender;SQL> ![oracle@zlm2 ~]$ impdp sender/sender directory=impdump dumpfile=test.dmp tables=t est注意:expdp/impdp必须是在同一个schema下的object,否则不能执行成功,logfile可以无SQL> conn sender/senderConnected.SQL> select * from test;ID----------123此时完成test表的初始化同步,注意:如果非ORACLE-ORACLE方式同步,则只能使用OGG推荐的方式,即配置initial extract来初始化数据,具体可以参考我之前的一篇blog:OGG配置DML单向复制一例及错误分析/aaron8219/article/details/10275431三、不使用PUMP抽取进程的DML同步参数配置(ORACLE-ORACLE)3.1 单向复制3.1.1 创建并配置manager[ogg@zlm gg11]$ ./ggsciGGSCI (zlm) 1> info allGGSCI (zlm) 2> edit params mgrPORT 7809ggate (zlm) 3> start managerManager started.3.1.2 配置源端抽取组ext1GGSCI (zlm) 1> add extract ext1, tranlog, begin nowGGSCI (zlm) 2> add rmttrail ./dirdat/rt, extract ext1GGSCI (zlm) 3> edit params ext1extract ext1userid ogg, password oggrmthost zlm2, mgrport 7809rmttrail ./dirdat/rtddl include mapped objname sender.*;table sender.*;GGSCI (zlm) 4> info all3.1.3 配置目标端同步组3.1.3.1 在目标端添加checkpoint表[ogg@zlm gg11]$ ./ggsciGGSCI (zlm2) 1> edit params ./GLOBALGGSCHEMA oggCHECKPOINTTABLE ogg.ckptGGSCI (zlm2) 2> dblogin userid ogg password oggGGSCI (zlm2) 3> add checkpointtable ogg.ckpt3.1.3.2 创建同步组rep1GGSCI (zlm2) 4> add replicat rep1, exttrail ./dirdat/rt, checkpointtable ogg.ckpt GGSCI (zlm2) 5> edit params rep1replicat rep1ASSUMETARGETDEFSuserid ogg,password oggreperror default,discarddiscardfile ./dirrpt/rep1.dsc, append, megabytes 5DDLmap sender.*, target sender.*;3.1.4 源端开启抽取组ext1,目标端开启同步组rep1--sourceGGSCI (zlm) 1> start mgrGGSCI (zlm) 2> start extract ext1GGSCI (zlm) 3> info all--targetGGSCI (zlm2) 1> start mgrGGSCI (zlm2) 2> start replicat rep1GGSCI (zlm2) 3> info all3.1.5 测试DML同步3.1.5.1 insert--sourceSQL> select * from test2 /ID----------123SQL> insert into test values(4);1 row created.SQL> commit;Commit complete.--targetSQL> select * from test;ID----------1234注意:可以顺利同步,但是查看ext1和rep1的run time messages,都报了如下的错误:WARNING OGG-00869 No unique key is defined for table 'TEST'. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.Using the following key columns for source table SENDER.TEST: ID.该表没有主键,使用KEYCOLS代替,查询官方说明如下:OGG-00869: {0}Cause: The specified database error occurred, but can be ignored.Action: Contact Oracle Support only if a problem persists.由于这只是个警告,况且对实际的应用也没什么影响,是可以忽略掉的。

powerdesigner oracle sql语句 转 mysql sql语句

powerdesigner oracle sql语句 转 mysql sql语句

powerdesigner oracle sql语句转mysql sql语句在 PowerDesigner 中将 Oracle SQL 语句转换为 MySQL SQL 语句的过程大致如下:首先,需要确保你已安装了相应的 PowerDesigner 插件,用于支持Oracle 和 MySQL 数据库的转换。

接下来,按照以下步骤操作:1. 打开 PowerDesigner 并进入数据模型设计环境。

2. 选择 "Database" 菜单,然后选择 "Open Database"。

3. 在弹出的文件选择对话框中,选择你想要转换的 Oracle SQL 文件。

4. 加载 SQL 文件后,你可以在 PowerDesigner 中看到一个 SQL 编辑器窗口。

5. 在 SQL 编辑器窗口中,你可以找到你的 Oracle SQL 语句。

6. 复制这些语句,并创建一个新的 MySQL SQL 文件。

7. 在新的 MySQL SQL 文件中,粘贴你复制的 Oracle SQL 语句。

8. 使用 MySQL 的语法和特性对语句进行修改和调整,以适应 MySQL 的语法和要求。

9. 一旦你对语句进行了必要的修改,就可以将其保存为新的 MySQL SQL 文件。

下面是一个简单的示例,展示如何将一个简单的 Oracle SQL 查询转换为MySQL SQL 查询:Oracle SQL 查询:```sqlSELECT * FROM employees WHERE department_id = 10 AND salary > 5000; ```转换为 MySQL SQL 查询:```sqlSELECT * FROM employees WHERE department_id = 10 AND salary > 5000; ```请注意,转换过程可能会因具体的 SQL 语句和数据模型而有所不同。

mysql创建数据库的步骤

mysql创建数据库的步骤

MySQL创建数据库的步骤简介MySQL是一种开源的关系型数据库管理系统(RDBMS),被广泛应用于各种业务场景中。

在使用MySQL之前,我们需要先创建一个数据库来存储数据。

本文将详细介绍MySQL创建数据库的步骤,并提供示例代码来帮助读者更好地理解。

步骤一:连接MySQL服务器在开始创建数据库之前,我们需要先连接到MySQL服务器。

通常,会通过命令行工具或者可视化管理工具来进行连接。

在命令行中,可以使用以下命令连接到MySQL 服务器:mysql -h host -P port -u username -p其中,host为服务器地址,port为服务器端口号,默认为3306;username为连接MySQL的用户名,-p表示需要输入密码。

连接成功后,将进入MySQL的命令行交互界面。

步骤二:创建数据库连接到MySQL服务器后,我们可以使用以下命令来创建数据库:CREATE DATABASE database_name;其中,database_name为要创建的数据库的名称。

执行以上命令后,将创建一个名为database_name的数据库。

步骤三:查看已创建的数据库如果想要查看已经创建的数据库,可以使用以下命令:SHOW DATABASES;执行以上命令后,将列出MySQL服务器上的所有数据库,包括刚刚创建的database_name。

步骤四:选择数据库要开始操作一个数据库,需要先选择它。

可以使用以下命令选择一个已经存在的数据库:USE database_name;其中,database_name为要选择的数据库的名称。

执行以上命令后,将切换到database_name数据库,并在操作中默认使用它。

步骤五:设置数据库字符集和排序规则在创建数据库时,可以指定数据库的字符集和排序规则。

常用的字符集包括UTF8和GBK,排序规则包括utf8_general_ci和utf8_bin等。

使用以下命令来创建具有特定字符集和排序规则的数据库:CREATE DATABASE database_name CHARACTER SET character_set_name COLLATE collati on_name;执行以上命令后,将创建一个具有指定字符集和排序规则的数据库。

建表语句oracle转mysql sql语句

建表语句oracle转mysql sql语句

建表语句oracle转mysql sql语句1. 引言1.1 介绍本文将探讨建表语句在Oracle和MySQL之间的转换,介绍在进行转换时需要注意的基本规则、数据类型转换、约束转换、索引转换以及触发器转换等内容。

Oracle和MySQL是两种常用的关系型数据库管理系统,它们在语法和功能上有一些差异,因此在将数据库从Oracle迁移到MySQL或在两者之间进行数据交互时,需要进行相应的语句转换。

在数据库迁移或数据交互过程中,建表语句是一项重要的工作,因为表的结构定义必须与目标数据库兼容,才能确保数据能够正确地被存储和检索。

本文将从基本规则开始介绍建表语句在Oracle和MySQL之间的转换过程,包括如何处理数据类型、约束、索引和触发器等方面的差异。

通过学习本文,读者将能够了解建表语句在Oracle 和MySQL之间的转换方法,从而更好地应用于实际的数据库工作中。

1.2 目的在将Oracle数据库中的建表语句转换为MySQL数据库中的建表语句时,我们的主要目的是实现数据库迁移和兼容性转换。

随着不同公司和组织对数据库管理系统的需求不断变化和更新,数据库迁移成为了一个常见的需求。

通过将Oracle数据库迁移至MySQL数据库,可以降低成本、提高效率、增加灵活性,从而使数据库管理更加便捷和高效。

由于Oracle数据库和MySQL数据库在建表语句的语法和特性上存在一些差异,因此在进行转换时需要精确地将Oracle的建表语句转换为MySQL的建表语句,以确保数据的完整性和一致性。

通过本文所提供的建表语句Oracle转MySQL的基本规则、数据类型转换、约束转换、索引转换以及触发器转换等内容,读者可以了解到如何有效地进行数据库迁移工作,以便更好地满足实际工作中的需求。

本文的目的是帮助读者更好地理解和掌握将Oracle数据库中的建表语句转换为MySQL数据库中的建表语句的方法和技巧,从而实现数据库的顺利迁移和兼容性转换。

从oracle迁移到mysql的方案设计与用户实践

从oracle迁移到mysql的方案设计与用户实践

从oracle迁移到mysql的方案设计与用户实践从Oracle迁移到MySQL的方案设计与用户实践1. 引言近年来,随着企业规模的扩大和技术发展的进步,越来越多的企业开始考虑从Oracle数据库迁移到MySQL数据库的方案。

Oracle作为一款强大的商业数据库管理系统,具有稳定性、安全性和丰富的功能。

然而,MySQL作为一款开源数据库管理系统,具有开放性、灵活性和高性能的优势,也逐渐被企业所看重。

本文将以从简到繁的方式,逐步探讨从Oracle迁移到MySQL的方案设计与用户实践。

2. 方案设计2.1 数据库架构设计在进行Oracle到MySQL迁移之前,首先需要进行数据库架构设计的工作。

这包括目标数据库的表结构设计、索引设计以及分区设计等。

通过对目标数据库的架构进行合理规划,可以有效地提高迁移效率和性能。

2.2 数据迁移策略在数据迁移过程中,需要选择合适的迁移策略。

一种常见的策略是全量迁移加增量同步,即先将Oracle中的所有数据全量迁移到MySQL,然后通过增量同步机制实时同步数据变化。

另一种策略是逐表迁移,即逐个表进行数据迁移,可以更加灵活地控制迁移进度。

2.3 代码转换与优化在将Oracle的应用程序迁移到MySQL时,需要进行代码转换和优化的工作。

由于Oracle和MySQL的语法和特性存在差异,因此需要对Oracle的存储过程、触发器、函数等进行相应的转换和优化。

还需要对SQL语句进行性能优化,确保在MySQL中的执行效率。

3. 用户实践3.1 深圳某电商公司的实践深圳某电商公司是一家规模较大的企业,他们决定将原先使用的Oracle数据库迁移到MySQL。

在方案设计阶段,该公司进行了详细的架构设计和数据迁移策略选择,确保迁移过程的顺利进行。

在实施过程中,该公司积极配合数据库迁移团队的工作,合理安排迁移进度,并对迁移过程进行了监控和优化。

该公司成功地将Oracle数据库迁移到了MySQL,并取得了相应的性能和成本优势。

oracle迁移mysql sql语句改造

oracle迁移mysql sql语句改造

oracle迁移mysql sql语句改造【Oracle迁移MySQL SQL语句改造】引言:随着数据迁移需求的增加,许多企业选择将其数据库从Oracle迁移到MySQL,这是一种较为常见的情况。

然而,Oracle和MySQL是两种不同的数据库管理系统(DBMS),它们在SQL语法和功能方面存在一些差异。

因此,在迁移过程中,我们需要对SQL语句进行适当的改造,以确保原先在Oracle中可以正常运行的语句在MySQL中也能够得到正确的执行。

本文将详细阐述Oracle迁移MySQL SQL语句改造的具体步骤,以帮助读者更好地理解并应用这些技巧。

第一步:数据类型转换首先,我们需要将Oracle中特定的数据类型转换为MySQL支持的数据类型。

例如,Oracle中的NUMBER类型可以转换为MySQL的INT或DOUBLE类型,VARCHAR2类型可以转换为VARCHAR类型,而CLOB类型可以转换为TEXT 类型。

需要注意的是,Oracle中的DATE类型在MySQL中与DATETIME类型对应。

在进行数据类型转换时,我们还需要考虑字段长度的差异,以确保转换后的数据类型满足MySQL的要求。

第二步:日期函数转换接下来,我们需要将Oracle中的日期函数转换为MySQL支持的等效函数。

例如,Oracle中的SYSDATE可以转换为MySQL中的NOW()函数;而在Oracle 中使用TO_CHAR或TO_DATE函数来格式化日期的操作,在MySQL中可以使用DATE_FORMAT函数来实现相同的效果。

同样,我们还需要注意到函数名称、参数的顺序以及日期格式等方面的差异。

第三步:引用函数的转换在Oracle中,我们可以使用双引号("")来引用一个数据库对象(如表名、列名),而在MySQL中,我们则可以使用反引号(``)来实现相同的效果。

因此,在迁移过程中,我们需要将双引号替换为反引号,以确保引用的对象能够正确地被识别。

oracle database数据库创建操作步骤

oracle database数据库创建操作步骤

创建Oracle数据库的操作步骤如下:
1. 安装Oracle数据库软件:首先需要下载并安装Oracle数据库软件。

根据操作系统的不同,选择相应的版本进行安装。

2. 创建数据库实例:在安装完成后,需要创建一个数据库实例。

数据库实例是一个运行在计算机上的Oracle数据库的副本,它包含了数据库的数据和元数据。

3. 配置数据库参数:在创建数据库实例后,需要对数据库进行配置。

配置包括设置数据库的名称、字符集、内存分配等参数。

4. 创建表空间:表空间是数据库中存储数据的逻辑结构,用于管理数据库中的表、索引等对象。

可以创建多个表空间来管理不同类型的数据。

5. 创建用户:在Oracle数据库中,用户是访问和管理数据库的主体。

可以创建多个用户,并为每个用户分配不同的权限。

6. 创建表和索引:在数据库中创建表和索引来存储和管理数据。

可以使用SQL语句或者图形化工具来创建表和索引。

7. 导入数据:如果有现有的数据需要导入到数据库中,可以使用Oracle提供的工具或者SQL语句来进行数据导入。

8. 运行数据库:完成以上步骤后,可以启动数据库实例,并开始使用数据库。

以上是创建Oracle数据库的基本步骤,具体的操作可以根据实际需求和情况进行调整。

{"code":0,"msg":"请求出现异常","data":{}}。

mysql数据库搭建流程

mysql数据库搭建流程

mysql数据库搭建流程MySQL是一种广泛使用的关系型数据库管理系统,是开源软件,各个平台上都可以使用,具有性能稳定、操作简易等优点,成为非常流行的数据库选择。

下面就来介绍一下MySQL数据库搭建流程。

1.安装MySQL数据库管理系统首先需要下载对应平台的MySQL安装包,这里以Windows平台为例。

下载完成后,双击运行安装程序,按照提示完成MySQL安装,在过程中需要设置MySQL的管理员账户和密码,并可以选择安装的组件。

2.配置MySQL服务在MySQL安装完成后,需要进行服务的配置。

在Windows平台下,打开“服务”管理器,找到MySQL服务,并启动服务。

如果MySQL服务启动失败,可能需要更改MySQL配置文件my.ini的默认路径,将MySQL程序路径修改为正确路径,即可启动服务。

3.创建数据库和用户在MySQL服务已经成功启动后,需要在MySQL中创建一个新数据库以及一个管理用户。

可以使用MySQL客户端工具,如MySQL Workbench等工具进行创建。

首先登录MySQL,在QUERY上输入CREATE DATABASE 数据库名字;,完成创建数据库。

然后在QUERY上输入CREATE USER '用户名称'@'localhost' IDENTIFIED BY '用户密码';,完成创建用户。

4.为用户授权完成用户的创建后,需要为其授权,以便用户可以对创建的数据库进行操作。

使用GRANT语句进行授权,在QUERY上输入GRANT ALL PRIVILEGES ON 数据库名字.* TO '用户名称'@'localhost' IDENTIFIED BY '用户密码';,完成用户的授权。

5.远程访问的配置如果需要让外部机器可以访问MySQL,则需要进行相关配置,如取消bind address、开放MySQL默认端口3306等。

mysql实验实训过程及步骤

mysql实验实训过程及步骤

mysql实验实训过程及步骤MySQL实验实训过程及步骤一、实验概述MySQL是一种常用的关系型数据库管理系统,被广泛应用于各种Web应用程序和企业级应用中。

通过进行MySQL实验实训,可以帮助学习者熟悉MySQL的基本操作和常用命令,掌握数据库的创建、表的设计、数据的插入、查询和更新等基本技能。

本文将介绍MySQL实验实训的具体过程和步骤。

二、实验环境准备1. 在本地计算机上安装MySQL数据库软件,并设置用户名和密码。

2. 在命令行窗口中启动MySQL服务。

三、实验步骤1. 创建数据库在MySQL命令行中,使用CREATE DATABASE语句创建一个新的数据库。

例如:CREATE DATABASE mydb;2. 选择数据库使用USE语句选择要使用的数据库。

例如:USE mydb;3. 创建表使用CREATE TABLE语句创建一个新的表。

表包含列和其对应的数据类型。

例如:CREATE TABLE students (id INT, name VARCHAR(20), age INT);4. 插入数据使用INSERT INTO语句将数据插入到表中。

例如:INSERT INTO students VALUES (1, '张三', 20);5. 查询数据使用SELECT语句从表中检索数据。

例如:SELECT * FROM students;6. 更新数据使用UPDATE语句更新表中的数据。

例如:UPDATE students SET age = 21 WHERE id = 1;7. 删除数据使用DELETE语句从表中删除数据。

例如:DELETE FROM students WHERE id = 1;8. 删除表使用DROP TABLE语句删除表。

例如:DROP TABLE students;9. 删除数据库使用DROP DATABASE语句删除数据库。

例如:DROP DATABASE mydb;四、实验注意事项1. 在进行任何操作之前,务必确认当前所在的数据库和表。

从Oracle、SQLServer、Mysql等异构数据库高速抽取数据到GP(greenPlum)

从Oracle、SQLServer、Mysql等异构数据库高速抽取数据到GP(greenPlum)

从Oracle、SQLServer、Mysql等异构数据库⾼速抽取数据到
GP(greenPlum)
greenplum数据连接配置,注意连接类型要选择PostgreSQL
新建数据连接,源选择异构的⽰例数据库SampleSource(H2数据库)
⽬标页签选择GP的数据连接和表
⽬标表更新⽅式:新增并更新数据到⽬标表
关键字段:不为空即可
插⼊前执⾏语句:系统会⾃动⽣成Merge语句,将merge语句替换成Copy语句
COPY 表名 FROM STDIN DELIMITER '|' NULL 'None'
(DELIMITER 表⽰列分隔符;NULL 'None'的意思是值为null的数据会被填充为“None”)
具体可以参考postgresql(greenplum)的COPY ... FROM STDIN 的语法。

注意:⽼的pg版本语法上略有不同,需根据当前版本的语句来写COPY语句。

执⾏任务,10万⾏数据导⼊。

实测4G数据导⼊GP⽤时100秒左右。

mysql连接oracle原理

mysql连接oracle原理

mysql连接oracle原理
MySQL是一个开源的关系型数据库管理系统,而Oracle是一个商业的关系型数据库管理系统。

它们之间的连接是通过使用ODBC(Open Database Connectivity)标准来实现的。

具体来说,连接MySQL和Oracle的过程如下:
1. 首先,需要在MySQL和Oracle中分别创建一个数据库和相应的表格。

这些表格需要具有相同的结构和字段类型。

2. 在MySQL中,需要安装ODBC驱动程序,以便能够与Oracle进行通信。

ODBC是一个标准的接口,用于在不同的数据库管理系统之间进行通信。

3. 在MySQL中,使用ODBC连接字符串来连接到Oracle。

这个连接字符串包括了连接Oracle数据库的相关信息,如服务器名称、用户名、密码等。

4. 一旦连接建立,就可以通过执行SQL查询语句在MySQL中访问Oracle数据库中的数据。

查询语句将会被封装成ODBC命令并发送到Oracle数据库以获取结果。

5. 获取到的结果将会被返回给MySQL,并可以在MySQL中进行进一步的处理和操作。

需要注意的是,连接MySQL和Oracle可能存在一些性能上的差异和限制。

MySQL和Oracle是不同厂商提供的不同数据库管理系统,它们具有不同的优化和功能特性。

在连接和数据传输过程中,可能需要进行一些数据类型转换和性能调优,以提高连接的效率和性能。

总之,通过使用ODBC标准,可以连接MySQL和Oracle数据库,并在MySQL 中访问和操作Oracle中的数据。

mybatis mysql 和oracle用法

mybatis mysql 和oracle用法

mybatis mysql 和oracle用法Mybatis是一种持久化框架,可用于访问各种关系型数据库,包括MySQL和Oracle。

以下是Mybatis与这两种数据库的用法:MySQL:1. 引入MySQL驱动:在pom.xml文件中添加以下依赖:<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency>2. 配置Mybatis连接MySQL:在mybatis-config.xml文件中添加以下配置信息:<environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver"value="com.mysql.cj.jdbc.Driver"/><property name="url"value="jdbc:mysql:localhost:3306/mybatis"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments>3. 编写Mapper接口:在Java代码中编写Mapper接口,并通过注解或XML 文件方式映射SQL语句,例如:@Mapperpublic interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User getUserById(Integer id);@Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age}") void addUser(User user);其他SQL语句类似}4. 运行Mybatis:在Java代码中通过SqlSession工厂获得SqlSession对象,并执行SQL语句,例如:SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User user = userMapper.getUserById(1);System.out.println(user.getName());sqlSession.close();Oracle:1. 引入Oracle驱动:在pom.xml文件中添加以下依赖:<dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>19.7.0.0</version></dependency>2. 配置Mybatis连接Oracle:在mybatis-config.xml文件中添加以下配置信息:<environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver"value="oracle.jdbc.driver.OracleDriver"/><property name="url"value="jdbc:oracle:thin:@localhost:1521:ORCL"/><property name="username" value="username"/><property name="password" value="password"/></dataSource></environment></environments>3. 编写Mapper接口:在Java代码中编写Mapper接口,并通过注解或XML 文件方式映射SQL语句,例如:@Mapperpublic interface UserMapper {@Select("SELECT * FROM user WHERE id = #{id}")User getUserById(Integer id);@Insert("INSERT INTO user (name, age) VALUES (#{name}, #{age}") void addUser(User user);其他SQL语句类似}4. 运行Mybatis:在Java代码中通过SqlSession工厂获得SqlSession对象,并执行SQL语句,例如:SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper userMapper = sqlSession.getMapper(UserMapper.class); User user = userMapper.getUserById(1);System.out.println(user.getName());sqlSession.close();注意,以上仅是Mybatis与MySQL和Oracle的简单用法示例,更详细的内容可以查看官方文档。

通过DataX从Oracle同步数据到MySQL-安装配置过程

通过DataX从Oracle同步数据到MySQL-安装配置过程

通过DataX从Oracle同步数据到MySQL-安装配置过程DataXDataX 是阿⾥巴巴集团内被⼴泛使⽤的离线数据同步⼯具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间⾼效的数据同步功能。

FeaturesDataX本⾝作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向⽬标端写⼊数据的Writer插件,理论上DataX框架可以⽀持任意数据源类型的数据同步⼯作。

同时DataX插件体系作为⼀套⽣态系统, 每接⼊⼀套新System RequirementsLinuxJDK(1.8以上,推荐1.8)Python(推荐Python2.6.X)Apache Maven 3.X(Compile DataX)Quick Start⼯具部署⽅法⼀、直接下DataX⼯具包:,下载后解压⾄本地某个⽬录,进⼊bin⽬录,即可运⾏同步作业$ cd {YOUR_DATAX_HOME}/bin$ python datax.py {YOUR_JOB.json}⽅法⼆、下载DataX源码,⾃⼰编译:①.安装JDKtar xvf jdk-8u151-linux-x64.tar.gzmv jdk1.8.0_151vim /etc/profile.d/jdk.shexport JAVA_HOME=/usr/local/jdk1.8.0_151export JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JAVA_BINexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarsource /etc/profile.d/jdk.sh检测安装是否成功[root@oracle ~]# java -versionjava version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)②.查看Python版本,如果不满⾜则需要⾃⾏安装[root@oracle ~]# python -VPython 2.6.6③.安装Maven下载地址:开始安装配置tar xvf apache-maven-3.6.1-bin.tar.gzmv apache-maven-3.6.1-bin.tar ../mavenvim /etc/profileM2_HOME=/usr/local/mavenexport PATH=${M2_HOME}/bin:/u01/mysql/bin:${PATH}验证Maven是否安装成功[root@oracle src]# mvn -vApache Maven 3.6.1 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)Maven home: /usr/local/mavenJava version: 1.8.0_151, vendor: Oracle CorporationJava home: /usr/local/jdk1.8.0_151/jreDefault locale: en_US, platform encoding: UTF-8OS name: "linux", version: "3.10.0-862.el7.x86_64", arch: "amd64", family: "unix"系统需求已配置完成,开始源码安装DataX,下载⽅法⼆选其⼀下载地址:git clone git@:alibaba/DataX.git开始源码安装unzip DataX-master.zipmv DataX-master ../cd ../DataX-mastermvn -U clean package assembly:assembly -Dmaven.test.skip=true该过程⾮常⾮常的漫长,需要等待,打包成功,最终显⽰如下[INFO] BUILD SUCCESS[INFO]-----------------------------------------------------------------[INFO] Total time: 08:12min[INFO] Finished at: 2015-12-13T16:26:48+08:00[INFO] Final Memory: 133M/960M[INFO]-----------------------------------------------------------------打包成功后的DataX包位于{DataX_source_code_home}/target/datax/datax/,结构如下:cd /usr/local/Datax-master[root@oracle DataX-master]# ls -a ./target/datax/datax/. .. bin conf job lib log log_perf plugin script tmp配置⽰例:从stream读取数据并打印到控制台,第⼀步。

oracle中start with在mysql中的用法(一)

oracle中start with在mysql中的用法(一)

oracle中start with在mysql中的用法(一)Oracle中start with在MySQL中的用法介绍在Oracle数据库中,有一个非常有用的start with语句,它可以用于构建以某个节点为起点的递归查询。

然而,在MySQL数据库中,并没有直接对应的语法。

本文将介绍在MySQL中实现类似功能的一些方法。

方法一:使用连接查询使用连接查询是一种常见的在MySQL中实现递归查询的方法。

它通过多次连接同一数据库表来模拟Oracle中start with的功能。

步骤如下: 1. 创建一个临时表,用于保存中间结果。

2. 将起始节点插入临时表。

3. 循环执行以下步骤,直到找到所有递归节点或达到指定的递归深度。

- 将临时表与原表进行连接,并将连接的结果插入临时表。

- 如果没有新的结果被插入临时表,则停止循环。

4. 最后,从临时表中获取所有递归结果。

示例代码如下:-- 创建临时表CREATE TEMPORARY TABLE temp_table (id INT);-- 插入起始节点INSERT INTO temp_table VALUES (起始节点);-- 循环查询SET @level = 0;WHILE EXISTS (SELECT * FROM temp_table) AND @level < 最大递归深度 DO-- 连接查询并插入结果INSERT INTO temp_tableSELECT t.* FROM temp_table AS ttJOIN original_table AS t ON = _id;-- 更新递归深度SET @level = @level + 1;END WHILE;-- 获取递归结果SELECT * FROM temp_table;方法二:使用存储过程另一种在MySQL中模拟Oracle的start with功能的方法是使用存储过程。

存储过程可以通过递归调用自身来实现递归查询。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle异构mysql查询搭建过程一、系统环境介绍Oracle数据库服务器操作系统:RHEL4.8 64位,IP:192.168.12.242Oracle数据库版本:oracle 10gMysql数据库服务器操作系统:RHEL 4.8 32位,IP:192.168.5.186Mysql数据库版本:mysql-5.1.47二、安装所需软件包:MySQL-client-5.1.50-1.glibc23.i386.rpmhttp://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.1/MySQL-client-5.1.50-1.glibc23.i386.rpmMySQL-client-5.1.50-1.glibc23.x86_64.rpmhttp://gd.tuwien.ac.at/db/mysql/Downloads/MySQL-5.1/MySQL-client-5.1.50-1.glibc23.x86_64.rpmmysql-connector-odbc-3.51.27-0.i386.rpmhttp://mysql.borsen.dk/Downloads/Connector-ODBC/3.51/mysql-connector-odb c-3.51.27-0.i386.rpmmysql-connector-odbc-3.51.27-0.x86_64.rpmhttp://mysql.borsen.dk/Downloads/Connector-ODBC/3.51/mysql-connector-odb c-3.51.27-0.x86_64.rpm三、安装过程1、在Oracle数据库服务器上安装mysql客户端(如果已经安装过的话,可以跳过)rpm -ivh MySQL-client-5.1.50-1.glibc23.i386.rpmrpm -ivh MySQL-client-5.1.50-1.glibc23.x86_64.rpm如果安装的过程中遇到file /usr/bin/msql2mysql from install ofMySQL-client-5.1.50-1.glibc23 conflicts with file from packagemysql-4.1.22-2.el4这样的报冲突的情况,需要卸载mysql-4.1.22-2.el4,之后在重新安装。

不过笔者在安装的过程中还遇到了:[root@myora ~]# rpm -e mysql-4.1.22-2.el4error: Failed dependencies:libmysqlclient.so.14 is needed by (installed)cyrus-sasl-sql-2.1.19-14.i386libmysqlclient.so.14(libmysqlclient_14) is needed by (installed) cyrus-sasl-sql-2.1.19-14.i386这样的错误,处理的方法当然是卸载cyrus-sasl-sql-2.1.19-14.i386,之后在卸载mysql-4.1.22-2.el4。

测试是不是可以连接mysql数据库:mysql -h 192.168.5.186 -uora -pora2、安装mysql-connector-odbcrpm -ivh mysql-connector-odbc-3.51.27-0.i386.rpmrpm -ivh mysql-connector-odbc-3.51.27-0.x86_64.rpm其实对于上面的包,只需要安装32位的包就可以了,但是为了稳妥起见,笔者还是将64位的包也安装了上。

到这里所有的软件已经安装完毕,是不是很简单呢?但是笔者在之前的测试过程中走了很多的弯路,比如安装了mysql-connector-odbc-5.1.7-0.x86_64.rpm和mysql-connector-odbc-5.1.7-0.i386.rpm。

造成一些的问题,这中间的区区折折真的是费了很多神。

其实真正回来,安装了自己所需要的东西才发现,其实自己离真正的目的很近,有时候只需要退一步想想。

四、配置Oracle服务器的/etc/odbc.ini文件,测试ODBC工作(1)vi /etc/odbc.ini,填入如下内容:[mysqlora]Description = MySQL test databaseDriver = mysqlSERVER = 192.168.5.186USER = oraPASSWORD = oraPORT = 3306DATABASE = testOption = 3charset = gbk(2)less /etc/odbcinst.ini,为如下内容:[mysql]Description = MySQL driver.Socket =DRIVER = /usr/lib/libmyodbc3.soUsageCount = 1[MySQL ODBC 3.51 Driver]DRIVER = /usr/lib64/libmyodbc3.soUsageCount = 1为了测试isql,我们将文件中的msyql相关部分DRIVER = /usr/lib/libmyodbc3.so改为DRIVER = /usr/lib64/libmyodbc3.so 在编辑好上面的文件之后,我们使用isql进行测试,命令为:isql –v mysqlora如果显示:Connected!sql-statementhelp [tablename]quit则说明isql是可以成功连接的。

在测试完毕之后我们再改回来,不然会出现下面注的内容2中的问题。

这主要是以为64位系统使用的isql是64位的版本,因此在测试的过程中,如要测试isql的话,需要更改为64位的包。

而使用odbc和MySQL连接时则是使用的是32位的libmyodbc3.so,因此需要在测试isql可用后恢复原设置。

五、编辑oracle的配置文件:(1)编辑oracle的hs配置文件$ORACLE_HOME/hs/admin/initmysqlora.ora vi $ORACLE_HOME/hs/admin/initmysqlora.ora,输入:HS_FDS_CONNECT_INFO = mysqloraHS_FDS_TRACE_LEVEL = debug #该参数需要在测试跟进完毕后,置为Off,不然会影响性能。

HS_FDS_TRACE_FILE_NAME = mysqlora.trcHS_FDS_SHAREABLE_NAME = /usr/lib/libodbc.soset ODBCINI = /etc/odbc.iniset LD_LIBRARY_PATH = /usr/lib:/usr/lib64:$LD_LIBRARY_PATH (2)编辑Oracle所在计算机的Oracle listener的配置文件,建立一个模拟Oracle Listener的监听方式,为将来建立dblink做准备vi $ORACLE_HOME/network/admin/listener.ora 加入如下语句(SID_DESC =(SID_NAME = mysqlora)(ORACLE_HOME = /usr/oracle/product/10.2.0)(PROGRAM = hsodbc)(ENVS=LD_LIBRARY_PATH=/usr/oracle/product/10.2.0/lib32:/usr/lib64:/usr/lib:/ usr/oracle/product/10.2.0/lib)(3)使监听器生效。

su – oraclelsnrctl reload(4)编辑Oracle所在计算机中的tnsnames.ora文件,便于建立dblink。

注意,此tnsnames的配置可以支持tnsping,但是不能支持sqlplus登录,只用于dblink vi $ORACLE_HOME /network/admin/tnsnames.ora,加入如下内容:mysqlora =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =( SID= mysqlora))(HS=OK))(5)在Oracle Database建立dblinksqlplus / as sysdbamysql>create public database link mysqloraconnect to "ora" identified by "ora"using 'mysqlora';要注意用户名和密码处需要用双引号,否则Oracle所传输的都是大写字母,可能无法登录进入MySQL。

(6)测试mysql表的查询。

在sqlplus中输入:select * from dual@mysqlora;注:(1)如果搭建过程中,遇到ERROR at line 1:ORA-28545: error diagnosed by Net8 when connecting to an agentUnable to retrieve text of NETWORK/NCR message 65535ORA-02063: preceding 2 lines from MYODBC3这样的类似错误,请检查你的listener.ora,以确认无误,之后在进行尝试。

(2)笔者在搭建过程中,发现ERROR at line 1:ORA-28500: connection from ORACLE to a non-Oracle system returned this message:[Generic Connectivity Using ODBC]DRV_InitTdp: errors.h (2112): ;[unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmyodbc3.so' :/usr/lib64/libmyodbc3.so: cannot open shared object file: No such file ordirectory (SQL State: 01000; SQL Code: 0)ORA-02063: preceding 2 lines from MYSQLORA将/etc/odbcinst.ini中的Driver = /usr/lib64/libmyodbc3.so改为Driver =/usr/lib/libmyodbc3.so或者是重装32位的mysql-connector-odbc-3.51.27-0.i386.rpm进行解决。

相关文档
最新文档