oracle 数据库导入问题 请问各位大侠 如何将现有数据库文件 导入到服务器的数据库中???急等.... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果有数据文件、控制文件和日志文件的备份1.服务器重装了操作系统,oracle也重装了。如果重装的oracle和以前损坏的数据库是一模一样的结构,那么此时的恢复是比较简单的。 1)删除掉新建数据库的所有数据文件、控制文件和日志文件。Copy原数据库的数据文件、控制文件和日志文件到对应目录下。 2) Cmd>sqlplus /nolog Sql>conn as sysdba 用户名:system 密码:(此处密码为新创建数据库的密码) Sql>shutdown immediate Sql>startup nomount Sql>alter database mount 此时看数据库是不是能mount起来,有时会提示没有口令文件PWDdemo.ora文件找不到。查看对应的目录(database下)会发现该文件是存在的。此时需要注意,该口令文件是新安装数据库后创建实例时生成的口令文件,不是以前所用数据库的口令文件,而现在,我们是用以前数据库的控制文件和数据文件来打开以前的数据库,所以此时需要重新创建一个口令文件。 Sql>shutdown immediate Sql>host orapwd file=c:\oracle9i\database\PWDdemo.ora password=oracle Entries=10 (放在database 目录下) Sql>startup nomount Sql>alter database mount Sql>alter database open 打开数据库 2.如果新数据库的安装目录和原有数据库的目录不一样,那么此时可以重建控制文件来打开数据库。因为原控制文件中记录的数据文件地址和现有的数据文件位置不一样。此时和下面第二中情况一样。当然,此时也可以创建和原数据库一样的目录结构(前提是要记得原数据库的目录结构),需要注意的就是参数文件中记录的控制文件位置和控制文件中记录的数据文件位置。 说明:我们需要清楚数据库在打开的三个阶段中,需要读取的文件 Sql>startup nomount (此时读取参数文件) Sql>alter database mount (根据参数文件中记录的控制文件地址,去读取控制文件) Sql>alter database open (根据控制文件中记录的数据文件地址,读取数据文件,打开数据库) 如果只有数据文件备份,没有控制文件和日志文件 由于只有数据文件备份,没有控制文件和日志文件,此时只能采用重建控制文件来恢复数据库。 1)仅安装数据库软件,通过新建oracle服务,引用数据文件来创建一个实例。下面以实例名为demo为例进行说明。 1.创建存储demo相关文件的目录。即::各类文件的存放地址。 C:\documents and settings\mkdir c:\demo C:\documents and settings\mkdir c:\demo\bdump C:\documents and settings\mkdir c:\demo\udump C:\documents and settings\mkdir c:\demo\cdump C:\documents and settings\mkdir c:\demo\pfile C:\documents and settings\mkdir c:\demo\create C:\documents and settings\mkdir c:\demo\oradata C:\documents and settings\mkdir c:\demo\oradata\demo (放置datafile、logfile、controlfile) 2.创建初始化参数文件(pfile) 此处pfile文件可以从其他能正常运行的数据库上copy一个过来进行修改。(判断其他正常运行的数据库使用的是pfile还是spfile,如是pfile可以直接copy,如是spfile,则可根据spfile创建一个pfile文件) Copy过来的pfile需要修改的地方: background_dump_dest=c:\demo\bdump core_dump_dest=c:\demo\cdump user_dump_dest=c:\demo\udump control_files=("c:\demo\oradata\demo\CONTROL01.CTL", "c:\demo\oradata\demo\CONTROL02.CTL", "c:\demo\oradata\demo\CONTROL03.CTL") dispatchers="(PROTOCOL=TCP) (SERVICE=demoXDB)"(实例名) dispatchers="(PROTOCOL=TCP) (SERVICE=demoXDB)" db_domain="" db_name=demo 3.创建oracle服务和口令文件 C:\documents and settings\oradim — new —sid demo —intpwd oracle 4.配置监听和服务 用net manager 进行配置(demo实例的配置) 5.复制数据文件备份到指定的目录下。此处为c:\demo\oradata\demo 6.重建controlfile C:\Documents and Settings\hefan>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 12月 29 10:57:07 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn as sysdba 请输入用户名: system 请输入口令: 已连接。 SQL> shutdown immediate ORA-01507: 未安装数据库 ORACLE 例程已经关闭。 SQL> startup nomount file= c:\demo\pfile\initdemo.ora ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes SQL> @d:\controlfile.sql 控制文件已创建 Controlfile.sql内容如下:(此处也可以直接在sql>下输入以下内容进行创建controlfile) CREATE CONTROLFILE REUSE DATABASE "demo" RESETLOGS NOARCHIVELOG MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 226 LOGFILE GROUP 1 'c:\demo\oradata\demo\redo01.log' SIZE 50M, GROUP 2 'c:\demo\oradata\demo\redo02.log' SIZE 50M, GROUP 3 'c:\demo\oradata\demo\redo03.log' SIZE 50M DATAFILE 'c:\demo\oradata\demo\system01.dbf', 'c:\demo\oradata\demo\odm01.dbf', 'c:\demo\oradata\demo\indx01.dbf', 'c:\demo\oradata\demo\tools01.dbf', 'c:\demo\oradata\demo\undotbs01.dbf', 'c:\demo\oradata\demo\users01.dbf', 'c:\demo\oradata\demo\xdb01.dbf', 'c:\demo\oradata\demo\cwmlite01.dbf', 'c:\demo\oradata\demo\drsys01.dbf', 'c:\demo\oradata\demo\example01.dbf' CHARACTER SET zhs16gbk 说明:此时没有日志文件,所以只能进行reserlogs,如果是有logfile,则此处不需要resetlogs,noresetlogs就可以 数据泵:expdp 导出 impdb 导入。速度快,操作安全~ 你的数据库文件是不是dmp文件??如果是的话,那你要知道,原来库的表空间有几个,首先新建里面的表空间,然后建一个用户,把dmp文件导入这个用户,下就可以了! 我想问一下 如果给我的数据库文件(dmp文件)是用exp导出的,我能不能用数据泵(impdp)导入到远程机上? 利用数据泵 在导入导出时最好是数据库同版本的导入导出 不能跨版本,同时不能从低版本导入到高版本!!导出整个数据库expdp system/sysadmin directory=dump_dir dumpfile=full.dmp full=y导入整个数据库impdp system/sysadmin directory=dump_dir dumpfile=full.dmp full=y oracle从远程机单个用户导出到本地 oracle imp 数据导入问题 一个时间函数的问题 数据导入关联问题(清高手帮忙) 请高手指教START WITH CONNECT BY的问题? 有关分页查询中用rownum的性能问题?大家发表些意见... oracle有没有boolean类型的字段 oracle8.17安装好后,无法使用!!!俺只有50分??? 【牛人看一下吧】☆★☆★☆ 菜问题:为什么tablespace里面凭空出来好几十个表???☆★☆★☆ sql 创建view时怎么把某个字段设置为当前时间 问一个棘手的问题 sql server 数据库类型转换问题!急求!!
1.服务器重装了操作系统,oracle也重装了。如果重装的oracle和以前损坏的数据库是一模一样的结构,那么此时的恢复是比较简单的。 1)删除掉新建数据库的所有数据文件、控制文件和日志文件。Copy原数据库的数据文件、控制文件和日志文件到对应目录下。 2)
Cmd>sqlplus /nolog Sql>conn as sysdba 用户名:system 密码:(此处密码为新创建数据库的密码) Sql>shutdown immediate Sql>startup nomount Sql>alter database mount 此时看数据库是不是能mount起来,有时会提示没有口令文件PWDdemo.ora文件找不到。查看对应的目录(database下)会发现该文件是存在的。此时需要注意,该口令文件是新安装数据库后创建实例时生成的口令文件,不是以前所用数据库的口令文件,而现在,我们是用以前数据库的控制文件和数据文件来打开以前的数据库,所以此时需要重新创建一个口令文件。 Sql>shutdown immediate Sql>host orapwd file=c:\oracle9i\database\PWDdemo.ora password=oracle Entries=10 (放在database 目录下) Sql>startup nomount Sql>alter database mount Sql>alter database open 打开数据库 2.如果新数据库的安装目录和原有数据库的目录不一样,那么此时可以重建控制文件来打开数据库。因为原控制文件中记录的数据文件地址和现有的数据文件位置不一样。此时和下面第二中情况一样。当然,此时也可以创建和原数据库一样的目录结构(前提是要记得原数据库的目录结构),需要注意的就是参数文件中记录的控制文件位置和控制文件中记录的数据文件位置。 说明:我们需要清楚数据库在打开的三个阶段中,需要读取的文件 Sql>startup nomount (此时读取参数文件) Sql>alter database mount (根据参数文件中记录的控制文件地址,去读取控制文件) Sql>alter database open (根据控制文件中记录的数据文件地址,读取数据文件,打开数据库)
1)仅安装数据库软件,通过新建oracle服务,引用数据文件来创建一个实例。下面以实例名为demo为例进行说明。 1.创建存储demo相关文件的目录。即::各类文件的存放地址。 C:\documents and settings\mkdir c:\demo C:\documents and settings\mkdir c:\demo\bdump C:\documents and settings\mkdir c:\demo\udump C:\documents and settings\mkdir c:\demo\cdump C:\documents and settings\mkdir c:\demo\pfile C:\documents and settings\mkdir c:\demo\create C:\documents and settings\mkdir c:\demo\oradata C:\documents and settings\mkdir c:\demo\oradata\demo (放置datafile、logfile、controlfile) 2.创建初始化参数文件(pfile) 此处pfile文件可以从其他能正常运行的数据库上copy一个过来进行修改。(判断其他正常运行的数据库使用的是pfile还是spfile,如是pfile可以直接copy,如是spfile,则可根据spfile创建一个pfile文件) Copy过来的pfile需要修改的地方: background_dump_dest=c:\demo\bdump core_dump_dest=c:\demo\cdump user_dump_dest=c:\demo\udump control_files=("c:\demo\oradata\demo\CONTROL01.CTL", "c:\demo\oradata\demo\CONTROL02.CTL", "c:\demo\oradata\demo\CONTROL03.CTL") dispatchers="(PROTOCOL=TCP) (SERVICE=demoXDB)"(实例名) dispatchers="(PROTOCOL=TCP) (SERVICE=demoXDB)" db_domain="" db_name=demo 3.创建oracle服务和口令文件 C:\documents and settings\oradim — new —sid demo —intpwd oracle 4.配置监听和服务 用net manager 进行配置(demo实例的配置) 5.复制数据文件备份到指定的目录下。此处为c:\demo\oradata\demo 6.重建controlfile C:\Documents and Settings\hefan>sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 12月 29 10:57:07 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn as sysdba 请输入用户名: system 请输入口令: 已连接。 SQL> shutdown immediate ORA-01507: 未安装数据库 ORACLE 例程已经关闭。 SQL> startup nomount file= c:\demo\pfile\initdemo.ora ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes SQL> @d:\controlfile.sql 控制文件已创建 Controlfile.sql内容如下:(此处也可以直接在sql>下输入以下内容进行创建controlfile) CREATE CONTROLFILE REUSE DATABASE "demo" RESETLOGS NOARCHIVELOG MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 226 LOGFILE GROUP 1 'c:\demo\oradata\demo\redo01.log' SIZE 50M, GROUP 2 'c:\demo\oradata\demo\redo02.log' SIZE 50M, GROUP 3 'c:\demo\oradata\demo\redo03.log' SIZE 50M DATAFILE 'c:\demo\oradata\demo\system01.dbf', 'c:\demo\oradata\demo\odm01.dbf', 'c:\demo\oradata\demo\indx01.dbf', 'c:\demo\oradata\demo\tools01.dbf', 'c:\demo\oradata\demo\undotbs01.dbf', 'c:\demo\oradata\demo\users01.dbf', 'c:\demo\oradata\demo\xdb01.dbf', 'c:\demo\oradata\demo\cwmlite01.dbf', 'c:\demo\oradata\demo\drsys01.dbf', 'c:\demo\oradata\demo\example01.dbf' CHARACTER SET zhs16gbk 说明:此时没有日志文件,所以只能进行reserlogs,如果是有logfile,则此处不需要resetlogs,noresetlogs就可以
导入到远程机上?
导出整个数据库
expdp system/sysadmin directory=dump_dir dumpfile=full.dmp full=y
导入整个数据库
impdp system/sysadmin directory=dump_dir dumpfile=full.dmp full=y