当前位置:首页 > oracle > oracle 表空间

1

如何移动Oracle数据库的表空间

作者:asp.net   |   阅读全文   |   时间:2007-04-12
如何移动Oracle数据库的表空间:

  
  在使用oracle数据库的过程中,经常会遇到将数据库中的数据从一个数据库移动到另一个数据库的情况,如果移动的数据量不是太大,我们可以使用export/import将数据进行导出/导入。但如果需要搬移的数据量非常庞大,则用这种方法进行数据移动非常缓慢。在oracle8i版本中,提供了可以对表空间进行移动的方法,通过搬移表空间可大大降低数据迁移的速度,提高工作效率。
  对表空间进行移动时应注意以下几点:(1)源数据库和目标数据库必须在相同硬件平台上。例如我们可以在sun solaris平台的oracle数据库之间搬移表空间,也可以在windows 2000平台的oracle数据库之间搬移表空间,但是不能在sun solaris/windows 2000之间搬移表空间。(2)源数据库和目标数据库的字符集和民族字符集必须相同。(3)不能将表空间搬移到具有同名表空间的目标数据库中。(4)在oracle8i之间搬移表空间时,源数据库和目标数据库的数据块尺寸一定要相同。
  
  下面我们以oracle8i(8.1.5) for windows 2000为例说明移动表空间的具体方法。
    ......

2

Oracle10g可传输表空间现在可以跨平台移植

作者:asp.net   |   阅读全文   |   时间:2007-04-12
Oracle10g可传输表空间现在可以跨平台移植:

  可传输表空间现在可以跨平台移植,从而使得数据发布更快更容易。此外,外部表下载使得通过转换进行数据转移的任务更简单更快。
  
  您如何将数据从一个数据库转移到另一个数据库?在现有的几种方法中,有一种方法尤为出色:可传输表空间。在这种方法中,您使用一组自包含、只读的表空间,只导出元数据,在操作系统层将这些表空间的数据文件拷贝至目标平台,并将元数据导入数据字典 — 这个过程称为插入。
  
  操作系统文件拷贝一般比其它传统的数据转移方法(如导出/导入或 sql*loader)要快得多。然而,在 oracle9i 数据库和更低版本中,可传输表空间仅限于在目标数据库和源数据库都运行在同一操作系统平台上的少数情况下才有用 — 例如,您不能在 solaris 和 hp-ux 平台之间传输表空间。
  
  在 oracle 数据库 10g 中,这个局限消失了:只要操作系统字节顺序相同,您就可以在平台之间传输表空间。本文将不就字节顺序展开长篇的讨论,但这里只要提几句话就足够了:一些操作系统(包括 windows)在低位内存地址中用最低有效字节存储多字节二进制数据;因此这种系统被称为低地址低字节序。相反,其它的操作系统(包括 solaris)将最高有效字节存储在低位内存地址中,因此这种系统被称为低地址高字节序。当一个低地址高字节序的系统试图从一个低地址低字节序的系统中读取数据时,需要一个转换过程 — 否则,字节顺序将导致不能正确解释读取的数据。(有关字节顺序的详细说明,请阅读嵌入式系统编程的 2002 年 1 月刊中的一篇极好的文章“字节顺序介绍”。)不过,当在相同字节顺序的平台之间传输表空间时,不需要任何转换。
    ......

3

Oracle10g新特性-SYSAUX表空间

作者:asp.net   |   阅读全文   |   时间:2007-04-12
Oracle10g新特性-SYSAUX表空间:

  sysaux表空间在oracle database 10g中引入,作为system表空间的辅助表空间.
  
  以前一些使用独立表空间或系统表空间的数据库组件现在在sysaux表空间中创建.
  通过分离这些组件和功能,system表空间的负荷得以减轻.反复创建一些相关对象及组件引起system表空间的碎片问题得以避免。
  
  如果sysaux表空间不可用,数据库核心功能将保持有效;使用sysaux表空间的特点将会失败或功能受限.
  
  我们看一下数据库创建脚本:
  
  create database "eygle"
  maxinstances 8
  maxloghistory 1
  maxlogfiles 16
  maxlogmembers 3
  maxdatafiles 100
  datafile /opt/oracle/oradata/eygle/system01.dbf
  size 300m reuse autoextend on next 10240k maxsize unlimited
    ......

4

Oracle回滚表空间丢失或损坏处理方法(2)

作者:asp.net   |   阅读全文   |   时间:2007-04-12
Oracle回滚表空间丢失或损坏处理方法(2):

  ii. 数据库是启动着的
  如果你检测到丢失或损坏了回滚段表空间的数据文件,并且数据库是运行着的,不要把它 down 掉。在很多情况下,数据库是启着的比关闭着解决问题更容易些。
  
  这种情况的两种可能的解决方法 :
  
  a) 使丢失的那个数据文件 offline, 并从备份中恢复它,这种情况适用于数据库是处于归档方式的。
  
  b) 另一个方法是 offline 掉所有的那个文件所属表空间的回滚段, drop 那个表空间 , 然后得建它们。你可能不得不杀掉那些使用着回滚段的进程,以便使它 offline.
  
  方法 ii.a: 从备份恢复那个数据文件
  
  这个方法只有你的库是在归档方式下才能使用。
  
  1 、脱机 (offline) 那个丢失的数据文件。
  alter database datafile <full_path_file_name> offline;
  
  提示:其于目前数据库的事务量,你可能需要建一个临时的回滚表空间和一些临时的回滚段以备正常业务运行。
    ......

5

Oracle回滚表空间丢失或损坏处理方法(1)

作者:asp.net   |   阅读全文   |   时间:2007-04-12
Oracle回滚表空间丢失或损坏处理方法(1):

  问题描述:
  这是一个回滚段表空间数据文件丢失或损坏的情景,这时 oracle 不能识别相应的数据文件。当你试图 startup 数据文件时会报 ora-1157 , ora-1110 ,并且可能会伴随着标识操作系统级别的错误,比如 ora-7360 。当你试图以 shutdown normal 或 shutdown immediate 模式关闭数据库时会导至 ora-1116,ora-1110, 并可能伴随标识操作系统级别的错误,比如 ora-7368 ,有时以正常方式 shutdown 数据库根本 shutdown 不下来。
  
  警告:
  文章中所提及的步骤是供 oracle的全球技术支持使用的。特别是步骤6中的_corrupted_rollback_segments参数,使用后需要重建数据库,在使用这个参前请观察一下所有其它的选项。
  
  解决方法解释:
  如下的解决方法取于检测问题出现时数据库所处于状态 :
  
  i. 数据库是处于关闭状态的。
    ......
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved