- 浏览: 56839 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
最新评论
-
yvonxiao:
这个的确好用,我记得我以前是自己写了个存储过程来解决这种递归问 ...
Oracle Start With Connect By
有这样的一类需求,快速复制一张表,而这张表的数据量又非常的大。比方说本来是分区表,要把它重新变成非分区表,怎么能够快速的完成这样的操作呢?我下面给出2种大致的方法:
第一,就是利用CTAS方式来创建一张新表,当然要想加快速度,在数据库不是force logging的前提下,可以使用nologging方式来创建表
SQL> create table auction_auctions_bak
2 tablespace tbs_taobao
3 nologging
4 as
5 select * from auction_auctions;
Table created.
SQL> select count(*) from auction_auctions;
COUNT(*)
----------
4179779
SQL> select count(*) from auction_auctions_bak;
COUNT(*)
----------
4179779
在建立完成表以后,要注意将表的属性重新变成logging:
SQL> select logging from tabs where table_name='AUCTION_AUCTIONS_BAK';
LOG
---
NO
SQL> alter table auction_auctions_bak logging;
Table altered.
当然也可以这样:CREATE TABLE … AS SELECT .. WHERE 1=2;然后使用 INSERT /*+ APPEND */ INTO .. SELECT …。
最后将表名更改过来,建立一下新的索引,然后就可以了。
SQL> drop table auction_auctions;
Table dropped.
SQL> rename auction_auctions_bak to auction_auctions;
Table renamed.
第二,在原理上,它其实和第一种方式差不多,就是阻止数据库记录日志来加快速度,大概过程如下:
1、exp出原表(建议compress=n)
2、drop 原表
3、以nologging的方式,新建与原表同名的空表
4、imp原表至空表中,注意要把ignore设置为y
5、更改新表的属性为logging
我这次分别都对两种方式做了测试,结果第二种方式远远快于第一种方式,大概是其10倍的速度。注意以上两种方式都是在数据库没有force logging的前提下完成的。如果数据库被force logging了,那么怎样才能加快复制速度,这个大家可以说说。
第一,就是利用CTAS方式来创建一张新表,当然要想加快速度,在数据库不是force logging的前提下,可以使用nologging方式来创建表
SQL> create table auction_auctions_bak
2 tablespace tbs_taobao
3 nologging
4 as
5 select * from auction_auctions;
Table created.
SQL> select count(*) from auction_auctions;
COUNT(*)
----------
4179779
SQL> select count(*) from auction_auctions_bak;
COUNT(*)
----------
4179779
在建立完成表以后,要注意将表的属性重新变成logging:
SQL> select logging from tabs where table_name='AUCTION_AUCTIONS_BAK';
LOG
---
NO
SQL> alter table auction_auctions_bak logging;
Table altered.
当然也可以这样:CREATE TABLE … AS SELECT .. WHERE 1=2;然后使用 INSERT /*+ APPEND */ INTO .. SELECT …。
最后将表名更改过来,建立一下新的索引,然后就可以了。
SQL> drop table auction_auctions;
Table dropped.
SQL> rename auction_auctions_bak to auction_auctions;
Table renamed.
第二,在原理上,它其实和第一种方式差不多,就是阻止数据库记录日志来加快速度,大概过程如下:
1、exp出原表(建议compress=n)
2、drop 原表
3、以nologging的方式,新建与原表同名的空表
4、imp原表至空表中,注意要把ignore设置为y
5、更改新表的属性为logging
我这次分别都对两种方式做了测试,结果第二种方式远远快于第一种方式,大概是其10倍的速度。注意以上两种方式都是在数据库没有force logging的前提下完成的。如果数据库被force logging了,那么怎样才能加快复制速度,这个大家可以说说。
发表评论
-
oracle 命令
2009-02-05 20:30 1011一、ORACLE的启动和关闭 ... -
通过dbms_flashback找回误删除的数据收藏
2009-01-21 11:35 1346在使用DBMS_FLASHBACK时要首先注意以下几个事项: ... -
优化Oracle数据库性能收藏
2009-01-21 11:35 890优化策略 为了保 ... -
Oracle Start With Connect By
2009-01-21 11:33 1572Start With Connect By 是用来实现在一个 ... -
Oracle 表空间操作收藏
2009-01-21 11:32 1009创建表空间: 1、递增 ... -
移动数据文件收藏
2009-01-21 11:32 736移动数据文件: 1、首先使要移动数据文件的表空间离线. ... -
Oracle 死锁会话处理收藏
2009-01-21 11:31 1172--查询所有的死锁: SELECT * FROM V$LOCK ... -
Oracle 9i 打开autotrace on 查看执行计划收藏
2009-01-21 11:31 13331.创建表,通过utlxplan脚本 SQL> @? ... -
如何启用sqlplus的AutoTrace功能收藏
2009-01-21 11:31 847通过以下方法可以把Autotrace的权限授予Everyone ... -
user和schema的区别:
2009-01-21 11:30 1053说穿了其实user是控制权限的,而schema是个容器,非所有 ... -
解决Oracle数据文件和日志文件丢失的问题收藏
2009-01-21 11:29 2102今天不小心误删除了数据库的数据文件和日志文件,在启动数据库时报 ... -
Oracle表段中的高水位线HWM收藏
2009-01-21 11:28 2633在Oracle数据的存储中, ... -
深入了解oracle的高水位(HWM)收藏
2009-01-21 11:26 2273说到HWM,我们首先要简要的谈谈ORACLE的逻辑存储管理.我 ... -
ORACLE 日志文件相关查询收藏
2009-01-21 11:25 11931.查询系统使用的是哪一组日志文件: select * fro ... -
ORACLE热备份恢复手册收藏
2009-01-21 11:22 2332概要 1.1. 本文的目的 为了模拟测试oracle热备份的 ... -
(转)windows命令行下启动oracle
2009-01-21 09:56 1529--总结启动命令如下: lsnrctl [start|stop ... -
小议分析函数中排序对结果的影响(一)
2009-01-12 13:24 928分析函数中经常会包括O ... -
ORACLE10g新特性——全局HASH分区索引
2009-01-12 13:23 1764在10g以前,Oracle的全局索引分区方法只有一种,即范围分 ... -
深入认识Oracle Supplemental logging
2008-12-22 18:35 3143对于有过逻辑standby,streams搭建体验的朋友,肯定 ... -
深入分析Oracle数据库日志文件
2008-12-22 15:19 1000深入分析Oracle数据库日志文件 作者:程永新 发文时间: ...
相关推荐
在数据库管理中,快速复制一张表的内容是一项常见的任务,尤其在数据迁移、备份或测试环境中。本文将探讨两种常用的方法,以高效地实现这一操作,它们分别是使用`mysqldump`命令和导出CSV文件。 首先,让我们详细...
在现代工业设计与制造领域,快速绘图纸制造方法是一种至关重要的技术,它极大地提升了设计师们的工作效率和设计质量。这份“行业文档-设计装置-快速绘图纸制造方法”压缩包包含了一个名为“快速绘图纸制造方法.pdf”...
如果我们手动复制和粘贴每个表,那么工作量将变得非常大。因此,需要找到一种快速和高效的方法来合并多个Excel文件。 那么,如何合并多个Excel文件呢?方法之一是使用Excel的“移动或复制工作表”功能。首先,打开...
同时,其高可用性体现在故障自动检测、快速故障切换、数据复制等功能,能够在系统出现异常时,确保服务的连续性和数据的一致性。 openGauss的可扩展性是其另一大亮点。通过水平扩展和垂直扩展策略,可以轻松应对...
然后,重新装载并打开数据库,对数据库进行操作,创建一张新表,插入一条记录。最后,使用之前已经拷贝的数据文件(.dbf 文件),实现数据库的恢复。该恢复以在mount状态下恢复为主。 此外,本文还介绍了移动支付...
而论坛上,用户通常需要将gif表情上传到个人空间或者第三方图床,然后复制链接插入帖子,嘻哈猴表情包的大小和格式通常能满足这些平台的要求。 总的来说,嘻哈猴表情包以其嘻哈元素和gif动画形式,为网络交流提供了...
3. **Hive**:Hive是构建在Hadoop上的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL(HQL)似的查询语言进行数据查询、分析。Hive将SQL查询转换为MapReduce任务执行,简化了对Hadoop数据的...
7. **快速复制格式**:选中具有特定格式的对象,如文本框或图片,按"Crtl+C"复制,然后选中新对象,按"Crtl+V"粘贴格式,无需重新设置样式。 8. **自定义动画和过渡效果**:在"动画"和"过渡"选项卡中,可以为每一页...
5. **升级的地址栏**:在Windows 8中,地址栏变得更加实用,用户可以直接将文件拖放到地址栏上的相应文件夹节点,实现快速移动或复制,尤其对于深度目录结构,这极大地简化了操作流程。 6. **混合启动**:Windows 8...
4. **复制幻灯片**:快速复制幻灯片,可以先在“大纲”或“幻灯片”视图中选中目标幻灯片,然后使用“插入”菜单的“幻灯片副本”选项或使用快捷键Ctrl+Shift+D。 5. **快速切换屏幕状态**:在演示过程中,按"B"键...
可以在“大纲”或“幻灯片”视图中选择需要的幻灯片,按住Shift键进行连续选择,或按Ctrl键进行非连续选择,然后在“插入”菜单上点击“幻灯片副本”,或者直接使用快捷键Ctrl+Shift+D,即可快速复制幻灯片。...
今天我们要讨论的是一款名为"FSCapture"的高效截屏小工具,它专为Windows用户设计,以其便捷性和安全性深受用户喜爱。 FSCapture是一款轻量级的屏幕截图软件,无需安装,这意味着你可以直接运行程序,减少了系统...
- **复制/粘贴图像**:你可以将截图直接复制到剪贴板,然后在任何支持图像粘贴的地方(如Word、PPT、聊天软件等)使用。 - **保存与分享**:Snipaste允许快速保存截图至本地,支持多种格式(如JPEG、PNG),同时...
4. **复制幻灯片**:在“大纲”或“幻灯片”视图中,通过按住Shift或Ctrl键选择幻灯片,然后使用“插入”菜单中的“幻灯片副本”或使用快捷键Ctrl+Shift+D,可以快速复制幻灯片。 5. **快速切换屏幕模式**:在讲解...
4. **复制幻灯片**:快速复制幻灯片,可以通过在“大纲”或“幻灯片”视图中选取需要复制的幻灯片,然后使用“插入”菜单的“幻灯片副本”功能,或者使用快捷键“Ctrl + Shift + D”,方便快捷。 5. **Powerpoint...
在制作和展示PPT(PowerPoint)的过程中,掌握一些实用技巧能够极大地提升演示的效率和效果。以下是一些关键点: 1. **复制幻灯片**:在普通视图的“大纲”或“幻灯片”选项中选择需要复制的幻灯片,按住Shift键可...
解决方法是从任务窗格中打开“幻灯片切换”,将换片方式小节中的“单击鼠标时”和“每隔”两个复选项全部去除,然后将这个设置应用于所有幻灯片,以后切换到下一张或上一张,只有通过键盘上的方向键才能进行操作。...
如果是用复制粘贴来完成这一操作,实在有点麻烦,其实最快速的方法就是先选择多张幻灯片,接着按下alt+shift+s即可。 这项技巧可以帮助用户快速地生成内容简介,提高演示文稿的整体性和美观性。 六、快速定位幻灯...
- 在“插入”菜单中点击“幻灯片副本”选项,或直接使用`Ctrl+Shift+D`组合键来实现快速复制。 - 被复制的幻灯片将被插入到当前位置之后。 #### 三、Powerpoint自动黑屏功能 - **应用场景**:当演示者需要观众...