Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Совмещение сессий  [new]
HOME_X
Member

Откуда:
Сообщений: 2540
Доброго дня уважаемые господа !

Имею BASE1 (база Oracle)
create global temporary table F1

BASE2 (база Oracle)
create view LIST1 as select * from F1@BASE1
create table T1
create table T2
create table T3

BASE1 (база Oracle)
create view EXEC as
select * from LIST1@BASE2 +
select * from T1@BASE2 +
select * from T2@BASE2 +
select * from T3@BASE2 +

Т.е. create view LIST1 as select * from F1@BASE1
- создан чтобы удаленный вызов шел только
по обьектам своей базы данных

Делаю на BASE1
insert into F1 values('gggg');
select * from EXEC;

Теперь вопрос - при таком взаимодействии используеться
ДВЕ сессии
1. - прямой вызов из BASE1 = select * from EXEC
2. - обратный вызов из LIST1@BASE2 = select * from F1@BASE1

Соответственно так как таблица F1 global temporary
данные не видны - другая сессия ...........

Вопрос - ДУРНОЙ !!!!!!!!!!!!!!!!!!!!!!
можно ли это совместить ! (сессии)
Если ДА - то как именно ?

P.S. - проще сделать F1 = обыкновенной table и commit;

Спасибо ...
14 фев 11, 17:57    [10234299]     Ответить | Цитировать Сообщить модератору
 Re: Совмещение сессий  [new]
_Nikotin
Member

Откуда: СПб
Сообщений: 2965
Версия ?
До 11.2 GTT + распределенные транзакции не поддерживаются.
14 фев 11, 18:15    [10234400]     Ответить | Цитировать Сообщить модератору
 Re: Совмещение сессий  [new]
HOME_X
Member

Откуда:
Сообщений: 2540
_Nikotin,

Увы ....
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
14 фев 11, 18:20    [10234415]     Ответить | Цитировать Сообщить модератору
 Re: Совмещение сессий  [new]
_Nikotin
Member

Откуда: СПб
Сообщений: 2965
HOME_X,

тогда вот
Oracle® Database SQL Reference 10g Release 2 (10.2)
Restrictions on Temporary Tables Temporary tables are subject to the following restrictions:
  • Temporary tables cannot be partitioned, clustered, or index organized.
  • You cannot specify any foreign key constraints on temporary tables.
  • Temporary tables cannot contain columns of nested table.
  • You cannot specify the following clauses of the LOB_storage_clause: TABLESPACE, storage_clause, or logging_clause.
  • Parallel DML and parallel queries are not supported for temporary tables. Parallel hints are ignored. Specification of the parallel_clause returns an error.
  • You cannot specify the segment_attributes_clause, nested_table_col_properties, or parallel_clause.
  • Distributed transactions are not supported for temporary tables.
  • 14 фев 11, 18:26    [10234437]     Ответить | Цитировать Сообщить модератору
     Re: Совмещение сессий  [new]
    HOME_X
    Member

    Откуда:
    Сообщений: 2540
    _Nikotin,

    Принято ...обидно

    Подскажите пожалуйста - хочу вышеуказанное ПОПЫТАТЬСЯ определить Hintами

    Т.е. заставить Oracle -
    - выполнить запрос на локальной базе результат
    - снести (материализовать) в удаленной ...
    - далее выполнить связь с обьектами удаленной базы...
    - вернуть на локальную

    Делаю ..
    with AA as(select /*+ 
                          11INLINE
                          MATERIALIZE
                      */
                      * 
                 from A1
              ),
         BB as(select /*+ 
                          11INLINE
                          11MATERIALIZE
                      */
                      1 
                 from MAIN@REMOTE
              ) 
    select /*+ 
               DRIVING_SITE(BB)
           */
           *
      from AA,BB
    where AA.DAY=BB.DAY
    

    Вижу оптимизацию
    SELECT STATEMENT REMOTE, GOAL = ALL_ROWS			176795	216272950	1946456550
     MERGE JOIN CARTESIAN			176795	216272950	1946456550
      REMOTE		A1	2	82	738
      BUFFER SORT			176793	2637475	
       INDEX FAST FULL SCAN	ANDREW	MAIN#DAY	2156	2637475	
    

    Можно ли считать задачу выполенной ?

    Спасибо
    14 фев 11, 19:09    [10234629]     Ответить | Цитировать Сообщить модератору
    Все форумы / Oracle Ответить