1. oracle 怎么导出数据表结构
1.在cmd中输入 exp username/password@连接串
回车,在进入如下时,输入no,就ok了
导出表数据(yes/no):yes> no
2.
进入plsql
找到table那个大项,点出来,下边会罗列出许多表
右键点中你所需要的那个表名
找到DBMS_Metadata
然后选项里有ddl
弹出来那个窗口就是你的表结构,拷贝出来直接在另一个库里执行就可以啦
-----------------------------补充------------------------
PLSQL里
tools下
export user objects of
按shift批量选择表
执行就行了
3
exp/imp工具;
带参数:rows=y —— 带数据导出导入;
rows=n —— 不带数据的导出导入,只移植结构
只导出3张表的结构:
exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=n file=c:\1.dmp
连带数据导出:
exp user/pasword@dbServerName owner=user tables=(tb1,tb2,tb3) rows=y file=c:\2.dmp
imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\1.dmp
或者
imp user2/pasword@dbServerName2 fromuser=user touser=user2 file=c:\2.dmp
3
方法一:
exp userid=scott/tiger owner=scott
imp userid=scott/tiger full=y indexfile=scott.sql
……
more scott.sql
REM CREATE TABLE "SCOTT"."BONUS" ("ENAME" VARCHAR2(10), "JOB"
REM VARCHAR2(9), "SAL" NUMBER, "COMM" NUMBER) PCTFREE 10 PCTUSED 40
REM INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST
REM GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS ;
REM ... 0 rows
REM CREATE TABLE "SCOTT"."DEPT" ("DEPTNO" NUMBER(2, 0), "DNAME"
REM VARCHAR2(14), "LOC" VARCHAR2(13)) PCTFREE 10 PCTUSED 40 INITRANS 1
REM MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1)
REM TABLESPACE "USERS" LOGGING NOCOMPRESS ;
REM ... 4 rows
REM CREATE TABLE "SCOTT"."DUMMY" ("DUMMY" NUMBER) PCTFREE 10 PCTUSED 40
REM INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST
REM GROUPS 1) TABLESPACE "USERS" LOGGING NOCOMPRESS ;
REM ... 1 rows
REM CREATE TABLE "SCOTT"."EMP" ("EMPNO" NUMBER(4, 0) NOT NULL ENABLE,
REM "ENAME" VARCHAR2(10), "JOB" VARCHAR2(9), "MGR" NUMBER(4, 0),
REM "HIREDATE" DATE, "SAL" NUMBER(7, 2), "COMM" NUMBER(7, 2), "DEPTNO"
REM NUMBER(2, 0)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
REM STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE
REM "USERS" LOGGING NOCOMPRESS ;
REM ... 14 rows
REM CREATE TABLE "SCOTT"."SALGRADE" ("GRADE" NUMBER, "LOSAL" NUMBER,
REM "HISAL" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
REM STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE
REM "USERS" LOGGING NOCOMPRESS ;
REM ... 5 rows
…………
把前面的REM去了,再去掉最后一行,创建表的DDL就OK了。
方法二:
set pagesize 0
set long 90000
set feedback off
set echo off
spool get_allddl.sql
connect USERNAME/PASSWORD@SID;
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
FROM USER_INDEXES u;
spool off;
My Test:
set pagesize 0
set long 90000
set feedback off
set echo off
spool get_allddl.sql
connect username/password@database;
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u where table_name = 'USER_INFO';
spool off;
SET HEADING OFF;
SET ECHO OFF;
SET LONG 90000;
SPOOL D:\test.txt
SELECT dbms_metadata.get_ddl('TABLE','USER_INFO') FROM SYS.DBA_USERS WHERE USERNAME = 'GINGKO';
SPOOL OFF;
2. 请问oracle数据库如何导出数据库的表结构
oracle数据库导出数据库的表结构:
1、电脑键盘同时按windows键和R键
(2)oracle导出表命令扩展阅读:
数据导出数族返据库的命令总结:
1 将数据库zxcc完全导出,用户名kf 密码zx 导出到D:zxcc.dmp中
exp kf/zx@zxcc file=d:zxcc.dmp full=y (一般full=n,否则会全库的所有对象导出)
(exp user/[email protected]/orcl10g file=F:/fileSys.dmplog=F:/fileSys.log
statistics=nonetables=file_attach,file_tree,file_permission)
full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。
2 将数据库zxcc中kf用户与cc用户的表导出
exp kf/zx@zxcc file=d:zxcc_ur.dmp owner=(kf,cc)
full方式可以备份所有用户的数据库对象,包括表空间、兆饥饥用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了肢携,EXP中full=y和owner=XX是不能同时使用的。
3 将数据库zxcc中的表kf_operator、kf_role导出
exp kf/zx@zxcc file= d:zxcc_tb.dmp tables=(kf_operator,kf_role)
tables=xx 表示备份相关表,不能同时和owner、full使用。