Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка при перекладывании из удалённой БД в локальную / 16 сообщений из 16, страница 1 из 1
28.11.2017, 17:29
    #39560744
Yura581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Здравствуйте уважаемые форумчане.
У меня такой вопрос я написал простенький sql запрос в виде анонимного pl sql блока который лезет в удалённую базу данных и делает там селект а потом вставляет полученые данные в локальную БД.
Текст запроса привожу:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
begin
    insert into log(a) values('before inserting profil');
    for r in (select t.n_ob n_ob from fid@AC_DB.LOCALDOMAIN t where rownum = 1) loop
      insert into log(a) values('test value is ' || r.n_ob);
    end loop;
    insert into log(a) values('after inserting profil');    
    commit;
end;



При выполнении этого запроса из sql-окна в pl sql developer-е всё отрабатывает нормально а при выполнении job-а который настроен на выполнение pl sql блока код которого приведен выше а запуск идёт принудительный от пользователя (меня) в таблице log ничего не появляется.

При этом накануне переустанавливали операционную систему, до переустановки всё работало а после перестал работать джоб.

Может кто сталкивался с таким, помогите чем сможете.
...
Рейтинг: 0 / 0
28.11.2017, 17:39
    #39560748
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Yura581в таблице log ничего не появляется.
1. Job или Scheduler?
2. Задание вообще запускается?
3. Статус задания и тексты ошибок уже посмотрели?
...
Рейтинг: 0 / 0
28.11.2017, 18:11
    #39560776
Yura581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
авторJob или Scheduler?

Job.

Задание вообще запускается.

Статус FAILED. Ошибка ORA-04052: error occurred when looking up remote object.
...
Рейтинг: 0 / 0
28.11.2017, 22:19
    #39560900
Ошибка при перекладывании из удалённой БД в локальную
Покажите скрипты:
1. Создания dblink'а.
2. Создания джоба.
...
Рейтинг: 0 / 0
29.11.2017, 12:48
    #39561203
Юра581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Скрипта нету так как я создаю эти объекты из графического интерфейса pl sql developer-а.

При создании dblink-а заполняю следующие поля:

Имя AC_DB.LOCALDOMAIN
Пользователь CNT
Пароль CNT
Строка подключения CNT

При создании job-а заполняю следующие поля:
Name: ConvertDataACToAASE
Enabled: стоит галочка.
Type: PL SQL block
Action:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
--begin
  --converter.convertACtoAASE30minProfil(sysdate - 1, sysdate);
--  converter.convertACtoAASE30minPok(sysdate - 1, sysdate);
--end;
begin
    insert into log(a) values('before inserting profil');
    for r in (select t.n_ob n_ob from fid@AC_DB.LOCALDOMAIN t where rownum = 1) loop
      insert into log(a) values('test value is ' || r.n_ob);
    end loop;
    insert into log(a) values('after inserting profil');    
    commit;
end;



startDate: 28.07.2017 0:15:00
EndDate: 28.07.2050
Frequency: Minutely
Interval: 30
Job Class: DEFAULT_JOB_CLASS
...
Рейтинг: 0 / 0
29.11.2017, 13:24
    #39561237
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Юра581Скрипта нету

В окошках PL/SQL Developer есть кнопка "View SQL".

Код: 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.
69.
Connected to Oracle Database 11g Release 11.2.0.1.0 
Connected as system@DMASLOV

SQL> 
SQL> create database link DBOFFICE
  2    connect to supermag identified by www
  3    using 'DBOFFICE';

Database link created

SQL> create table test1(article varchar2(20) not null);

Table created
SQL> insert into test1 select article from smcard@DBOFFICE where rownum < 11;

10 rows inserted

SQL> commit;

Commit complete


SQL> begin
  2    sys.dbms_scheduler.create_job(job_name            => 'SYSTEM.TEST_JOB',
  3                                  job_type            => 'PLSQL_BLOCK',
  4                                  job_action          => 'begin
  5      insert into test1 select article from smcard@DBOFFICE where rownum < 11;
  6    end;',
  7                                  start_date          => to_date(null),
  8                                  repeat_interval     => 'Freq=Minutely;Interval=1',
  9                                  end_date            => to_date(null),
 10                                  job_class           => 'DEFAULT_JOB_CLASS',
 11                                  enabled             => true,
 12                                  auto_drop           => false,
 13                                  comments            => '');
 14  end;
 15  /

PL/SQL procedure successfully completed

SQL> select count(1) from test1;

  COUNT(1)
----------
        20

SQL> select count(1) from test1;

  COUNT(1)
----------
        20

SQL> select count(1) from test1;

  COUNT(1)
----------
        20

SQL> select count(1) from test1;

  COUNT(1)
----------
        20

SQL> select count(1) from test1;

  COUNT(1)
----------
        40

...
Рейтинг: 0 / 0
29.11.2017, 13:52
    #39561256
Yura581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
авторВ окошках PL/SQL Developer есть кнопка "View SQL".

При создании этих объектов эта кнопка не работала. А сейчас не активна.
...
Рейтинг: 0 / 0
29.11.2017, 14:13
    #39561269
