Как я могу сбросить JDBC оракула? - PullRequest
0 голосов
/ 24 декабря 2018

Я начал изучать Java месяц назад.Сегодня я изучал некоторые фразы SQL, необходимые для создания веб-сайтов с использованием JSP и сервлетов.

Я использовал SQL Developer и JDBC.После некоторой манипуляции со вставкой / удалением / обновлением, я случайно нажал «коммит» вместо «откат».Поэтому некоторые из моих данных в определенных таблицах потеряны, и я тоже ...

Я думаю, что должен удалить и переустановить JDBC, чтобы получить все основные данные, которые предлагает Oracle.Но я хотел бы попросить некоторую помощь здесь, прежде чем сделать это, если есть какой-то более простой способ.

Может кто-нибудь помочь мне, пожалуйста?Заранее спасибо.Я не уверен, поможет ли это, но вот SQL, который я использовал:


INSERT INTO DEPARTMENTS VALUES(280, 'DataAnalytics', null, 1700);

INSERT INTO DEPARTMENTS (DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID,
LOCATION_ID) VALUES(280, 'DataAnalytics', null, 1700); 

UPDATE emps SET SALARY=30000WHEREEMPLOYEE_ID=101; 

UPDATE EMPS SET (JOB_ID, SALARY, MANAGER_ID)= (SELECT JOB_ID, SALARY,
MANAGER_ID FROM EMPS WHERE EMPLOYEE_ID=108) WHERE EMPLOYEE_ID=109; 

DELETE FROM EMPS WHERE EMPLOYEE_ID=108; DELETE FROM EMPLOYEES WHERE
EMPLOYEE_ID=103;

1 Ответ

0 голосов
/ 24 декабря 2018

Я думаю, вы можете путать JDBC с SQL.JDBC - это сокращение от Java Database Connectivity, и это стандарт Java, используемый для подключения из Java к реляционным базам данных (см. Документацию Oracle по JDBC здесь: https://docs.oracle.com/en/database/oracle/oracle-database/18/jjdbc/introducing-JDBC.html#GUID-864DB502-5E50-4044-8132-33D6AAF8927A). В зависимости от того, какую версию Oracle Database вы используетеверсия драйвера JDBC и используемый клиент, вы можете обнаружить, что вам не хватает некоторых функций, но эта функция, вероятно, полностью отделена от используемого вами SQL.

Когда вы используете SQL Developer для подключения вы можете использовать JDBC соединение, но, по всей вероятности, вы используете либо базовый тип соединения, либо тип соединения TNS. Это не зависит от JDBC. SQL, который вы использовали с SQL Developer, изменил данные, потому что этодля чего используется SQL. SQL - это сокращение от языка структурированных запросов, и он широко используется для управления данными в реляционных базах данных.

Используя SQL Developer, вы должны иметь доступ ко всем стандартным функциям Oracle.предложить. Возможно, вам не хватает некоторых функций, но это совершенно нормально, если вы или ваша организацияУ него нет лицензионного соглашения с Oracle, и они не настроили эти функции.Переустановка JDBC не изменит этого.

Чего вы пытаетесь достичь?Если вы хотите восстановить ваши данные, JDBC не имеет к этому никакого отношения.Вам потребуется: 1. Flashback база данных или таблица (в зависимости от используемой версии Oracle), которая восстановит базу данных (или соответствующий объект (ы)) до определенного момента времени доВы выполнили эти команды SQL.2. Используйте OEM или RMAN, чтобы восстановить базу данных за время до того, как вы выполнили эти команды SQL, или 3. Удалите соответствующие данные и заново создайте (или повторно импортируйте) ваши данные.

Поскольку вы committed выполняете транзакцию для манипулирования этими данными, скорее всего, это будут ваши единственные варианты восстановления базы данных, как это было.Если вы знаете исходные значения, которые принадлежат этим таблицам, я полагаю, что вы могли бы также написать больше SQL, чтобы изменить значения обратно на исходные.Это может привести к желаемому результату, но имейте в виду, что этот метод (и вариант № 3) не будет считаться восстановлением, и все изменения, которые вы сделали до этого момента, все равно будут оставаться в истории транзакций.Если это не имеет значения, это может быть самый простой путь для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...