怎么把别人数据库实例里面的东西全导入到自己的oralce里面呀

ruixp 2006-12-03 06:06:50
我自己装了oralce8
别人把他的oralce8下面的数据给我了,就是实例下面的dbf文件,控制文件,和redo.log文件
我怎么把它们加入到我的数据库呢?
...全文
394 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
baojianjun 2006-12-05
  • 打赏
  • 举报
回复
QQ:42294729
baojianjun 2006-12-05
  • 打赏
  • 举报
回复
自然是要使用原先的别人的那个init.ora
baojianjun 2006-12-05
  • 打赏
  • 举报
回复
我MSN:baojianjun_ren@hotmail.com 加我仔细说
ruixp 2006-12-05
  • 打赏
  • 举报
回复
我把三个控制文件删了
ruixp 2006-12-05
  • 打赏
  • 举报
回复
SQL> shutdown immediate
ORA-01109: ??????


ORA-01507: ??????


ORACLE 例程已经关闭。
SQL> @ s.sql
ORACLE 例程已经启动。

Total System Global Area 83634204 bytes
Fixed Size 75804 bytes
Variable Size 32694272 bytes
Database Buffers 50331648 bytes
Redo Buffers 532480 bytes
SP2-0734: 未知的命令开头 "CHARACTER ..." - 忽略了剩余的行。
ruixp 2006-12-05
  • 打赏
  • 举报
回复
我找到别人的那个init.ora了,我修改了一下,这个文件有用吗?能否把你的那个initPROD.ora改成他的,system这个是我搞错了,多写了一个
tgm78 2006-12-05
  • 打赏
  • 举报
回复
冷备份应该是最快最好的方法了

当然,热备份也是可以的,如果空间足够的话
baojianjun 2006-12-05
  • 打赏
  • 举报
回复
把原先的控制文件删除,只留下数据文件和日志文件
还有你有2个'D:\oracle\oradata\Ora8\SYSTEM01.DBF',这样的文件??是怎么回事??

ruixp 2006-12-05
  • 打赏
  • 举报
回复
我的数据库实例的目录如下
D:\oracle\oradata\Ora8
但是我的init文件目录在admin目录下
D:\oracle\admin\Ora8\pfile
我把所有的文件都考过来了,覆盖了原来目录下的东西,这样能行吗?
我重起机器后,以sysdba进入

SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。


然后运行sql

ORACLE 例程已经关闭。
SQL> @ s.sql
LRM-00109: 无法打开参数文件 'D:\oracle\admin\Ora8\pfile\initPROD.ora'
ORA-01078: 处理系统参数失败
CREATE CONTROLFILE set DATABASE "Ora8" RESETLOGS NOARCHIVELOG
*
ERROR 位于第 1 行:
ORA-01034: ORACLE not available

我就在这个目录建了文件名,再运行sql
SQL> @ s.sql
ORACLE 例程已经启动。

Total System Global Area 83634204 bytes
Fixed Size 75804 bytes
Variable Size 32694272 bytes
Database Buffers 50331648 bytes
Redo Buffers 532480 bytes
CREATE CONTROLFILE set DATABASE "Ora8" RESETLOGS NOARCHIVELOG
*
ERROR 位于第 1 行:
ORA-01503: CREATE CONTROLFILE ??
ORA-01160: ???? data file
ORA-01110: ???? : 'D:\oracle\oradata\Ora8\SYSTEM01.DBF'



我改后的sql文件如下:
--其中"PROD"是数据库SID,你可以替换成你的SID,D:\oracle\oradata\Ora8
STARTUP NOMOUNT pfile=D:\oracle\admin\Ora8\pfile\initPROD.ora;
CREATE CONTROLFILE set DATABASE "Ora8" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
-- STANDBY LOGFILE --设置LOGFILE的位置
LOGFILE
GROUP 1 'D:\oracle\oradata\Ora8\REDO01.LOG' SIZE 100M,
GROUP 2 'D:\oracle\oradata\Ora8\REDO02.LOG' SIZE 100M,
GROUP 3 'D:\oracle\oradata\Ora8\REDO03.LOG' SIZE 100M
--设置DATAFILE的位置 以下只是举例,写入你实际的数据文件位置
DATAFILE
'D:\oracle\oradata\Ora8\SYSTEM01.DBF',
'D:\oracle\oradata\Ora8\APACCT.DBF',
'D:\oracle\oradata\Ora8\APBLDBANK.DBF',
'D:\oracle\oradata\Ora8\APCOMM.DBF',
'D:\oracle\oradata\Ora8\APDIALYSE.DBF',
'D:\oracle\oradata\Ora8\APECONSTAT.DBF',
'D:\oracle\oradata\Ora8\APEQUIPMENT.DBF',
'D:\oracle\oradata\Ora8\APFOUNDING.DBF',
'D:\oracle\oradata\Ora8\APICU.DBF',
'D:\oracle\oradata\Ora8\APINPADM.DBF',
'D:\oracle\oradata\Ora8\APINPBILL.DBF',
'D:\oracle\oradata\Ora8\APINSURANCE.DBF',
'D:\oracle\oradata\Ora8\APLAB.DBF',
'D:\oracle\oradata\Ora8\APMEDADM.DBF',
'D:\oracle\oradata\Ora8\APMEDREC.DBF',
'D:\oracle\oradata\Ora8\APNURSING.DBF',
'D:\oracle\oradata\Ora8\APORDADM.DBF',
'D:\oracle\oradata\Ora8\DR01.DBF',
'D:\oracle\oradata\Ora8\INDX01.DBF',
'D:\oracle\oradata\Ora8\RBS01.DBF',
'D:\oracle\oradata\Ora8\SYSTEM01.DBF',
'D:\oracle\oradata\Ora8\TEMP01.DBF',
'D:\oracle\oradata\Ora8\TOOLS01.DBF',
'D:\oracle\oradata\Ora8\USERS01.DBF',
'D:\oracle\oradata\Ora8\APOUTPADM.DBF' ,
'D:\oracle\oradata\Ora8\APOUTPBILL.DBF',
'D:\oracle\oradata\Ora8\APPHARMACY.DBF',
'D:\oracle\oradata\Ora8\APSURGERY.DBF',
'D:\oracle\oradata\Ora8\APTEMP.DBF' ,
'D:\oracle\oradata\Ora8\APTEMP2.DBF',
'D:\oracle\oradata\Ora8\APEXAM.DBF'
--设置字符集
CHARACTER SET UTF8
;
ruixp 2006-12-05
  • 打赏
  • 举报
