powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Materialized view поменял пользователя
8 сообщений из 8, страница 1 из 1
Materialized view поменял пользователя
    #39566524
usmazat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!Ситуация следующая Есть база oracle 10g на одном сервере, есть web- интерфейс работающий на другом сервере с использованием web-server Tomcat использующий эту базу через JDBC
<Resource name="jdbc/IEML_DB" auth="Container" type="javax.sql.DataSource"
maxActive="350" maxIdle="350" maxWait="50000"
poolPreparedStatements="false"
username="educ" password="*******"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@//192.168.1.8:1521/moon.ieml.ru"
accessToUnderlyingConnectionAllowed="true"
removeAbandoned="true" removeAbandonedTimeout="300"
logAbandoned="true" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

>
Томсat использует пользователя EDUC
Для проверки возможностей expdp/imdp бы л сделан полный дамп схемы educ через параметр schemas в par файле
Затем на этом же базе был создан пользователь real_test c dba правами и был слелал импорт через imdp
impdp real_test/****** REMAP_SCHEMA=educ:real_test directory=backup_dir dumpfile=dump_test_17-12-08.dmp logfile=dump_test_2017-12-08.log parallel=2

Импорт прошел успешно
в исходной схеме educ имелись materialized view
Почему в логи томката стали вываливыаться ошибки свЯзаные со схемой real_test
error encountered while refreshing materialized view " REAL_TEST" ."TT_SUM_FUTURE_LESSONS"
ORA-12034: materialized view log on " REAL_TEST "."TT_FUTURE_LESSONS" younger than last refresh

хотя файл с настройками для томката не изменялся по прежнему использует пользователя educ?
oracle 10.2.0.5
Tomcat 7.0.67
RHEL 6.6
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566546
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте ТЭГи, так читать гораздо удобнее:
usmazatДобрый день!Ситуация следующая Есть база oracle 10g на одном сервере, есть web- интерфейс работающий на другом сервере с использованием web-server Tomcat использующий эту базу через JDBC
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<Resource name="jdbc/IEML_DB" auth="Container" type="javax.sql.DataSource"
               maxActive="350" maxIdle="350" maxWait="50000"
               poolPreparedStatements="false"
               username="educ" password="*******"
               driverClassName="oracle.jdbc.driver.OracleDriver"
               url="jdbc:oracle:thin:@//192.168.1.8:1521/moon.ieml.ru"
               accessToUnderlyingConnectionAllowed="true"
                   removeAbandoned="true" removeAbandonedTimeout="300"
           logAbandoned="true" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

>


Томсat использует пользователя EDUC
Для проверки возможностей expdp/imdp бы л сделан полный дамп схемы educ через параметр schemas в par файле
Затем на этом же базе был создан пользователь real_test c dba правами и был слелал импорт через imdp
Код: plsql
1.
impdp real_test/****** REMAP_SCHEMA=educ:real_test  directory=backup_dir  dumpfile=dump_test_17-12-08.dmp logfile=dump_test_2017-12-08.log parallel=2


Импорт прошел успешно
в исходной схеме educ имелись materialized view
Почему в логи томката стали вываливыаться ошибки свЯзаные со схемой real_test
Код: plsql
1.
2.
error encountered while refreshing materialized view "REAL_TEST"."TT_SUM_FUTURE_LESSONS"
ORA-12034: materialized view log on "REAL_TEST"."TT_FUTURE_LESSONS" younger than last refresh


хотя файл с настройками для томката не изменялся по прежнему использует пользователя educ?
oracle 10.2.0.5
Tomcat 7.0.67
RHEL 6.6

Дока
Код: plsql
1.
2.
3.
4.
5.
$ oerr ora 12034
12034, 0000, "materialized view log on \"%s\".\"%s\" younger than last refresh"
// *Cause:  The materialized view log was younger than the last refresh.
// *Action: A complete refresh is required before the next fast refresh.
//


КМК, impdp создал matview в REAL_TEST[/b]"."TT_FUTURE_LESSONS
Но между моментами создания snapshot, snapshot log и заливкой данных, часть записей попало в MVIEW, возникла рассинхронизация, чтобы ее исправить, предлагается выполнить complete refresh
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566558
usmazat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно что impdp его создал в схеме REAL_TEST ,вопрос в том почему Tomcat при явном указании схемы educ c materialized view
на схеме REAL_TEST ?
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566616
usmazat,

Почему ты решил, что томкат показывает тебе ошибки только своей рабочей схемы, а не всего сервера?
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566642
usmazat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,потому что эти ошибки возникали при обращении через web-интерфейс а tomcat'у явно задан пользователь
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566720
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
usmazat,

А как иначе? Теперь у тебя два MV на один MV LOG. Так что после создания MV в educ придется делать full refresh MV в REAL_TEST. Данные изменений в MV LOG то тютю :)

SY.
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566734
usmazat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYusmazat,

А как иначе? Теперь у тебя два MV на один MV LOG. Так что после создания MV в educ придется делать full refresh MV в REAL_TEST. Данные изменений в MV LOG то тютю :)

SY.
т.е получается это возникало из-за того что в REAL_TEST после imdp не было materiliazed view логов?
...
Рейтинг: 0 / 0
Materialized view поменял пользователя
    #39566748
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
usmazat,

Для начала поговорим о remap_schema - очень скользкий инструмент . Посколько он используется в IMPDP то не remap'ает многие вещи. Например refresh group будет в новой схеме а вот children в нем остануться старые бо они добавляются через вызов пакета где MV_OWNER.MV_NAME параметры вызова которые remap не парсит (да и найдя в коде слово OLD_SCHEMA далеко не значит меняем на NEW_SCHEMA). Я лет 5 назад заполнил enhancement request на remap schema в EXPDP когда ясно "who is who".
Так-что смотри проверь refresh group если используется. Теперь о MV LOG. MV REAL_TEST.TT_SUM_FUTURE_LESSONS обновилось в час X. В следующий раз в час Y для fast refresh нужны изменения начиная с час X. Однако до наступлeния часа Y мы пытаемся создать еще одно fast refresh MV на ту же таблицу. Первый раз MV создается через full refresh (prebuilt table пока оставим в покое) и обнуляет MV LOG что сделает fast refresh MV REAL_TEST.TT_SUM_FUTURE_LESSONS невозможным если в MV LOG что-то было:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
SQL> show user
USER is "SCOTT"
SQL> create materialized view log on emp;

Materialized view log created.

SQL> create materialized view u1.emp_vw
  2  refresh fast
  3  on demand
  4  as select * from emp
  5  /

Materialized view created.

SQL> create materialized view u2.emp_vw
  2  refresh fast
  3  on demand
  4  as select * from emp
  5  /

Materialized view created.

SQL> drop materialized view u1.emp_vw
  2  /

Materialized view dropped.

SQL> drop materialized view u2.emp_vw
  2  /

Materialized view dropped.

SQL> drop materialized view log on emp
  2  /

Materialized view log dropped.

SQL> show user
USER is "SCOTT"
SQL> create materialized view log on emp;

Materialized view log created.

SQL> create materialized view u1.emp_vw
  2  refresh fast
  3  on demand
  4  as select * from emp
  5  /

Materialized view created.

SQL> update emp set sal = sal
  2  /

14 rows updated.

SQL> create materialized view u2.emp_vw
  2  refresh fast
  3  on demand
  4  as select * from emp
  5  /
create materialized view u2.emp_vw
*
ERROR at line 1:
ORA-12034: materialized view log on "SCOTT"."EMP" younger than last refresh


SQL> 



SY.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Materialized view поменял пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]