系统环境:
1、操作系统:Windows 2000 Server,机器内存128M
2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
3、安装路径:C:\ORACLE
实现步骤:
1、用EXP工具导出
2、导入时使用show=y选项、log选项 (导入成功的前提是库中不能已有该表,若已有该表则先删除它)
3、查看、编辑日志文件
具体实例:
1、调出SQL*Plus
conn system/manager
grant connect,resource to a identified by a;
grant connect,resource to b identified by b;
conn a/a
create table a(a number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
create table b(a number,b varchar2(10));
insert into b values(1,'1111');
insert into b values(2,'2222');
insert into b values(3,'3333');
commit;
2、打开一个DOS窗口、先执行导出test数据库中的a和b表:
E:\>exp a/a@test file=D:\a.dmp log=loga.txt tables=(a,b)
Export: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:24:16 2000
(c) Copyright 1999 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集
. 正在导出 pre-schema 过程对象和操作
. 正在导出用户A的外部函数程序库名称
. 正在导出用户A的对象类型定义
即将导出A的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
. 即将导出A的表通过常规路径 ...
. . 正在导出表 A 3 行被导出
. . 正在导出表 B 3 行被导出
. 正在导出同义词
. 正在导出视图
. 正在导出存储的过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图、功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出快照
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计
在没有警告的情况下成功终止导出。
E:\>
3、再执行导入,使用show=y、log这两个选项
E:\>imp a/a file=D:\a.dmp show=y log=logb.txt tables=(a,b)
Import: Release 8.1.6.0.0 - Production on 星期五 12月 1 22:29:49 2000
(c) Copyright 1999 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
经由常规路径导出由EXPORT:V08.01.06创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
. 正在将A的对象导入到 A
"CREATE TABLE "A" ("A" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 25"
"5 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 MAXEXTENTS 2147483"
"645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLE"
"SPACE "SYSTEM""
. . 正在跳过表 "A"
"CREATE TABLE "B" ("A" NUMBER, "B" VARCHAR2(10)) PCTFREE 10 PCTUSED 40 INIT"
"RANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 131072 NEXT 65536 MINEXTENTS 1 "
"MAXEXTENTS 2147483645 PCTINCREASE 50 FREELISTS 1 FREELIST GROUPS 1 BUFFER_P"
"OOL DEFAULT) TABLESPACE "SYSTEM""
. . 正在跳过表 "B"
成功终止导入,但出现警告。
E:\>
4、使用编辑器打开logb.txt,里面可以看到DDL语
5. 当然,exp和imp命令也可以sqlplus中输入执行,但要写成如下格式:
SQL>host exp.......
或
SQL>host imp.......
即可。
分享到:
相关推荐
2. **修改EXP参数**:在执行exp命令时,可以尝试添加参数`rows=n`,即使表为空也会导出表结构。例如: ``` exp user/pwd file=export.dmp rows=y ``` 3. **使用Data Pump Export (expdp)**:Oracle推荐使用Data ...
对于开发人员来说,编写PL/SQL脚本来导出表结构也是一种常见的方法。通过查询数据字典视图(如USER_TABLES, USER_TAB_COLUMNS等),可以生成创建表的DDL语句,然后执行这些语句即可在目标环境中重建表结构。 6. **...
然而,Oracle11g在设计时默认对空表不分配segment,因此在使用exp导出数据库时,空表不会被包含在导出文件中。这对于完整备份和恢复所有表的场景来说,可能是一个问题。下面,我们将详细讨论如何处理这个问题,以及...
通过这个脚本,开发者和DBA可以在不依赖Oracle的EXP工具的情况下,灵活地管理和备份Oracle数据库的表结构。 总的来说,这个Unix脚本提供了一种自定义的、灵活的方式来卸载Oracle表结构,它能够适应不同的需求,特别...
要导出特定的表,可以使用`tables`参数,如`exp seapark/seapark file=tank log=tank tables=tank`,或者同时导出多个表,如`exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)`。...
EXP是Oracle Data Pump Export工具的旧版本,它允许用户选择性地导出数据库表、模式、用户或者整个数据库。在本文中,我们将深入探讨Oracle的EXP备份以及相关知识点。 1. **Oracle Data Pump Export(EXP)工具**...
- **逻辑导出**:脚本中的关键部分是调用Oracle的逻辑导出工具,通常是`expdp`或`exp`命令,用于导出数据库对象。在这个脚本中,通过`su-oracle-c`命令切换到Oracle用户,并执行`mydbexport.ksh`脚本来进行逻辑导出...
1. **编写exp.sh脚本**: 脚本内容应包含使用exp命令导出分区表的语句,通常位于`/sms`目录下。 2. **设置执行权限**: 使用`chmod 755 /sms/exp.sh`命令赋予脚本执行权限,确保crontab能正确调用。 3. **配置crontab...
这是因为如果表很大,导入统计信息会花费很长的时间,因此选择不导入统计信息以加快导入速度。 **正确导出方式**: ```plaintext exp test/test@orcl file=E:\test.dmp full=y ``` 该命令表示导出test用户下的所有...
导入时可以进行数据验证、忽略错误、只导入表结构等操作。例如: ```bash impdp username/password directory=DIR_NAME dumpfile=data.dmp logfile=impdp.log remap_schema=oldschema:newschema ``` 这里,`...
在导出数据时可以指定只导出表结构而不包含数据: ```sql exp [username/password@database] file=export_file.dmp tables=(table1, table2) log=export.log rows=n ``` 在导入数据时可以选择忽略某些错误: ```sql...
导出表结构(不含数据) 同样地,如果只想导出表的结构而不包含数据,也可以使用 `-d` 参数: ```bash mysqldump -u 用户名 -p 密码 -d 数据库名 表名 > 导出的文件名 ``` 例如,仅导出 `date_rec_drv` 表的结构...
如果只导出表的结构(建表语句),不导出表的数据,可用Tools–Export User Objects 选中要导出的表,设置好导出的路径和各个参数后,点击ExportOK PS:这种方式只能导出属于这个用户的表,其他用户的表不能...
当需要导出表结构、数据以及相关对象(如触发器、函数)时,可以选择`Tools`菜单下的`Export Tables`。该功能提供了三种导出方式: 1. **Oracle Export**:导出为`.dmp`文件,这是Oracle的二进制格式,具有跨平台性...
5. **生成CREATE(创建)脚本**:创建表的脚本需要通过查询Oracle的系统视图如`USER_TABLES`或`ALL_TAB_COLUMNS`来获取表结构,然后构造`CREATE TABLE`语句。这涉及到数据库查询和结果解析,可以使用Oracle的`...
例如,首先使用exp.exe将源数据库中的数据导出,然后在目标环境中创建相应的数据库结构,接着使用imp.exe将导出的数据导入新环境中,最后通过sqlplus.exe执行必要的调整和验证,确保数据的一致性和完整性。...
在Oracle9i版本中,EXP 和 IMP 提供了对数据库对象(如表、索引、存储过程等)和数据的导出与导入功能。EXP 可以创建一个转储文件,包含所有选定对象的定义和数据。这个转储文件可以在需要的时候通过IMP导入到其他...
3. **备份执行**:使用`exp`命令导出数据库至指定目录下的文件(`$DATA_DIR/investtest$BAKUPTIME.dmp`),同时记录日志至`$LOGS_DIR/investtest$BAKUPTIME.log`。 4. **旧备份清理**:通过`export DELTIME=`date -d...