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使用。