利用dmp备份Oracle数据库
1、我们的电脑里面安装完Oracle或OracleClient的时候,在我们的安装目录里面就有这两个命令了,一般是在oracle的安装目录D:\app\lenovo\product\11.2.0\client_1\BIN下。
2、数据导出
-
将数据库A完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp full=y
将数据库中system用户与sys用户的表导出
exp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp owner=(system,sys)
将数据库中的表table1 、table2导出
exp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp tables=(table1,table2)
3、数据导入
-
将D:\daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。
-
将d:\daochu.dmp中的表table1 导入
imp system/manager@172.22.0.1/oracle11g file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
如果导入导出时数据库的密码有特殊字符的话,请参考此文章
https://www.cnblogs.com/mq0036/p/4182012.html
拓展:Oracle-数据库的实例、表空间、用户,表之间的关系(简略)
1、数据库
启动数据库:也叫全局数据库,是数据库系统的入口,它会内置一些高级权限的用户如SYS,SYSTEM等。我们用这些高级权限账号登陆就可以在数据库实例中创建表空间,用户,表了
2、数据库实例
我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。
数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)。
一个数据库可以有多个实例,在作数据库服务集群的时候可以用到。
3、表空间
Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
有了数据库,就可以创建表空间。
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。
一个表空间只能属于一个数据库。
4、用户
Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。
5、表
有了数据库,表空间和用户,就可以用自定义的用户在自己的表空间创建表了。有了表,我们可以开发了。