如何将用Oracle8i创建的数据库从一台机器转移到另一台机器上,详细步骤是什么?谢!

ervinlj 2003-09-14 01:23:24
各位网友,大家好:
我想请问这样一个初级问题,希望知道的各位热心网友能帮我解答一下。问题是这样的,我在单位里已经有了用Oracle8i创建的数据库,我想把这个数据库用u盘把它拷贝到家里的机器上,用我家里机器上安装的Oracle8i把它打开,这样可以做到吗?如果可以做到,那么操作的详细步骤是什么?请各位高人指点一二。我十分感谢!!!谢谢!马上给分的!!!
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Watsonqin 2003-09-17
  • 打赏
  • 举报
回复
要在命令提示符窗口下运行
ervinlj 2003-09-16
  • 打赏
  • 举报
回复
再请问一下,这些命令是在Sql*plus中或者是在PL/SQL Developer的sql>提示符下运行的是吗?因为我是个新手,还望能不吝指教!谢谢!!!
fowler11 2003-09-14
  • 打赏
  • 举报
回复
简单的说,就是使用数据库的导入/导出
1、导出:在命令提示符窗口下运行 :exp userid=system/manager(用户和令) file=e:\ddd.dmp full=y
2、导入:同样,运行 imp userid=system/manager file=e:\ddd.dmp full=y ignore=y
Drate 2003-09-14
  • 打赏
  • 举报
回复
oracle Export and Import 简介
出自:http://www.fanqiang.com 2002年05月15日 19:36
1、Export/Import的用处
Oracle Export/Import工具用于在数据库之间传递数据。
Export从数据库中导出数据到dump文件中
Import从dump文件中到入数据导数据库中
下面是一般使用他们的情况
(1)、两个数据库之间传送数据
同一个版本的oracle Server之间
不同版本的oracle Server之间
同种OS之间
不同种OS之间
(2)、用于数据库的备份和恢复
(3)、从一个SCHEMA传送到另一个SCHEMA
(4)、从一个TABLESPACE传送到另一个TABLESPACE

2、DUMP文件
EXPORT到出的是二进制格式的文件,不可以手工编辑,否则会损坏数据。
该文件在ORACLE支持的任何平台上都是一样的格式,可以在各平台上通用。

DUMP文件在IMPORT时采用向上兼容方式,就是说ORALCE7的DUMP文件可以导入
到ORACLE8中,但是版本相差很大的版本之间可能有问题。

3、EXPORT/IMPORT过程
EXPORT导出的DUMP文件包含两种基本类型的数据
- DDL
- Data
DUMP文件包含所有重新创建Data Dictionary的DDL语句,基本上是可以读的格式

但是应该注意的是,千万不要用文本编辑器编辑之,oracle说不支持这样做的。

下面列出的是DUMP文件中包括的ORACLE对象,分为TABLE/USER/FULL方式,有些对

只是在FULL方式下才有(比如public synonyms, users, roles, rollback segm
ents等)

Table mode User Mode Full Database Mode
---------------------- ---------------------- ----------------------
---
Table definitions Table definitions Table definitions
Table data Table data Table data
Owner's table grants Owner's grants Grants
Owner's table indexes Owner's indexes Indexes
Table constraints Table constraints Table constraints
Table triggers Table triggers All triggers
Clusters Clusters
Database links Database links
Job queues Job queues
Refresh groups Refresh groups
Sequences Sequences
Snapshots Snapshots
Snapshot logs Snapshot logs
Stored procedures Stored procedures
Private synonyms All synonyms
Views Views
Profiles
Replication catalog
Resource cost
Roles
Rollback segments
System audit options
System privileges
Tablespace definitions

Tablespace quotas
User definitions


4、IMPORT时的对象倒入顺序
在倒入数据时,ORACLE有一个特定的顺序,可能随数据库版本不同而有所变化,
但是
现在是这样的。

1. Tablespaces 14. Snapshot Logs
2. Profiles 15. Job Queues
3. Users 16. Refresh Groups
4. Roles 17. Cluster Definitions
5. System Privilege Grants 18. Tables (also grants,commen
ts,
6. Role Grants indexes, constraints, audi
ting)
7. Default Roles 19. Referential Integrity

8. Tablespace Quotas 20. POSTTABLES actions

9. Resource Costs 21. Synonyms
10. Rollback Segments 22. Views
11. Database Links 23. Stored Procedures
12. Sequences 24. Triggers, Defaults and Aud
iting
13. Snapshots

按这个顺序主要是解决对象之间依赖关系可能产生的问题。TRIGGER最后导入,所
以在INSERT
数据到数据库时不会激发TRIGGER。在导入后可能会有一些状态是INVALID的PROC
EDURE,主要
是IMPORT时会影响一些数据库对象,而IMPORT并不重新编译PROCEDURE,从而造成
这种情况,
可以重新编译之,就能解决这个问题。

5、兼容性问题
IMPORT工具可以处理EXPORT 5.1.22之后的版本导出的DUMP文件,所以你用ORACL
E7的IMPORT
处理ORACLE6的DUMP文件,依次类推,但是ORACLE如果版本相差很大有可能不能处
理。具体的
问题可以参照相应的文档,比如有关参数设置等(COMPATIBLE参数)

6、EXPORT需要的VIEW
EXPORT需要的VIEW是由CATEXP.SQL创建,这些内部VIEW用于EXPORT组织DUMP文件
中数据格式。
大部分VIEW用于收集创建DDL语句的,其他的主要供ORACLE开发人员用。

