今天打算将一个数据库的索引在另一个测试库上重新创建一遍,研究了一下。set pagesize 0set long 90000set feedback offset echo offspool all_indexsqlSELECT DBMS_METADATAGET_DDL('INDEX',uindex_name)FROM USER_INDEXES u;spool off;最后找个编辑器替换一下表空间名,在表空间名后面加上个;然后让ORACLE慢慢执行吧其实是调用DBMS_METADATAGET_DDL这个外部过程来获得创建DLL语句,还能获得很多东西这个是所有用户的创建DLLSELECT DBMS_METADATAGET_DDL('USER',Uusername)FROM DBA_USERS U;这个是所有表的DLLSELECT DBMS_METADATAGET_DDL('TABLE',utable_name)FROM USER_TABLES u;所有表空间的DLLSELECT DBMS_METADATAGET_DDL('TABLESPACE', TStablespace_name)FROM DBA_TABLESPACES TS;组合一下,所有表,索引存储过程SELECT DBMS_METADATAGET_DDL(UOBJECT_TYPE, uobject_name)FROM USER_OBJECTS uwhere UOBJECT_TYPE IN ('TABLE','INDEX','PROCEDURE');另外一个相关的语句生成删除某个用户全部索引的语句
select dbms_lobsubstr(dbms_metadataget_ddl('TABLESPACE',atablespace_name)) from dba_tablespaces a;
oracle数据库的建表语句,具体语法如下:
语法说明:
tablename:在数据库中需要创建的表的表名称,在同一个数据库中的表名称是不能重复的;
column_name:创建的表的列名称,列名称在一个表中也是不能重复的;
datatype:创建的表的列中存放数据的数据类型;
null,not null:允许该列为空或者不为空,默认情况下是不为空;
constraint:为表中的列设置约束,如主键约束,外键约束,唯一约束等。
扩展资料
逻辑结构
它由至少一个表空间和数据库模式对象组成。这里,模式是对象的集合,而模式对象是直接引用数据库数据的逻辑结构。模式对象包括这样一些结构:表、视图、序列、存储过程、同义词、索引、簇和数据库链等。逻辑存储结构包括表空间、段和范围,用于描述怎样使用数据库的物理空间。
总之,逻辑结构由逻辑存储结构(表空间,段,范围,块)和逻辑数据结构(表、视图、序列、存储过程、同义词、索引、簇和数据库链等)组成,而其中的模式对象(逻辑数据结构)和关系形成了数据库的关系设计。
段(Segment):是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。
其中包括:
数据段:用来存放表数据;
索引段:用来存放表索引;
临时段:用来存放中间结果;
回滚段:用于出现异常时,恢复事务。
范围(Extent):是数据库存储空间分配的逻辑单位,一个范围由许多连续的数据块组成,范围是由段依次分配的,分配的第一个范围称为初始范围,以后分配的范围称为增量范围。
数据块(Block):
是数据库进行IO *** 作的最小单位,它与 *** 作系统的块不是一个概念。oracle数据库不是以 *** 作系统的块为单位来请求数据,而是以多个Oracle数据库块为单位。
参考资料来源:百度百科-Oracle数据库
最简单的方法,通过第三方工具plsql。
步骤:
1、登录表所在数据库及用户。
2、在左边的树找到要生成语句的表,比如emp表,在表名上点右键,出现下列菜单:
3、选择DBMS_元数据——>DDL
4、等待出结果即可。
以上就是关于ORACLE下如何获得全部的索引创建语句全部的内容,包括:ORACLE下如何获得全部的索引创建语句、怎么查看oracle 表空间创建语句、oracle建表语句例子有哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)