怎样把oracle中数据库表结构和数据导入到mysql中啊

作者&投稿:余进 (若有异议请与网页底部的电邮联系)
oracle数据库中的表如何能够导入到mysql中?~

OGG全称为Oracle GoldenGate,是由Oracle官方提供的用于解决异构数据环境中数据复制的一个商业工具。相比于其它迁移工具OGG的优势在于可以直接解析源端Oracle的redo log,因此能够实现在不需要对原表结构做太多调整的前提下完成数据增量部分的迁移。本篇文章将重点介绍如何使用OGG实现Oracle到MySQL数据的平滑迁移,以及讲述个人在迁移过程中所碰到问题的解决方案。

(一)OGG逻辑架构
参照上图简单给大家介绍下OGG逻辑架构,让大家对OGG数据同步过程有个简单了解,后面章节会详细演示相关进程的配置方式,在OGG使用过程中主要涉及以下进程及文件:
Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等
Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量、增量数据的抽取
Trails文件:临时存放在磁盘上的数据文件
Data Pump进程:运行在数据库源端,属于Extract进程的一个辅助进程,如果不配置Data Pump,Extract进程会将抽取的数据直接发送到目标端的Trail文件,如果配置了Data Pump,Extract进程会将数据抽取到本地Trail文件,然后通过Data Pump进程发送到目标端,配置Data Pump进程的主要好处是即使源端到目标端发生网络中断,Extract进程依然不会终止
Collector进程:接收源端传输过来的数据变化,并写入本地Trail文件中
Replicat进程:读取Trail文件中记录的数据变化,创建对应的DML语句并在目标端回放
二、迁移方案
(一)环境信息
OGG版本 OGG 12.2.0.2.2 For Oracle OGG 12.2.0.2.2 For MySQL
数据库版本 Oracle 11.2.0.4 MySQL 5.7.21
OGG_HOME /home/oracle/ogg /opt/ogg
(二)表结构迁移
表结构迁移属于难度不高但内容比较繁琐的一步,我们在迁移表结构时使用了一个叫sqlines的开源工具,对于sqlines工具在MySQL端创建失败及不符合预期的表结构再进行特殊处理,以此来提高表结构转换的效率。
注意:OGG在Oracle迁移MySQL的场景下不支持DDL语句同步,因此表结构迁移完成后到数据库切换前尽量不要再修改表结构。
(三)数据迁移
数据同步的操作均采用OGG工具进行,考虑数据全量和增量的衔接,OGG需要先将增量同步的抽取进程启动,抓取数据库的redo log,待全量抽取结束后开启增量数据回放,应用全量和增量这段期间产生的日志数据,OGG可基于参数配置进行重复数据处理,所以使用OGG时优先将增量进行配置并启用。此外,为了避免本章节篇幅过长,OGG参数将不再解释,有需要的朋友可以查看官方提供的Reference文档查询任何你不理解的参数。
1.源端OGG配置
(1)Oracle数据库配置
针对Oracle数据库,OGG需要数据库开启归档模式及增加辅助补充日志、强制记录日志等来保障OGG可抓取到完整的日志信息
查看当前环境是否满足要求,输出结果如下图所示:
(2)Oracle数据库OGG用户创建
OGG需要有一个用户有权限对数据库的相关对象做操作,以下为涉及的权限,该示例将创建一个用户名和密码均为ogg的Oracle数据库用户并授予以下权限
(3)源端OGG 管理进程(MGR)配置
(4)源端OGG 表级补全日志(trandata)配置
表级补全日志需要在最小补全日志打开的情况下才起作用,之前只在数据库级开启了最小补全日志(alter database add supplemental log data;),redolog记录的信息还不够全面,必须再使用add trandata开启表级的补全日志以获得必要的信息。
(5)源端OGG 抽取进程(extract)配置
Extract进程运行在数据库源端,负责从源端数据表或日志中捕获数据。Extract进程利用其内在的checkpoint机制,周期性地检查并记录其读写的位置,通常是写入到本地的trail文件。这种机制是为了保证如果Extract进程终止或者操作系统宕机,我们重启Extract进程后,GoldenGate能够恢复到以前的状态,从上一个断点处继续往下运行,而不会有任何数据损失。
(6)源端OGG 传输进程(pump)配置
pump进程运行在数据库源端,其作用非常简单。如果源端的Extract抽取进程使用了本地trail文件,那么pump进程就会把trail文件以数据块的形式通过TCP/IP协议发送到目标端,Pump进程本质上是Extract进程的一种特殊形式,如果不使用trail文件,那么Extract进程在抽取完数据后,直接投递到目标端。
补充:pump进程启动时需要与目标端的mgr进程进行连接,所以需要优先将目标端的mgr提前配置好,否则会报错连接被拒绝,无法传输抽取的日志文件到目标端对应目录下
(7)源端OGG 异构mapping文件(defgen)生成
该文件记录了源库需要复制的表的表结构定义信息,在源库生成该文件后需要拷贝到目标库的dirdef目录,当目标库的replica进程将传输过来的数据apply到目标库时需要读写该文件,同构的数据库不需要进行该操作。
2.目标端OGG配置
(1)目标端MySQL数据库配置
确认MySQL端表结构已经存在
MySQL数据库OGG用户创建
mysql> create user 'ogg'@'%' identified by 'ogg';
mysql> grant all on *.* to 'ogg'@'%';
#### 提前创建好ogg存放checkpoint表的数据库
mysql> create database ogg;
(2)目标端OGG 管理进程(MGR)配置
目标端的MGR进程和源端配置一样,可直接将源端配置方式在目标端重复执行一次即可,该部分不在赘述
(3)目标端OGG 检查点日志表(checkpoint)配置
checkpoint表用来保障一个事务执行完成后,在MySQL数据库从有一张表记录当前的日志回放点,与MySQL复制记录binlog的GTID或position点类似。
#### 切换至ogg软件目录并执行ggsci进入命令行终端
shell> cd $OGG_HOME
shell> ggsci
ggsci> edit param ./GLOBALS
checkpointtable ogg.ggs_checkpoint
ggsci> dblogin sourcedb ogg@17X.1X.84.121:3306 userid ogg
ggsci> add checkpointtable ogg.ggs_checkpoint
(4)目标端OGG 回放线程(replicat)配置
Replicat进程运行在目标端,是数据投递的最后一站,负责读取目标端Trail文件中的内容,并将解析其解析为DML语句,然后应用到目标数据库中。
#### 切换至ogg软件目录并执行ggsci进入命令行终端
shell> cd $OGG_HOME
shell> ggsci
#### 添加一个回放线程并与源端pump进程传输过来的trail文件关联,并使用checkpoint表确保数据不丢失
ggsci> add replicat r_cms,exttrail /opt/ogg/dirdat/ms,checkpointtable ogg.ggs_checkpoint
#### 增加/编辑回放进程配置文件
ggsci> edit params r_cms
replicat r_cms
targetdb cms@17X.1X.84.121:3306,userid ogg,password ogg
sourcedefs /opt/ogg/dirdef/cms.def
discardfile /opt/ogg/dirrpt/r_cms.dsc,append,megabytes 1024
HANDLECOLLISIONS
MAP cms.*,target cms.*;
注意:replicat进程只需配置完成,无需启动,待全量抽取完成后再启动。
至此源端环境配置完成
待全量数据抽取完毕后启动目标端回放进程即可完成数据准实时同步。
3.全量同步配置
全量数据同步为一次性操作,当OGG软件部署完成及增量抽取进程配置并启动后,可配置1个特殊的extract进程从表中抽取数据,将抽取的数据保存到目标端生成文件,目标端同时启动一个单次运行的replicat回放进程将数据解析并回放至目标数据库中。
(1)源端OGG 全量抽取进程(extract)配置
#### 切换至ogg软件目录并执行ggsci进入命令行终端
shell> cd $OGG_HOME
shell> ggsci
#### 增加/编辑全量抽取进程配置文件
#### 其中RMTFILE指定抽取的数据直接传送到远端对应目录下
#### 注意:RMTFILE参数指定的文件只支持2位字符,如果超过replicat则无法识别
ggsci> edit params ei_cms
SOURCEISTABLE
SETENV (NLS_LANG = "AMERICAN_AMERICA.AL32UTF8")
SETENV (ORACLE_SID=cms)
SETENV (ORACLE_HOME=/data/oracle/11.2/db_1)
USERID ogg@appdb,PASSWORD ogg
RMTHOST 17X.1X.84.121,MGRPORT 7809
RMTFILE /opt/ogg/dirdat/ms,maxfiles 100,megabytes 1024,purge
TABLE cms.*;
#### 启动并查看抽取进程正常
shell> nohup ./extract paramfile ./dirprm/ei_cms.prm reportfile ./dirrpt/ei_cms.rpt &
## 查看日志是否正常进行全量抽取
shell> tail -f ./dirrpt/ei_cms.rpt
(2)目标端OGG 全量回放进程(replicat)配置
#### 切换至ogg软件目录并执行ggsci进入命令行终端
shell> cd $OGG_HOME
shell> ggsci
ggsci> edit params ri_cms
SPECIALRUN
END RUNTIME
TARGETDB cms@17X.1X.84.121:3306,USERID ogg,PASSWORD ogg
EXTFILE /opt/ogg/dirdat/ms
DISCARDFILE ./dirrpt/ri_cms.dsc,purge
MAP cms.*,TARGET cms.*;
#### 启动并查看回放进程正常
shell> nohup ./replicat paramfile ./dirprm/ri_cms.prm reportfile ./dirrpt/ri_cms.rpt &
#### 查看日志是否正常进行全量回放
shell> tail -f ./dirrpt/ri_cms.rpt
三、数据校验
数据校验是数据迁移过程中必不可少的环节,本章节提供给几个数据校验的思路共大家参数,校验方式可以由以下几个角度去实现:
1.通过OGG日志查看全量、增量过程中discards记录是否为0来判断是否丢失数据;
2.通过对源端、目标端的表执行count判断数据量是否一致;
3.编写类似于pt-table-checksum校验原理的程序,实现行级别一致性校验,这种方式优缺点特别明显,优点是能够完全准确对数据内容进行校验,缺点是需要遍历每一行数据,校验成本较高;
4.相对折中的数据校验方式是通过业务角度,提前编写好数十个返回结果较快的SQL,从业务角度抽样校验。
四、迁移问题处理
本章节将讲述迁移过程中碰到的一些问题及相应的解决方式。
(一)MySQL限制
在Oracle到MySQL的表结构迁移过程中主要碰到以下两个限制:
1. Oracle端的表结构因为最初设计不严谨,存在大量的列使用varchar(4000)数据类型,导致迁移到MySQL后超出行限制,表结构无法创建。由于MySQL本身数据结构的限制,一个16K的数据页最少要存储两行数据,因此单行数据不能超过65,535 bytes,因此针对这种情况有两种解决方式:
根据实际存储数据的长度,对超长的varchar列进行收缩;
对于无法收缩的列转换数据类型为text,但这在使用过程中可能导致一些性能问题;
2. 与第一点类似,在Innodb存储引擎中,索引前缀长度限制是767 bytes,若使用DYNAMIC、COMPRESSED行格式且开启innodblargeprefix的场景下,这个限制是3072 bytes,即使用utf8mb4字符集时,最多只能对varchar(768)的列创建索引;
3. 使用ogg全量初始化同步时,若存在外键约束,批量导入时由于各表的插入顺序不唯一,可能子表先插入数据而主表还未插入,导致报错子表依赖的记录不存在,因此建议数据迁移阶段禁用主外键约束,待迁移结束后再打开。
mysql>set global foreign_key_checks=off;
(二)全量与增量衔接
HANDLECOLLISIONS参数是实现OGG全量数据与增量数据衔接的关键,其实现原理是在全量抽取前先开启增量抽取进程,抓去全量应用期间产生的redo log,当全量应用完成后,开启增量回放进程,应用全量期间的增量数据。使用该参数后增量回放DML语句时主要有以下场景及处理逻辑:
目标端不存在delete语句的记录,忽略该问题并不记录到discardfile
目标端丢失update记录
- 更新的是主键值,update转换成insert
- 更新的键值是非主键,忽略该问题并不记录到discardfile
目标端重复insert已存在的主键值,这将被replicat进程转换为UPDATE现有主键值的行
(三)OGG版本选择
在OGG版本选择上我们也根据用户的场景多次更换了OGG版本,最初因为客户的Oracle 数据库版本为11.2.0.4,因此我们在选择OGG版本时优先选择使用了11版本,但是使用过程中发现,每次数据抽取生成的trail文件达到2G左右时,OGG报错连接中断,查看RMTFILE参数详细说明了解到trail文件默认限制为2G,后来我们替换OGG版本为12.3,使用MAXFILES参数控制生成多个指定大小的trail文件,回放时Replicat进程也能自动轮转读取Trail文件,最终解决该问题。但是如果不幸Oracle环境使用了Linux 5版本的系统,那么你的OGG需要再降一个小版本,最高只能使用OGG 12.2。
(四)无主键表处理
在迁移过程中还碰到一个比较难搞的问题就是当前Oracle端存在大量表没有主键。在MySQL中的表没有主键这几乎是不被允许的,因为很容易导致性能问题和主从延迟。同时在OGG迁移过程中表没有主键也会产生一些隐患,比如对于没有主键的表,OGG默认是将这个一行数据中所有的列拼凑起来作为唯一键,但实际还是可能存在重复数据导致数据同步异常,Oracle官方对此也提供了一个解决方案,通过对无主键表添加GUID列来作为行唯一标示,具体操作方式可以搜索MOS文档ID 1271578.1进行查看。
(五)OGG安全规则
报错信息
2019-03-08 06:15:22 ERROR OGG-01201 Error reported by MGR : Access denied.
错误信息含义源端报错表示为该抽取进程需要和目标端的mgr进程通讯,但是被拒绝,具体操作为:源端的extract进程需要与目标端mgr进行沟通,远程将目标的replicat进行启动,由于安全性现在而被拒绝连接。
报错原因
在Oracle OGG 11版本后,增加了新特性安全性要求,如果需要远程启动目标端的replicat进程,需要在mgr节点增加访问控制参数允许远程调用
解决办法
在源端和目标端的mgr节点上分别增加访问控制规则并重启
## 表示该mgr节点允许(ALLOW)10.186网段(IPADDR)的所有类型程序(PROG *)进行连接访问ACCESSRULE, PROG *, IPADDR 10.186.*.*, ALLOW
(六)数据抽取方式
报错信息
2019-03-15 14:49:04 ERROR OGG-01192 Trying to use RMTTASK on data types which may be written as LOB chunks (Table: 'UNIONPAYCMS.CMS_OT_CONTENT_RTF').
报错原因
根据官方文档说明,当前直接通过Oracle数据库抽取数据写到MySQL这种initial-load方式,不支持LOBs数据类型,而表 UNIONPAYCMS.CMSOTCONTENT_RTF 则包含了CLOB字段,无法进行传输,并且该方式不支持超过4k的字段数据类型
解决方法
将抽取进程中的RMTTASK改为RMTFILE参数 官方建议将数据先抽取成文件,再基于文件数据解析进行初始化导入

