导入导出数据库 oracle ORA-20001 加statistics=none 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 exp system/manager@TEST file=d:daochu.dmp full=y 2 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) ### Oracle 数据库导入导出详解 #### 一、Oracle 导出(Export)操作 **1. 完全导出数据库** 在Oracle中,我们可以通过`exp`命令来进行数据库的导出工作。若要将一个名为`TEST`的数据库进行完全导出,可以使用以下命令: ```shell exp system/manager@TEST file=d:daochu.dmp full=y ``` 这里的`system/manager`是用户名和密码,`@TEST`表示连接到名为`TEST`的数据库实例,`file=d:daochu.dmp`指定导出文件的路径及文件名,`full=y`表示导出整个数据库。 **2. 导出特定用户的表** 如果只需要导出某个或某些用户的表,可以使用`owner`参数来指定用户。例如,只导出`system`和`sys`用户下的所有表,可以执行如下命令: ```shell exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) ``` 这里`owner=(system,sys)`指定了要导出`system`和`sys`用户的所有表。 **3. 导出特定表** 如果只需要导出某个具体的表,可以使用`tables`参数并结合`query`参数来进一步限定导出的数据范围。例如,只导出`table1`表中`filed1`字段以`00`开头的数据: ```shell exp system/manager@TEST file=d:daochu.dmp tables=(table1) query="where filed1 like '00%'" ``` 这里的`tables=(table1)`指定了要导出的表为`table1`,而`query="where filed1 like '00%'"`则限定了数据的过滤条件。 **4. 使用压缩功能** 为了提高效率,还可以在导出时使用压缩功能。例如,在导出时添加`compress=y`选项: ```shell exp system/manager@TEST file=d:daochu.dmp compress=y ``` 这会使得导出的数据在文件中被压缩存储,从而减小文件大小。 #### 二、Oracle 导入(Import)操作 **1. 完全导入数据库** 当需要将之前导出的数据导入回数据库时,可以使用`imp`命令。假设要将`daochu.dmp`文件中的数据全部导入回`TEST`数据库: ```shell imp system/manager@TEST file=d:daochu.dmp ``` **2. 导入特定表** 同样地,也可以仅导入特定的表。例如,仅导入`table1`表: ```shell imp system/manager@TEST file=d:daochu.dmp tables=(table1) ``` **3. 处理导入时的错误** 在导入过程中,可能会遇到一些问题,如对象冲突等。可以使用`ignore=y`选项来忽略这些错误: ```shell imp system/manager@TEST file=d:daochu.dmp ignore=y ``` #### 三、使用参数文件进行导入导出 除了直接通过命令行参数来控制导入导出过程外,还可以使用参数文件(`.par`文件)来管理复杂的导入导出任务。这种方式特别适用于需要频繁执行相同任务的情况。 **1. 创建参数文件** 创建一个参数文件,比如`import9.par`,并在其中定义所需的参数: ```plaintext FROMUSER=TGPMS TOUSER=TGPMS2 ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y BUFFER=409600 file=/backup/ctgpc_20030623.dmp ``` **2. 使用参数文件进行导入** 接下来,使用该参数文件来进行导入操作: ```shell imp parfile=/filepath/import9.par ``` 这种方式更加灵活且易于管理,尤其是在处理大型数据库时非常有用。 #### 四、注意事项 - **权限问题**:确保执行导入导出操作的用户具有足够的权限。 - **环境配置**:确保客户端工具(如`exp`和`imp`)已经正确安装,并且环境变量已设置好。 - **网络连接**:如果是在不同服务器之间进行数据传输,请确保网络连接稳定可靠。 - **资源限制**:对于大型数据库,需要注意内存和磁盘空间等资源限制。 以上就是关于Oracle数据库导入导出的一些基本操作方法和注意事项,希望能帮助大家更好地理解和掌握Oracle数据库的备份与恢复机制。
我以前做过笔记的,等会,我找找.
数据导出:
1 将数据库TEST完全导出,用户名system 密码:※脱※敏※ger 导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST 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
imp aichannel/aichannel@HUST full=y file=file= d:datanewsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
- 粉丝: 3
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助