方法一: 通过exp/imp将数据导入到目标数据库 方法二: 通过expdp/impdp将数据导入到目标数据库
成都网站制作、成都网站建设的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。
不同的数据库语法不同(SQL Server和Oracle为例),且复制包括目标表已存在和目标表不存在的情况,分别回答:
SQL Server中,如果目标表存在:
1
insert into 目标表 select * from 原表;
SQL Server中,,如果目标表不存在:
1
select * into 目标表 from 原表;
Oracle中,如果目标表存在:
1
2
insert into 目标表 select * from 原表;
commit;
Oracle中,如果目标表不存在:
1
create table 目标表 as select * from 原表;
1、先导出旧数据库中的内容。
exp
数据库用户名/密码
full=y
file=d:\OradbBak.dmp
log=d:\OradbBak.log
2、把刚才导出的内容导入到新数据库
imp
数据库用户名/密码
full=y
file=d:\OradbBak.dmp
log=d:\OradbBak.log
3、具体命令参数可以用下面的命令来查询
exp
help=y
imp
help=y
1、使用plsql连接上数据库,展开【Tables】菜单项,下面出现的就是数据库表。
2、在数据库表tblTest上面点击鼠标右键,选择【Query data】,此项的目的是查询这张数据库表的数据。
3、点击完成【Query data】之后,右侧会出现一个SQL语句的窗口,默认有一条【select * from 表名】的sql语句,下方还有一个列表,展示这张表中的已有数据。
4、然后写一条insert插入的SQL语句,写完之后,选中这条SQL,点击左上角的【次轮状】图标,然后,SQL语句下方会出现【1 row inserted in xx seconds】,表示语句执行成功。此时数据还没有真正写入数据库 insert插入sql格式:insert into 表名(字段1, 字段2, 字段n) values(值1, 值2, 值n)。
5、在Oracle数据库中,对数据的变更还需要点击【Commit】按钮,也就是左上角向下箭头的图标,如果不点击这个按钮,数据其实不会真正存入数据库。点击【Commit】按钮后,会弹出一个Confirm窗口,此时点击【Yes】就将数据写入数据库,点击【No】则不提交到数据库。
oracle数据库的数据是按用户来组织的,所以你说的“现有实例的表、表空间、存储过程等”,实际上应该是某个用户的对象;而你只需要将这个用户的对象导出,然后导入到一个新用户下去,就可以实现你的需求。你这里的“实例”实际上应该是用户的概念,而不是一个oracle实例。
做法是:expdp按用户导出数据,然后创建新用户,用impdp导入,导入的时候remap_schema即可。
我只导过9i的版本,你看看用不用得上吧
1、导入的数据应该是一个后缀为dmp的文件
2、要注意oracle的版本是不是相同的,不然会不兼容
3、要导入的话,在电脑的cmd命令行输入:
imp 用户名/密码@你要导入到哪个数据库的名称 file=dmp文件所在的盘符:\数据文件.dmp full=y(full=y意思是完全导入)
例如:
imp administrator/password@DB file=c:\xxx.dmp full=y
5、也许导入的时候会出错,说什么找不到相应的表空间之类的,那是因为你新建的数据库没有建立一个表空间,你要到你新建的数据库中找到存储-表空间然后新建一个和导入时发生错误的那个表空间一样的名字就可以了
6、还要新建一个用户,把它的默认表空间设成你新建的那个,还要在角色里给它分配各DBA的角色。然后在imp命令中输入的用户名密码就是这个用户了。
不过这是9i版本的,可能你用的oracle是其他版本的,希望能帮上一点忙