这些VIEW在不同ORACLE版本之间有可能不同,每个版本可能都有新的特性加入。
所以在新的
版本里面执行旧的dump文件会有错误,一般可以执行CATEXP.SQL解决这些问题,
解决向后兼容
问题的一般步骤如下:

导出数据库的版本比目标数据库老的情况:
- 在需要导入的目标数据库中执行旧的CATEXP.SQL
- 使用旧的EXPORT导出DUMP文件
- 使用旧的IMPORT导入到数据库中
- 在数据库中执行新的CATEXP.SQL,以恢复该版本的EXPORT VIEW

导出数据库的版本比目标数据库新的情况:
- 在需要导入的目标数据库中执行新的CATEXP.SQL
- 使用新的EXPORT导出DUMP文件
- 使用新的IMPORT导入到数据库中
- 在数据库中执行旧的CATEXP.SQL,以恢复该版本的EXPORT VIEW

7、碎片整理
EXPORT/IMPORT一个很重要的应用方面就是整理碎片。因为如果时初次IMPPORT,

就会重新CREATE TABLE 再导入数据,所以整张表都是连续存放的。另外缺省情况

下EXPORT会在生成DUMP文件是“压缩(COMPRESS)”TABLE,但是这种压缩在很多情

况下被误解。事实上,COMPRESS是改变STORAGE参数INITIAL的值。比如:

CREATE TABLE .... STORAGE( INITIAL 10K NEXT 10K..)
现在数据已经扩展到100个EXTENT,如果采用COMPRESS=Y来EXPORT数据,
则产生的语句时 STORAGE( INITIAL 1000K NEXT 10K)

我们可以看到NEXT值并没有改变,而INITIAL是所有EXTENT的总和。所以会出现

如下情况,表A有4个100M的EXTENT,执行DELETE FROM A,然后再用COMPRESS=Y 导

出数据,产生的CREATE TABLE语句将有400M的INITIAL EXTENT。即使这是TABLE中

已经没有数据!!这是的DUMP文件即使很小,但是在IMPORT时就会产生一个巨大

TABLE.

另外,也可能会超过DATAFILE的大小。比如,有4个50M的数据文件,其中表A有

15个10M的EXTENT,如果采用COMPRESS=Y的方式导出数据,将会有INITIAL=150M,

那么在重新导入时,不能分配一个150M的EXTENT,因为单个EXTENT不能跨多个文
件。


8、在USER和TABLESPACE之间传送数据
一般情况下EXPORT的数据要恢复到它原来的地方去。如果SCOTT用户的表以TABLE

或USER方式EXPORT数据,在IMPORT时,如果SCOTT用户不存在,则会报错!

以FULL方式导出的数据带有CREATE USER的信息,所以会自己创建USER来存放数据


当然可以在IMPORT时使用FROMUSER和TOUSER参数来确定要导入的USER,但是要保

TOUSER一定已经存在啦。

9、EXPORT/IMPORT对SQUENCE的影响
在两种情况下,EXPORT/IMPORT会对SEQUENCE。
(1)如果在EXPORT时,用户正在取SEQUENCE的值,可能造成SEQUENCE的不一致。

(2)另外如果SEQUENCE使用CACHE,在EXPORT时,那些在CACHE中的值就会被忽略
的,
只是从数据字典里面取当前值EXPORT。

如果在进行FULL方式的EXPORT/IMPORT时,恰好在用sequence更新表中某列数据,

而且不是上面两种情况,则导出的是更新前的数据。

如果采用常规路径方式,每一行数据都是用INSERT语句,一致性检查和INSERT T
RIGGER
如果采用DIRECT方式,某些约束和trigger可能不触发,如果在trigger中使用
sequence.nextval,将会对sequence有影响。

armu80830 2003-09-14
  • 打赏
  • 举报
回复
先在单位的机器上执行备份,用:
exp 用户名/密码 file=c:\test.dmp
然后将c:\test.dmp文件拷贝到家里的机器上,执行数据库导入,用:
imp 用户名/密码 file=c:\test.dmp full=y
所有需求全部来自生产实际,源自生产,贴近实战,提高技能。 生产案例生产库A是一台2012年的数据库服务器,存储是戴尔sc8000数据量有20T。数据库版本是11.2.0.3,该数据库是单实例数据库。使用操作系统目录存储,没有使用ASM存储。需要进行数据库服务器和存储迁移。迁移到新服务器和新存储。迁移到新的rac环境,使用本地方式进行升级。 目标:我们需要迁移数据库A到新服务器,新存储。 源库A数据库版本11.2.0.3数据库类型单实例数据存储使用操作系统目录存储,非ASM存储容量20TosRhel6 目标库B数据库版本19.19数据库类型Rac数据存储ASM容量21TOsRhel7 难点。1-数据库服务器需要进行替换2-存储需要进行替换3-容量大,存储没有多余空间,只能才有原地升级方式4-版本跨度大,需要从11203->11204->1919单实例->1919-pdb-rac. 具体步骤1-源服务器数据库命令行创建11203数据库软件2-源服务器数据库命令行创建11203数据库实例3-在目标服务器克隆源库11.2.0.3数据软件。并且在目标服务器搭建源库的dg库。4-开始真正的割接,割接的时候没有业务的。激活11203dg为主库。5-升级11203到112046-升级11204到19.197-配置19.19单实例数据库为rac数据库中的某个pdb。Over. 针对以前学员提出文档不全的意见,其实文档都是有的,都已经上传到百度网盘。这次实战课程整理文档如下:0-创建源库11203单实例1-通过克隆方式在目标服务器rac上面创建11203数据库软件2-在目标库rac数据库上面创建11203的单实例的dg3-目标库rac安装11204单实例软件和升级11203到112044-11204升级到19c数据库

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