使用Navicat Premium 分别与源数据库和目标数据库创建链接,而后借助Navicat Premium自带的数据传输功能,实现Oracle数据库的迁移.其实跟从MySQL数据库迁移到Oracle数据库是一个套路.java
O(∩_∩)O~ 听起来,是否是很简单,其实就是很简单!下边我就讲一下具体实现的细节流程:mysql
这点我再次向对Oracle数据库不熟悉的同窗强调一下,对于Oracle数据库不像MySQL中,一个用户能够管理多个数据库,对Oracle来讲,一个用户只对应一个数据库,而新建立的用户是没有任何资源和权限的,因此须要管理员用户为其分配资源权限.sql
在控制台以管理员权限登陆创建链接:数据库
sqlplus system/admin@192.168.10.112:1521/orcl conn /as sysdba;
若是你不当心忘记了密码,能够参考个人另一篇专门将建立表空间和用户的博文:Oracle数据库建立表空间和用户及删除数据库(用户)oracle
建立表空间与用户:ide
<!-- 建立表空间 datafile为你oracle安装文件的路径,其中casic_smart.dbf是本身随便命名的 --> create tablespace casic_smart datafile 'E:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m; <!-- 建立用户 并为其指定表空间 --> create user tianzhi_smart identified by tianzhi_smart default tablespace casic_smart quota 500m on users; <!-- 授予权限 --> grant all privileges to tianzhi_smart;
使用Navicat Premium链接Oracle数据库时,可能会报出以下错误:
具体解决方案,可参考个人另一篇博文: Navicat 提示Cannot create oci environment 解决方案学习
数据库链接成功后以下图:spa
进行数据输出:.net
若是这种方法迁移不成功,那就来试试一个更简单的方法:使用Oracel数据库的imp,exp语句.命令行
语法:
exp user1/pwd1@test1 file='E:test.dmp';
示例:
exp tianzhi_smart/tianzhi_smart@192.168.56.60:1521/orcl file='E:\tianzhi_smart.dmp';
应用截图:
本人愚钝,初次使用时,都不知道在哪里输入这导出语句,因此专门贴出来,以备像我同样的小伙伴,少走些弯路.
语法:
imp user2/pwd@test2 file='E:test.dmp' full=y;
示例:
imp tianzhi_smart/tianzhi_smart@192.168.10.129:1521/orcl file='E:\tianzhi_smart.dmp' full=y;
应用截图:
关于dmp文件咱们用的仍是比较多的,dmp文件它是做为oracle导入和导出表使用的文件格式,今天就将dmp文件导出和导入进行学习。
dmp文件导出用的比较多的通常是三种,他们分别是:导出整个数据库实例下的全部数据、导出指定用户的全部表、导出指定表。
这里已个人数据库为例,进行介绍,个人Oracle数据库实例为"ORACLE",查看本身数据库实例能够从"任务管理器-->服务"中进行查看,以下图
打开命令行:
1,将数据库ORACLE彻底导出,用户名system密码manager 导出到c:\daochu.dmp中
exp system/manager@ORACLE file=c:\daochu.dmp full=y
2,将数据库中RFD用户与,JYZGCX用户的表导出
exp system/manager@ORACLE file=d:\daochu.dmpowner=(RFD,JYZGCX)
3,将数据库中的表T_USER、T_ROLE导出
expJYZGCX/JYZGCX@ORACLEfile= d:\data\newsmgnt.dmp tables=(T_USER,T_ROLE)
上面的system为用户名,manager为密码,ORACLE为数据库实例名,其实不必定非的用system用户,只要是拥有管理员权限的用户均可以。
1,打开“开始”-->输入cmd—> sqlplus /nolog;
2,输入 conn / as sysdba管理员帐户登陆;
3,须要建立表空间,若是咱们知道须要导入的数据库的表空间直接建立就能够,若是不不知道,也没有关系,咱们能够用txt打开dmp文件,使用快捷键ctrl+F,查找tablespace,就能够找到这个dmp文件所对应数据库的表空间,而后建立咱们找到的表空间就能够;
步,不建立的表空间,建立用户,并分配权限;
5,打开“开始”-->输入cmd(注意:这里是cmd窗口,不是sqlplus窗口!!!),输入如下语句:“imp kang/123456@localhost/ORACLEfile="C:\daochu.dmp"full=y ignore=y”
上述语句说明以下:
kang是建立的登陆数据库用户名;
123456是登陆数据库的密码;
localhost:表明当前数据库的地址是本机,若是是远程导入,替换成对应的ip地址就行
ORACLE:是实例名称)
file:后面的是你当前dmp文件存放的路径
full=y,这个貌似是所有
ignore=y,忽略一些错误
备注:关于数据库实例、表空间、用户等基本概念和建立的语句可参考前面的文章“Oracle学习——扫盲篇”
本篇文章主要讲述了,oracle数据导出和导入的具体步骤,其中导入dmp文件的时候即使不知道表空间、用户名和密码也能够进行导入。Oracle的学习确实是路漫漫其修远兮啊!
Oracle数据库不像MySQL数据库,一个用户能够管理多个数据库,对Oracle来讲,一个用户只对应一个数据库,而新建立的用户是没有任何资源和权限的,因此须要管理员用户为其分配资源权限.而建立用户时,须要为用户指定表空间.
A.在控制台输入`sqlplus scott/tiger@192.168.56.6:1521/orcl `链接Oracle; B.输入`conn /as sysdba`以DBA角色登陆;
C.链接成功后,输入“select username from all_users”查看用户列表。 D.若修改某一个用户密码, 修改用户口令 格式为:alter user 用户名 identified by 新密码;
create tablespace casic_smart datafile 'C:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m; create user tianzhi_smart identified by tianzhi_smart default tablespace casic_smart quota 500m on users; grant all privileges to tianzhi_smart;
删除oracle数据库其实也就是删除oracle用户,由于在oracle中数据库与用户是一一对应的.而删除数据库(用户)以后,再建立用户,就至关于清空了数据库里面的数据.
<!-- 以管理员用户登陆 --> sqlplus /nolog conn /as sysdba; <!-- 删除数据库(用户) --> drop user test1 cascade; <!-- 建立表空间 --> create tablespace casic_smart datafile 'C:\oracle\product\10.2.0\oradata\orcl\casic_smart.dbf' size 1000m; <!-- 建立用户,并指定表空间 --> <!-- 有些是没有指定表空间的,不知是否可行,何尝试,保险起见仍是按下面方式来 --> create user test1 identified by pwd1 default tablespace casic_smart quota 500m on users; <!-- 授予权限 --> grant all privileges to test1 ;