一:拥有oracle用户和密码
导出dmp文件
进入目录:/home/oracle/20181021
执行命令:
exp 导入数据库用户名/密码 file=导出的dmp文件 log=日志名称 owner=导出的数据库名
截图如下:
exp aibs/aibs file=aibs_20181021.dmp log=aibs_20181021.log owner=aibs
导入dmp文件
创建数据库实例
创建实例zntt
上传dmp文件
将数据库dmp文件放入/home/oracle/importDir
创建用户和权限
说明:
若是用户和权限行方已经给建好,则无需再次新建和赋权。
sqlplus /nolog;
--无用户名登录,当忘记部分或者所有帐号以及密码的时候可以用此法登录。
conn /as sysdba;
--连接到本地数据库,并以管理员身份登录。
create user jndb identified by oradb123 ;
--创建用户名为jndb的帐号,密码为oradb123 。
grant create session to jndb;
--授权jndb用户登录权限。
grant connect,create view ,resource ,dba to jndb;
--给表提供创建试图等权限。
grant unlimited tablespace to jndb;
--授予test用户使用表空间的权限。
导入数据库实例
在oracle用户下导入数据库实例
进入目录:/home/oracle
执行命令:
export ORACLE_SID
export ORACLE_SID=zntt
执行dmp文件
进入目录:/home/oracle/importDir
执行命令:
imp 导入数据库用户名/密码 file=导入的dmp文件 fromuser=导入数据库原用户 touser=导入数据库用户名ignore=y log=日志名称
截图如下:
imp zsc/zsc file=aibs_20180910.dmp fromuser=aibs touser=zsc ignore=y log=20180910imp.log
备注:
导出dmp文件时,注意DLL不要乱码了,导出dmp文件时,先查看编码集,建议执行参考命令:
设置环境变量:
export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.AL32UTF8”
一:无oracle用户
方法一PL/PLSQL
利用PL/SQL Developer工具导出:
菜单栏---->Tools---->Export Tables,如下图
注意:若是导出闪退,处理方式如下
设置环境变量
变量名:ORACLE_HOME
变量值:为Oracle安装bin目录的上一级目录
假如你的bin目录就在C:\app\denggh\product\11.1.0\db_2\bin,那么变量值就设置为C:\app\denggh\product\11.1.0\db_2
如下:
方法二cmd
方法二:利用cmd的操作命令导出,详情如下):
1:C:\app\denggh\product\11.1.0\db_2\Network\Admin\目录下有个tnsname.ora文件,内容如下:
yun =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.9.200.136)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = aibs)
)
)
其中:yun为数据库名,HOST为IP地址,所以可以仿效上面的例子手动添加数据录连接。
2:用cmd进入命令行
输入:tnsping yun
就是测试192.9.200.136是否连接成功
3:导入与导出,如下:
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@yun file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@yun file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@yun file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@yun file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
不过在上面命令后面 加上 compress=y 就可以了 .
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
注意事项:导出dmp数据时需要有导出表的权限的用户,否则不能导出