K790
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Ради интереса решил посмотреть, что генерит Pl/Sql Dev
только схему надо указать в job_name, автор не указал.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
begin
  sys.dbms_scheduler.create_job(job_name            => 'CONVERTDATAACTOAASE',
                                job_type            => 'PLSQL_BLOCK',
                                job_action          => 'begin
      insert into log(a) values(''before inserting profil'');
      for r in (select t.n_ob n_ob from fid@AC_DB.LOCALDOMAIN t where rownum = 1) loop
        insert into log(a) values(''test value is '' || r.n_ob);
      end loop;
      insert into log(a) values(''after inserting profil'');    
      commit;
  end;',
                                start_date          => to_date('28-07-2017 00:15:00', 'dd-mm-yyyy hh24:mi:ss'),
                                repeat_interval     => 'Freq=Minutely;Interval=30',
                                end_date            => to_date('28-07-2050 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),
                                job_class           => 'DEFAULT_JOB_CLASS',
                                enabled             => true,
                                auto_drop           => false,
                                comments            => '');
end;
/
...
Рейтинг: 0 / 0
29.11.2017, 15:32
    #39561346
Ошибка при перекладывании из удалённой БД в локальную
Если мне не изменяет память, в PL/SQL Developer в правом нижнем углу в каждом окне есть кнопка типа View SQL или как-то так.
Впрочем, ладно.
Вы объекты создаёте и проверяете "При выполнении этого запроса из sql-окна в pl sql developer-е всё отрабатывает нормально" под одним и тем же юзером?
...
Рейтинг: 0 / 0
29.11.2017, 16:43
    #39561423
Yura581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
авторВы объекты создаёте и проверяете "При выполнении этого запроса из sql-окна в pl sql developer-е всё отрабатывает нормально" под одним и тем же юзером?

Я думаю что да. Job и SQL-окно принадлежат одному пользователю ASKUE. Но когда я просматривал сетевым снифером что PL/SQL developer отправляет при выполнении запроса из SQL окна он отправляет запрос

Код: plsql
1.
select A.n_ob from fid A where rownum = 1



т.е. такое ощущение что он не использует dblink а напрямую лезет в БД. А при выполнении job-а он пытается установить новое соединение но не известно от какого пользователя, но если бы пользователь был другой то нельзя было бы запустить job на выполнение.
...
Рейтинг: 0 / 0
29.11.2017, 16:57
    #39561432
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Yura581При этом накануне переустанавливали операционную систему, до переустановки всё работало

Где переустанавливали? На сервере локальной БД, на сервере удалённой БД?
...
Рейтинг: 0 / 0
29.11.2017, 17:38
    #39561478
K790
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Yura581,

покажите
Код: plsql
1.
SELECT OWNER, OBJECT_TYPE, TEMPORARY, SHARING FROM ALL_OBJECTS WHERE OBJECT_NAME = 'FID'


и
Код: plsql
1.
SELECT OWNER, CREATED, HOST, USERNAME FROM ALL_DB_LINKS WHERE DB_LINK = 'AC_DB.LOCALDOMAIN'
...
Рейтинг: 0 / 0
29.11.2017, 21:01
    #39561604
CrazyCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Юра581Скрипта нету так как я создаю эти объекты из графического интерфейса pl sql developer-а.
этим все и сказано. нынешнее поколение... :(
...
Рейтинг: 0 / 0
30.11.2017, 16:54
    #39562080
Yura581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
авторГде переустанавливали? На сервере локальной БД, на сервере удалённой БД?

Конфигурация такая: на хостовой машине Windows 8.1 Pro находится БД Oracle XE 11g на этой же машине на виртуалке WMware находится Windows Xp с Oracle 9i. Физический сетевой адаптер обьеденён через мост с виртуальным сетевым адаптером XP.

Операционку переустанавливали на хостовой машине а виртуалку перенесли посредством подкладывания файлов данных виртуальной машины WMware.

авторпокажите

Код: plsql
1.
SELECT OWNER, OBJECT_TYPE, TEMPORARY, SHARING FROM ALL_OBJECTS WHERE OBJECT_NAME = 'FID'



автор
Код: plsql
1.
SELECT OWNER, CREATED, HOST, USERNAME FROM ALL_DB_LINKS WHERE DB_LINK = 'AC_DB.LOCALDOMAIN'



В прикреплённом файле.
...
Рейтинг: 0 / 0
30.11.2017, 17:03
    #39562087
Yura581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
Что-то не нашел я тот файл что прикреплял, поэтому так вставлю.

K790покажите

Код: plsql
1.
SELECT OWNER, OBJECT_TYPE, TEMPORARY, SHARING FROM ALL_OBJECTS WHERE OBJECT_NAME = 'FID'



Код: plsql
1.
SELECT OWNER, CREATED, HOST, USERNAME FROM ALL_DB_LINKS WHERE DB_LINK = 'AC_DB.LOCALDOMAIN'



"OWNER""OBJECT_NAME""SUBOBJECT_NAME""OBJECT_ID""DATA_OBJECT_ID""OBJECT_TYPE""CREATED""LAST_DDL_TIME""TIMESTAMP""STATUS""TEMPORARY""GENERATED""SECONDARY""CNT""FID""""6405""6405""TABLE""25.07.2017 19:48:26""25.07.2017 19:48:55""2017-07-25:19:48:26""VALID""N""N""N"

и

"OWNER""CREATED""HOST""USERNAME""ASKUE""29.11.2017 12:46:49""CNT""CNT"
...
Рейтинг: 0 / 0
30.11.2017, 17:46
    #39562127
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при перекладывании из удалённой БД в локальную
"HOST""CNT"

ORA-04052: error occurred when looking up remote object.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка при перекладывании из удалённой БД в локальную / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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