请问怎么获得所有User的创建代码

[复制链接]
查看11 | 回复8 | 2008-10-24 13:20:44 | 显示全部楼层 |阅读模式
如题
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
创建代码是什么东西?
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
expdp rows=N以后
使用
impdp 有一个SQLFILE 参数。
Write all the SQL DDL to a specified file.
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
使用上使用toad也可以。
我个人喜欢使用exp rows=n导出,然后使用toad自带的browser来看。
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
哦,谢谢大家,请问有没有SQL直接可以查询出所有user的创建代码呢?(不包含sys/system也可以)
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
使用toad查询也不需要。
http://dbs.blogcn.com/diary,21319021.shtml
这个是所有用户的创建DLL
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;
这个是所有表的DLL
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;
所有表空间的DLL
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;
组合一下,所有表,索引存储过程
SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)
FROM USER_OBJECTS u
where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
dbms_metadata.GET_DDL.
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
哦,(*^__^*) 谢谢大家哦!
回复

使用道具 举报

千问 | 2008-10-24 13:20:44 | 显示全部楼层
原帖由 lfree 于 2009-1-22 10:46 发表
使用toad查询也不需要。
http://dbs.blogcn.com/diary,21319021.shtml
这个是所有用户的创建DLL
SELECT DBMS_METADATA.GET_DDL('USER',U.username)
FROM DBA_USERS U;
这个是所有表的DLL
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
FROM USER_TABLES u;
所有表空间的DLL
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS;
组合一下,所有表,索引存储过程
SELECT DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, u.object_name)
FROM USER_OBJECTS u
where U.OBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');

GOOD~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行