怎么还原oracle,怎么还原oracle数据文件

重装系统后oracle怎么恢复

1、一种方法是重装数据库后用IMP来导入原来的数据,但使用这种方法的前提是你有以前数据的备份,并且这种方法还有许多不足的地方,如备份过旧,可能会丢失许多数据、导入数据太长等。

在平武等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、成都网站制作 网站设计制作按需定制开发,公司网站建设,企业网站建设,品牌网站设计,全网营销推广,外贸营销网站建设,平武网站建设费用合理。

一般情况下我们可以采用重用原来的数据库的方法来恢复。在讲步骤前先说说这种方法的原理。

数 据库与实例对应,当数据库服务启动后,我们可以用SQLPLUS "/AS SYSDBA"方法连接到一个空闲的例程,当执行startup启动数据库时,首先会在%ORACLE_HOME%/database下找当前SID对应 的参数文件(PFILE或者SPFILE)和密码文件,然后启动例程;接着根据参数文件记录的信息找到控制文件,读取控制文件的信息,这就是mount数 据库了;最终根据控制文件的信息打开数据库。这个过程相当于对数据库着了一次冷备份的恢复。

下面的具体步骤:(我们假设原库的所有相关文件都存在)1、安装数据库软件只需安装同版本的数据库软件即可,不需要创建数据库。最好安装在和原来数据库同样的%ORACLE_HOME%下,省得还要修改参数文件路径等。(直接覆盖原来的oracle即可)再次强调,只安装软件,不创建数据库,否则将数据库软件安装在同样的目录下旧的部分数据文件会被覆盖,这样数据库也不能被恢复了。

2、新建一个实例在cmd窗口执行oradim -new -sid xinhai注意,这个SID名称最好与你以前的SID一样,否则在启动的数据需要指明pfile,并且需要重建密码文件,比较麻烦。(当然,如果你就不想用原来的SID也可以,把参数文件、密码文件的名称都改成与新SID对应的名称)。

3、启动数据库做完以上两步,就可以启动数据库了。用net start 检查oracle服务是否已经启动,如果oracle服务没有启动,则在cmd下运行如下命令:net start oracleservicexinhai然后设定必要的环境变量,在cmd窗口运行set ORACLE_SID=xinhai

接着连接数据库sqlplus "/as sysdba"startup

如果正常的话,数据库应该就能起来了

4、启动监听lsnrctl start

5、后续工作经过以上几步后,基本上就可以使用oracle了,但是使用起来有点不方便,如每次在cmd中启动数据库都需要先SET ORACLE_SID、在本机连接数据库也都需要加上@TNSNAME等。我们可以修改注册表,添加ORACLE_SID的信息,避免这些麻烦。

在注册表的HKEY_LOCAL_MACHINESOFTWAREORACLE下新建字符串值,名称为ORACLE_SID,值为xinhai。也可以将以下内容保持成一个后缀名为reg的文件(文件名随便起),然后双击,即可将信息导入到注册表中。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESOFTWAREORACLE]"ORACLE_SID"="xinhai"

注意,以上步骤都是在%ORACLE_HOME%、%ORACLE_SID%都与原库一样的情况下讨论的,虽然%ORACLE_HOME%和%ORACLE_SID%可以与原库不一样,但为了减少麻烦和出错的几率,建议不要改变则两个值。

6、如果系统启动时 还不能启动oracle就增加以下

编辑一个oracle_startup.bat文档 内容为:

set sid=xinhailsnrctl starte:/oracle_startuplog.logsqlplus /nolog @e:oracle_startupsql.txte:/ oracle_startuplog.log

在e盘下增加文档oracle_startuplog.log,内容为:

connect / as sysdba;startup nomount;alter database mount;alter database open;quit

然后把oracle_startup.bat放到系统启动项里面,这样每次启动系统时oracle就自动启动了。

oracle数据库备份怎么还原

1 导出存储过程,触发器,序列等所有用户对象。(备份)

在PL/SQL Developer的菜单Tools(工具) = Export User Objects(导出用户对象)中出来一个对话框界面

建议红色框住部分都不选,这样执行这个sql 时,就根据当前你的登录账户来进行创建。 在对象列表中ctrl+a 全选所有(如果你只导出部分,可单独选择)

设置 输出文件地址,文件名。 点击导出完成。

2 导出数据。(备份)

在PL/SQL Developer的菜单Tools(工具) = 导出表 中出来一个对话框界面

如果 数据量较大,选择oracle导出,勾压缩选项,然后设置输出文件地址。 如果只导出部分数据,可以在Where 处添加条件。例如 rownum=1000 ( 导出1000条记录),此种方式导出dmp 格式文件。

如果数据量较小,可以选择sql 插入,此种方式导出sql文件。

选项,勾选 约束,索引,行数,触发器。

注意:如果表中包含clob 或nclob 字段,就只能用dmp格式进行导入,如果是少量表,不包含这种字段,可以用sql插入方式。

还原时,注意需要先还原dmp文件。

3 表数据还原 。

a. 如果dmp 文件,那么在PL/SQL Developer的菜单Tools(工具) = 导入表 中出来一个对话框界面

可以在 “到用户” 处 选择你登录的账户。

b 如果是sql 格式文件,一样在PLSQL中新建一个命令窗口 (command windows) , 粘贴(ctrl+v) 刚才负责的sql内容。然后就开始自动执行还原了。

4 还原其他对象(存储过程,触发器,序列,函数等)

a. 用PLSQL 登录要还原的Oracle。此时你登录的账号是什么,还原就在该账号下。

b. 把先前备份的表结构sql文件打开,全选内容。 然后在PLSQL中新建一个命令窗口 (command windows) , 粘贴(ctrl+v) 刚才负责的sql内容。然后就开始自动执行还原了。

oracle数据库执行脚步出错,怎么恢复数据库

数据恢复方法是利用oracle提供的闪回方法进行数据恢复,适用于delete删除(一条记录)方式:

首先需要知道是什么时间进行的删除操作,如果不能确定具体时间点则选择尽量准确的删除数据前的时间。然后利用

select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')

语句可以找回删除的数据。利用

insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));

语句就可以将恢复出来的数据插入原表中(注意要保证主键不重复)。

另一种方法可以通过闪回整个表来恢复误删除的数据,但仅适用于表结构没有发生改变且用户有flash any table权限的情况下,语句如下:

·alter table 表名 enable row movement

新闻标题:怎么还原oracle,怎么还原oracle数据文件
标题链接:https://www.cdcxhl.com/article20/dsgphjo.html

成都网站建设公司_创新互联,为您提供虚拟主机全网营销推广网站建设网站排名网站策划企业建站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司