如何导出oracle 11g中的数据库的数据字典

如何导出oracle 11g中的数据库的数据字典,第1张

-- 查询某表的数据字典

SELECT A.TABLE_NAME AS 表名,A.COLUMN_NAME AS 字段名,

DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),

A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as 字段类型1,A.DATA_TYPE AS 字段类型,A.DATA_PRECISION AS 有效位,A.DATA_SCALE AS 精度值,

A.CHAR_LENGTH AS 字段长度,A.NULLABLE AS 能否为空

FROM sys.user_tab_columns A where A.table_name = 'TAM_ADDRESS'

-- 具有dba权限用户导出数据字典

SELECT A.TABLE_NAME AS 表名,A.COLUMN_NAME AS 字段名,

DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),

A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as 字段类型,A.DATA_DEFAULT AS 默认值,

A.NULLABLE AS 能否为空,B.comments AS 备注

FROM sys.all_tab_columns A,sys.DBA_COL_COMMENTS B

WHERE A.owner=B.owner AND A.table_name=B.table_name AND A.COLUMN_NAME=B.COLUMN_NAME AND A.owner='guoqiang' AND

A.TABLE_NAME IN (

'TB_SUBJECT', 'TB_SUBJECT_BALANCE', 'TB_VOUCHER', 'TB_VOUCHER_DETAILS',

'TB_CUSTOMER', 'TB_VOUCHER_CLASSIFY_MODE', 'TB_VOUCHER_TYPE', 'TB_ASSET',

'TB_ASSET_CATALOG', 'TB_M_DM_ASSETS_LIABI_RPT', 'TB_M_DM_PROFIT_RPT',

'TB_M_DM_REVENUE_RPT', 'TB_M_DM_COST_RPT')ORDER BY A.TABLE_NAME

SELECT A.TABLE_NAME AS 表名,A.COLUMN_NAME AS 字段名,

DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),

A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as 字段类型,A.DATA_DEFAULT AS 默认值,

A.NULLABLE AS 能否为空,B.comments AS 备注

FROM sys.user_tab_columns A,sys.user_col_comments B

WHERE A.table_name=B.table_name AND A.COLUMN_NAME=B.COLUMN_NAME AND

A.TABLE_NAME IN (

'TB_SUBJECT', 'TB_SUBJECT_BALANCE', 'TB_VOUCHER', 'TB_VOUCHER_DETAILS',

'TB_CUSTOMER', 'TB_VOUCHER_CLASSIFY_MODE', 'TB_VOUCHER_TYPE', 'TB_ASSET',

1 将数据库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)

3 将数据库中的表table1 、table2导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"

上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

不过在上面命令后面 加上 compress=y 就可以了

在虚拟机中打开运行输入cmd

在d出的命令行中输入:exp用户名/密码@远程oralce数据库的IP:端口号/实例file=存放位置:\文件名.dmpfull=y。

如果不是dba的话会有如下提示

root用户下首先切换到oracle用户命令: su-oracle

导出命令格式如下:expuser/pwd@SIDfile=path/sth.dmp其中:user/pwd是你要导出的表空间的oracle用户的用户名与密码;SID为oracle启动实例,一般为orcl。path是你导出的路径;请注意最后面的sth.dmp不能少。

导入dmp文件-在oracle用户下:两种方法[oracle@system~]impuser/passwdfileName=fielPathfull=y(full不能少)

导入导出在oracle用户下,文件file=路径+dmp的文件名,都不能少。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6780285.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存