首页数据库oracle数据库复制,如何将一个oracle数据库复制成一个新的数据库

oracle数据库复制,如何将一个oracle数据库复制成一个新的数据库

编程之家2023-10-22272次浏览

这篇文章给大家聊聊关于oracle数据库复制,以及如何将一个oracle数据库复制成一个新的数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

oracle数据库复制,如何将一个oracle数据库复制成一个新的数据库

怎样用最简单的方法复制或迁移Oracle数据库

在DBA的日常工作中,经常需要重装或在新机器上安装Oracle,但每次安装所浪费的时间、精力以及失败的挫折都在考验着DBA的承受能力,本文着重介绍了一个简单的复制和迁移Oracle数据库的方法,详细内容请参考下文。

复制迁移的步骤如下:

◆1、首先,复制原Oracle数据库的安装目录到新机器或系统中的安装目录,注意目录要一致,盘符也要一致。

◆2、假如Oracle的安装目录不在Program Files系统文件夹下,我们需要把原系统中的Program Files文件夹下的Oracle目录也复制到新系统的Program Files文件夹中去。

◆3、导出原系统中的Oracle注册表信息,主要注册信息如下:

A. HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE

oracle数据库复制,如何将一个oracle数据库复制成一个新的数据库

B. HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services下有关Oracle的所有键,通常包括以下9个:

/OracleMTSRecoveryService

/OracleOraHome92Agent

/OracleOraHome92ClientCache

/OracleOraHome92HTTPServer

/OracleOraHome92PagingServer

oracle数据库复制,如何将一个oracle数据库复制成一个新的数据库

/OracleOraHome92SNMPPeerEncapsulator

/OracleOraHome92SNMPPeerMasterAgent

/OracleOraHome92TNSListener

/OracleServiceORA8

◆4、注意:有多少个数据库,注册表服务键下的OracleServiceXXX就会有多个。其中最主要的有监听服务和数据库服务,即OracleOraHome92TNSListenerXXX和OracleServiceXXX。

◆5、将导出的所有注册表的信息在新的系统中导入(注册)。

◆6、设置系统环境变量,打开"我的电脑"的"属性"界面,在"高级"而点击"环境变量"进入设置,找到[Path]系统变量项目,点"编辑",在变量值的输入框的最后,加入";ORACLE的安装目录"。

◆7、最后我们需要进入 C:/Documents and Settings/All Users/Start Menu/Programs下把 Oracle- OraHome92和 Oracle Installation Products两个菜单文件夹也复制到新系统中,此时,就和新安装的一样了。重启系统后,成功完成。

如何复制一个Oracle数据库(11G)

详细的方法这里很难解答,需要你另外参考博客或是文档,不过我给你解释下原理。重点就是oracle软件和数据库数据是相分离的,这点你要有自信,所以数据不丢,搬移到另一台电脑完全可行。这里面那些文件是独立于oracle软件呢?

1、init.ora初始参数文件,也称为pfile、spfile,是数据库启动所必须的文件;

2、控制文件,ctl后缀结尾的,包含了数据库的表空间、数据文件路径等信息;

3、数据文件,dbf后缀结尾的,就是对应了控制文件里提到的实实在在的文件;

4、在线日志文件,log后缀结尾的,用来记录实时的log;

5、归档日志文件,arc后缀结尾的,用来备份在线日志文件;

6、密码文件,存储sysdba权限用户的密码,可使得sysdba权限用户远程登录;

根据你的情况,因为你需要:关闭数据库、不需要归档、密码文件可以后创建。

所以前三个文件你必须搞清楚,搞清楚了就ok了,将前三项copy到另一台安装好oracle的机子,根据实际环境,修改init里面的内容,然后就可以启动数据库了,不过会提示某些数据文件路径可能错误的问题,是由于新环境和就环境路径不一样,根据ctl控制文件找不到,所以需要有些命令来修改路径。也会有其他各式各样的问题,但是这是正常的!并不是说数据库坏掉了,是dba必须要会的工作。

希望给你个浅显的解答。

oracle怎样copy表结构相同的数据

1.不同用户之间的表数据复制

对于在一个数据库上的两个用户A和B,假如需要把A下表old的数据复制到B下的new,请使用权限足够的用户登入sqlplus:

insert into B.new(select* from A.old);

如果需要加条件限制,比如复制当天的A.old数据

insert into B.new(select* from A.old where date=GMT);

蓝色斜线处为选择条件

2.同用户表之间的数据复制

用户B下有两个表:B.x和B.y,如果需要从表x转移数据到表y,使用用户B登陆sqlpus即可:

insert into目标表y select* from x where log_id>'3049'--复制数据

注意:要示目标表y必须事先创建好

如insert into bs_log2 select* from bs_log where log_id>'3049'

3.B.x中个别字段转移到B.y的相同字段

--如果两个表结构一样

insert into table_name_new select* from table_name_old

如果两个表结构不一样:

insert into y(字段1,字段2) select字段1,字段2 from x

4.只复制表结构加入了一个永远不可能成立的条件1=2,则此时表示的是只复制表结构,但是不复制表内容

create table用户名.表名 as select* from用户名.表名 where 1=2

如create table zdsy.bs_log2 as select* from zdsy.bs_log where 1=2

5完全复制表(包括创建表和复制表中的记录)

create table test as select* from bs_log--bs_log是被复制表

6将多个表数据插入一个表中

insert into目标表test(字段1。。。字段n)(select字段1.。。。。字段n) from表 union all select字段1.....字段n from表

7、创建用户budget_zlgc,权限和budget相同,(A、只复制所有表结构

B、复制所有表所有信息)

创建用户budget_zlgc,并导出budge用户数据

exp userid="\"sys/sys

as sysdba"\" file='/backup/expdb/oa0824.dmp'

log='/backup/expdb/oaex0825.log' owner=budget ignore=Y buffer=256000000

如何将一个oracle数据库复制成一个新的数据库

1、在数据库服务器的开始菜单中找到Datebase Configuration Assistant。

2、在创建画面第一步选择:创建新数据库,点击下一步。

3、根据需求选择自己的数据库类型(一般默认)后,跳转到全局数据库名这个画面时,重点来了:新建数据库名称不能和已经存在的任何一个数据库名称相同。

4、在管理帐户密码界面,可以与别的数据库管理帐户密码相同也可以不同,需注意的是,Oracle数据库默认是区分密码大小写的。

5、跳转到Oracle内存分配大小页面,这里建议将Oracle内存调整为物理主机内存的70%。

6、点击完成后,等待数据库创建完成。

7、数据库创建完成后,用sqlplus语句连接数据库,在同一服务器上建立多个Oracle数据库操作完成。

好了,文章到此结束,希望可以帮助到大家。

云服务器服务 云服务器是什么意思。个人免费服务器?永久免费服务器有哪些