Описание базы

Katrina07
Дата: 21.11.2008 13:17:15
Привет всем!

Необходимо создать скрипты Create table для всех существующих таблиц базы.
Есть ли какая-нибудь программа или можно как-то еще это сделать?
аналогично

select text from dba_source 
where owner=<user> 
and name=<object_name> 
and type=<object_type> order by line; 

Это работает для процедур, функций и пакетов.

Вопрос касается не только таблиц, но и всех объектов базы данных
pravednik
Дата: 21.11.2008 13:19:16
Wladislaw
Дата: 21.11.2008 13:19:32
dbms_metadata вам в помощь...
Katrina07
Дата: 24.11.2008 11:59:21
Спасибо!
Частично помогло:
изготовила скрипт типа
spool 1_table.sql
select dbms_metadata.get_ddl('TABLE','1',USER) from dual;
spool off
spool 2_table.sql
select dbms_metadata.get_ddl('TABLE','2',USER) from dual;
spool off

С одним пользователем все отлично получилось.
Пробую с другим - в файл пишется так:

CREATE TABLE "схема"."таблица"
( "ORIG_QUALIFI

и все. Кусок какой-то.
В чем может быть проблема?

Заранее спасибо!
pravednik
Дата: 24.11.2008 12:02:57
set long
Katrina07
Дата: 24.11.2008 12:13:01
pravednik
set long


не помогает :(
pravednik
Дата: 24.11.2008 12:18:51
Katrina07
pravednik
set long


не помогает :(

покажите как делаете......
SQL> show long
long 80
SQL>
SQL> create table t (x number);

Table created.

Elapsed: 00:00:00.45
SQL> select dbms_metadata.get_ddl('TABLE','T') from dual;

DBMS_METADATA.GET_DDL('TABLE','T')
--------------------------------------------------------------------------------

  CREATE TABLE "SYS"."T"
   (    "X" NUMBER
   ) PCTFREE 10 PCTUSED 40 INITRANS 1


Elapsed: 00:00:04.31
SQL> set long 200000
SQL> select dbms_metadata.get_ddl('TABLE','T') from dual;

DBMS_METADATA.GET_DDL('TABLE','T')
--------------------------------------------------------------------------------

  CREATE TABLE "SYS"."T"
   (    "X" NUMBER
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM"



Elapsed: 00:00:00.68
Katrina07
Дата: 24.11.2008 12:26:30
pravednik,

понятно вроде :)

SQL> show long
SQL>  create table t (x number);

SQL> select dbms_metadata.get_ddl('TABLE','T') from dual;
 
  CREATE TABLE "DATAMART"."T"
   (	"X" NUMBER
   ) PCTFREE 10 PCTUSED 40 IN
 
SQL> set long 200000

SQL> select dbms_metadata.get_ddl('TABLE','T') from dual;
 
  CREATE TABLE "DATAMART"."T"
   (	"X" NUMBER
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 163840 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "USERS"
pravednik
Дата: 24.11.2008 12:41:10
Katrina07,

то есть, у Вас уже все ок ?
Katrina07
Дата: 01.12.2008 12:14:19
pravednik, ивините а глупый вопрос, но как избавиться от