回复
结题,谢谢包子,真是非常感谢!
ruixp 2006-12-04
  • 打赏
  • 举报
回复
高手继续指点呀
ruixp 2006-12-04
  • 打赏
  • 举报
回复
有几个文件是相同的,可以覆盖吗
我昨天把所有的文件拷到我的机器的sid目录下,覆盖后就启不来了,呵呵,重装了oracle
baojianjun 2006-12-04
  • 打赏
  • 举报
回复
步骤:
1.COPY 你的DBF文件到你的数据库的ORADATA\SID 目录下;
2.以SYS DBA生分登陆,建立创建控制文件的SQL,并运新
比如CLONE.SQL:
------------
--其中"PROD"是数据库SID,你可以替换成你的SID,

STARTUP NOMOUNT pfile=D:\oracledb\PROD\PFILE\initPROD.ora;
CREATE CONTROLFILE set DATABASE "PROD" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
-- STANDBY LOGFILE --设置LOGFILE的位置
LOGFILE
GROUP 1 'D:\oracledb\PROD\REDO01.LOG' SIZE 100M,
GROUP 2 'D:\oracledb\PROD\REDO02.LOG' SIZE 100M,
GROUP 3 'D:\oracledb\PROD\REDO03.LOG' SIZE 100M
--设置DATAFILE的位置 以下只是举例,写入你实际的数据文件位置
DATAFILE
'D:\oracledb\PROD\SYSTEM01.DBF',
'D:\oracledb\PROD\UNDOTBS01.DBF',
'D:\oracledb\PROD\IFSAPP_DATA.DBF',
'D:\oracledb\PROD\IFSAPP_INDEX.DBF',
'D:\oracledb\PROD\IFSAPP_REPORT_DATA.DBF',
'D:\oracledb\PROD\IFSAPP_REPORT_INDEX.DBF',
'D:\oracledb\PROD\IFSAPP_ARCHIVE_DATA.DBF',
'D:\oracledb\PROD\IFSAPP_ARCHIVE_INDEX.DBF'
--设置字符集
CHARACTER SET UTF8
;
-----------------------------------
3.回复数据库,命令:
RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;

4.启动数据库重置LOG文件,命令:
ALTER DATABASE OPEN RESETLOGS;
5.再增加一个临时表空间就可以了
Quebradawill 2006-12-04
  • 打赏
  • 举报
回复
是用冷备份和恢复的方法。
jdsnhan 2006-12-04
  • 打赏
  • 举报
回复
为啥不让他传一个dmp文件呢。那直接imp多省事啊。

现在,你只有数据文件和控制文件,可以参考oracle 冷备份和恢复的方法来实现.
ruixp 2006-12-04
  • 打赏
  • 举报
回复
版本应该是一样的,都是8.17
只有dbf,log,和control文件,还有一个空的archive目录,大家帮忙看看,该怎么把他的数据导入进来,谢谢!
baojianjun 2006-12-04
  • 打赏
  • 举报
回复
exp命令不能用啊

不要在SQLPLUS下 在C:\下用就可以了
ljbatustc 2006-12-04
  • 打赏
  • 举报
回复
exp命令不能用啊
sxlcom 2006-12-04
  • 打赏
  • 举报
回复
用exp导出,在另一台机器imp就可以了
baojianjun 2006-12-04
  • 打赏
  • 举报
回复
制做dmp文件步骤:

1.startup 数据库;
2.cmd下使用命令exp
3.按照提示输入条件
4.导出完毕
加载更多回复(6)

17,377

社区成员

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

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