主要通过几下命令:
exp/imp
expdp/impdp
dblink
spool/sqlldr
pl/sql导出insert语句
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

(转载地址为:http://blog.csdn.net/xueyepiaoling/article/details/5091577,功劳给做着本人吧)
#################### 通过软件转换数据库信息 ####################

1. Oracle to MySQL
非常好的软件,软件本身非长小,但功能比较强大,使用简单,配置也很简单。
可以直接从 Oracle 导入 MySQL, 也可以导出.sql文件.
2. MySQLMigrationTool version 1.1.12
MySQLMigrationTool是MySQL GUI Tools 5.0 其中的一个组件,包括 MySQLAdministrator , MySQLMigrationTool ,
MySQLQueryBrowser , MySQLSystemTrayMonitor.

MySQLMigrationTool是专门为了各种数据库之间数据转换而设计的,它所提供的功能非常强大.
MySQLMigrationTool采用的是JDBC的连接方式,速度非常快,非常适合大数据量之间的转换,可以生成.sql文件.

################## 通过文件转换数据库信息 ######################

1. 通过.sql文件导入数据。
如果不是没有办法不推荐用这种方法,除非经过上面那两种软件转换过的.sql文件。数据量小还好说,如果非常大的话,
各种问题太多。各种数据库之间的语法有些是不一样的,数据类型之间的转换等等...修改起来太麻烦。
2. 通过.cvs/.xls文件导入数据
数据库的图形界面一般都提供这个方法,到处表信息到.cvs/.xls文件,然后再通过图形界面导入到目标数据库中.
如果不是一种数据库的话,我认为还是这中方法比较好.但是有一点,就是在Oracle 导出的 number类型数据中到 .cvs
/.xls文件的时候会变成科学记数.

############### 建立odbc管道流进行转换数据库信息 ####################
把两个数据库的odbc都连接上,然后通过管道流转换之间的数据.(本人没试过)

################ 写程序转换数据信息 #########################
建立两个数据源读取需要导出的库中的全部数据,然后逐条依次写入目标库中.
可以其中一个数据源换成jdbc, 也可以量个都是jdbc.(优点是,可以不用考虑太多,但速度较慢)

你可以在oracle中导出表结构成SQL文件,然后根据上面朋友说的NaviCAT premium链接到mysql 直接打开sql文件执行就可以导入了。希望其他朋友有更好的办法,也希望能帮到你

NaviCAT premium


如何对Oracle中的优化器进行评估优化
·要么源表达式只是结果表达式的一个等价语义结构。不同的SQL结构有时具有同样的操作(例如:= ANY (subquery) and IN (subquery)),Oracle会把他们映射到一个单一的语义结构。下面将讨论优化器如何评估优化如下的情况和表达式:常量 LIKE 操作符 IN 操作符 ANY和SOME 操作符 ALL 操作符 BETWEEN...

如何从oracle数据库中把数据同步到access数据库中?要具体操作步骤,最好...
首先为欲导出的数据库建立ODBC数据源,然后启动ACCESS,建立一个空库;然后在命令菜单选文件,获取外部数据,导入,文件类型选择ODBC database,定位ODBC数据源,选择所需数据表,在导入的表上点击右键,选择所需的格式。OK!

oracle数据库中怎么把表移到新建用户下
使用DMP是比较全面的做法。这个还是要看你具体需求。如果只是单纯的需要数据和表的简单结构。在新用户里面执行:CREATE TABLE TABLE_NAME AS select * FROM OLD.TABLE_NAME就可以了。这样的话,数据和表的简单结构就到新用户里面。但是,索引什么之类的没有全部过去。需要自己另外手动创建。既然刚开始学习...

Oracle中如何用SQL把字符串转换成整型
在oracle中,将某种数据类型的表达式显式转换为另一种数据类型,可以显示的使用CAST 和 CONVERT 提供的功能。(1)使用 CAST:CAST ( expression AS data_type )(2)使用 CONVERT:CONVERT (data_type[(length)], expression [, style])

oracle中有张表,想把表中的数字1替换成T,0替换成F,请问如何操作,表结 ...
这个我不太想给你写全了,就给你举个简单的例子吧,可以用case when 语句实现;SELECT case WHEN t.a ='1' then 'T' else 'F' end as a FROM tablename T;这个是最简单的方法,我一般都是用procedure实现这个功能,可以用游标或者是直接查询替换。你要是初学者,就直接用上面的sql就能实现!

用oracle把表中某字段内以“|”分割的数据添加到另一表中不同的字段中...
这个不难,写个过程就可以了。用到substr()方法。。自己研究一下吧!---补充--- 把详细的需求说出来,具体要插进那个表?那些字段 等下有空帮你写!--+++++ORACLE下 测试通过+++++-- --1. 初始化表 create table tableA(User_fee_Prope varchar2(2000));insert into tableA values ('...

怎么把sql文件导入oracle中?
你如果用SQLloader导外部数据:1、你的SQL文件应该是指数据文件,可以是用分隔符或者定长区别字段的数据;2、你必须先在ORACLE中创建你要导入的目标表chinaMap;3、你在控制文件中必须定义好chinaMap和导入数据文件字段对于的chinaMap字段,数据文件字段顺序必须和你在控制文件中定义chinaMap字段顺序一致。4...

怎样把Oracle的数据导入到SQLServer2005中
例子:把Oracle的CH330300数据库的数据导入到SQLServer2005的Temp数据库 第一步:打开SQLServer2005数据库-->Temp数据库-->右键-->任务-->导入数据 第二步:如下图点击下一步 第三步:选择Oracle Privider for OLE DB 第四步:如下图 第五步:如下图 第六步:如下图 第七步:如下图 第八...

把oracle、sqlserver和Access数据库中的部分数据导入到另一个数据库中...
SQLServer 2000 的实例。 SQL Server 2000 的实例备份到另一个 SQL Server 最后选择要复制的数据库。 3.在“制定表复制和查询”中,选择“在SQL

oracle中如何将多个查询结果在一张表中显示
可以将你的三个表的查询结果使用union all联合起来,然后使用Oracle的decode函数来查询 select 姓名,sum(decode(tbname,'表1',人数,null)) 表1人数,sum(decode(tbname,'表2',人数,null)) 表2人数,sum(decode(tbname,'表3',人数,null)) 表3人数 from (select 姓名,count(姓名) 人数,'表1...

芜湖市15656766551: oracle数据库如何导出数据库的表结构 -
宇文怕醋酸: 用工具和脚本都可以实现你的要求.工具PL/SQL就可以,tool>export user objects 然后选中你要导出的表.脚本的话,在dos窗口,用exp 用户名/密码@数据库名file=目录 owner=(用户) rows=n就行了.忘采纳!

芜湖市15656766551: oracle 怎么导出全部表结构 -
宇文怕醋酸: 1.完整的导出整个数据库表结构即dmp文件方法: Tools-->Export Tables ,选择Oracle Export 默认选项即可,在Output file选择一个输出目标 点击Export,即可导出表结构2.导出表中数据: Tools-->Export Tables :选择SQL Inserts 遇到大字段(...

芜湖市15656766551: oracle 怎么导出数据库里 所有的表结构和存储过程 -
宇文怕醋酸: 假设原来的表是test1 要写到的表是test2test1的字段为 a b ctest2的字段为 d e f 其中a和d对应 b和e对应 c和f对应先把要写到的表清掉,执行如下语句:truncate table test2;然后把test1表的数据导入到test2表中,执行如下语句:insert into test2select * from test1;

芜湖市15656766551: oracle 怎么导出数据表结构 -
宇文怕醋酸: 1.在cmd中输入 exp username/password@连接串 回车,在进入如下时,输入no,就ok了 导出表数据(yes/no):yes> no2.进入plsql 找到table那个大项,点出来,下边会罗列出许多表 右键点中你所需要的那个表名 找到DBMS_Metadata 然后选...

芜湖市15656766551: 请问oracle数据库如何导出数据库的表结构? -
宇文怕醋酸: oracle数据库导出数据库的表结构,使用sql查询将查到的数据复制到Excel表中保存中即可.查询代码:SELECT t.table_name,t.colUMN_NAME,t.DATA_TYPE || '(' || t.DATA_LENGTH || ')',t1.COMMENTS FROM User_Tab_Cols t, User_Col_...

芜湖市15656766551: 如何在Oracle中复制表结构和表数据 -
宇文怕醋酸: 1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create table table_name_new as select * from table_name_old where 1=2; 或者: create table table_name_new like table_name_old 3. ...

芜湖市15656766551: 怎样把oracle数据表结构和存储过程导出为word文档 -
宇文怕醋酸: DBExportDoc V1.0 For Oracle(Oracle数据库表结构导出器)是一套用来完成将Oracle数据库中的表结构导出成Word文档,并输出标准的打印报表格式的软件.软件采用Word中VBA开发完成,软件使用Word中的菜单操作,与Word完全集成.因为软件完全利用OFFICE宏来控制报表输出,所以用户在使用软件时请开启Word中的宏功能.软件导出的文档格式如下图所示,有目录索引列表,及每个表的描述及字段说明.

芜湖市15656766551: oracle怎么导出表结构和表数据? -
宇文怕醋酸: exp username/passwd@dbname tables= tablename file=filename.dmp rows=n 注意一个问题: compress 默认为y 为了避免导入时发生错误最好设置 compress=n exp username/passwd@dbname tables= tablename file=filename.dmp rows=n compress=n

芜湖市15656766551: ORACLE中创建如何创建表,并设置结构和默认值 -
宇文怕醋酸: 使用select语句查看EMP表,根据COMM排序默认情况下,空值会自动排列在尾部.利用nulls last排序时将空值置底利用nulls first排序时将空值置顶例 创建一张出版社表 使用语句 create table 表名(列名1 类型,列名2 类型,…….)需...

芜湖市15656766551: 在程序中修改Oracle数据库的表结构 -
宇文怕醋酸: 修改表名: alter table 表名 rename to 新名 添加字段: alter table 表名 add 字段名 字段类型 删除字段: alter table 表名 drop column 字段名 修改字段: alter table 表名 rename column 原字段名 to 新名; 修改字段类型(前提:表中无数据) alter table 表名 modify 字段名 新类型; 例如:String deleteColumn="alter table t_user drop column sname"; 希望能帮助你!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网