С некоторых пор некоторые приложения на рабочем компьютере стали выдавать вот такое сообщение (из журнала событий Windows):
Имя журнала: System
Источник: Application Popup
Дата: 05.01.2014 11:21:54
Код события: 26
Категория задачи:Отсутствует
Уровень: Сведения
Ключевые слова:Классический
Пользователь: Н/Д
Компьютер: arys
Описание:
Всплывающее окно приложения: cmd.exe - Диск отсутствует : В устройстве нет диска. Вставьте диск в устройство \Device\Harddisk1\DR11.
Оказалось, что это из-за того, что в переменной среды PATH была ссылка на несуществующий раздел D: (раньше под ним обозначался винчестер, которого теперь нет). Помогло удаление некорректной ссылки из переменной.
воскресенье, 5 января 2014 г.
пятница, 27 декабря 2013 г.
Oracle и дохлый винчестер
Началось все с сообщений о поврежденных файлах табличного пространства USERS (пример сообщения для одного из таких файлов):
26.12.13 17:24:20.523,ORB-12117208(57),ERROR,TransactJob,
com.bssys.db.jdbc.DBSQLException: ORA-01115: ошибка ввода/вывода при чтении блока из файла (блок # )
ORA-01110: файл данных 25: '/mnt/hdd2tb/oracle/ORACLE11/users20.dbf'
ORA-27072: Ошибка ввода/вывода файла
Additional information: 3
Additional information: 3632835
Additional information: 8192
Таких сообщений становилось все больше и больше.
В чем моя ошибка?
Во-первых, в том, что я не включил режим "ARCHIVELOG", поэтому восстановить файлы в RMAN не удалось.
Во-вторых, в том, что я его включил уже после ошибки: это привело к аварийной остановке Oracle, т.к. быстро растущие файлы FAST-RECOVERY сожрали все оставшееся свободное место на HDD с системой.
Ладно, довольно-таки быстро сообразил режим отключить и удалить файлы. Место свободное появилось.
После этого настала очередь борьбы с проблемой: Что делать, если умер HDD с частью табличных пространств и Oracle из-за этого не запускается, сообщая при startup'е:
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: '/mnt/hdd2tb/oracle/ORACLE11/USERS2/users2_07.dbf'
ORA-27037: unable to obtain file status
?
Помогло отключение недостающих DATA-файлов:
alter database datafile '/mnt/hdd2tb/oracle/ORACLE11/users10.dbf' offline drop;
После этого Oracle запустился.
Далее дело техники: либо удалить схемы, которые лежали на недостающих DATA-файлах (drop user cascade;), либо пересоздать табличное пространство
- drop tablespace including contents;
- см. описание "create tablespace".
----после 3-х часов безуспешных попыток удалить датафайлы, чтобы освободить место на диске---
В итоге, на Oracle 11g система не позволяет удалить датафайлы из USERS, сообщая:
SQL> alter tablespace USERS drop datafile '/opt/oracle/oradata/ORACLE11/users25.dbf';
alter tablespace USERS drop datafile '/opt/oracle/oradata/ORACLE11/users25.dbf'
*
ERROR at line 1:
ORA-01662: tablespace 'USERS' is non-empty and cannot be made temporary
Плюнул. Пересоздал БД Oracle.
26.12.13 17:24:20.523,ORB-12117208(57),ERROR,TransactJob,
com.bssys.db.jdbc.DBSQLException: ORA-01115: ошибка ввода/вывода при чтении блока из файла (блок # )
ORA-01110: файл данных 25: '/mnt/hdd2tb/oracle/ORACLE11/users20.dbf'
ORA-27072: Ошибка ввода/вывода файла
Additional information: 3
Additional information: 3632835
Additional information: 8192
Таких сообщений становилось все больше и больше.
В чем моя ошибка?
Во-первых, в том, что я не включил режим "ARCHIVELOG", поэтому восстановить файлы в RMAN не удалось.
Во-вторых, в том, что я его включил уже после ошибки: это привело к аварийной остановке Oracle, т.к. быстро растущие файлы FAST-RECOVERY сожрали все оставшееся свободное место на HDD с системой.
Ладно, довольно-таки быстро сообразил режим отключить и удалить файлы. Место свободное появилось.
После этого настала очередь борьбы с проблемой: Что делать, если умер HDD с частью табличных пространств и Oracle из-за этого не запускается, сообщая при startup'е:
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: '/mnt/hdd2tb/oracle/ORACLE11/USERS2/users2_07.dbf'
ORA-27037: unable to obtain file status
?
Помогло отключение недостающих DATA-файлов:
alter database datafile '/mnt/hdd2tb/oracle/ORACLE11/users10.dbf' offline drop;
После этого Oracle запустился.
Далее дело техники: либо удалить схемы, которые лежали на недостающих DATA-файлах (drop user
- drop tablespace
- см. описание "create tablespace".
----после 3-х часов безуспешных попыток удалить датафайлы, чтобы освободить место на диске---
В итоге, на Oracle 11g система не позволяет удалить датафайлы из USERS, сообщая:
SQL> alter tablespace USERS drop datafile '/opt/oracle/oradata/ORACLE11/users25.dbf';
alter tablespace USERS drop datafile '/opt/oracle/oradata/ORACLE11/users25.dbf'
*
ERROR at line 1:
ORA-01662: tablespace 'USERS' is non-empty and cannot be made temporary
Плюнул. Пересоздал БД Oracle.
пятница, 13 декабря 2013 г.
Создание БД (Oracle)
create-db.log:
13.12.13 19:06:45.633,main,DEBUG,DBConnectionPool,Closing of all free database connections
13.12.13 19:06:45.635,main,ERROR,CreateAzkInstance,
java.lang.RuntimeException: Exception creating database
at com.bssys.tools.sqlexecuter.CreateDatabase.create_database(CreateDatabase.java:127)
at com.bssys.tools.sqlexecuter.CreateDatabase.create_database(CreateDatabase.java:146)
at com.bssys.tools.sqlexecuter.Executer$7.process(Executer.java:126)
at com.bssys.tools.AbstractMain.process(AbstractMain.java:157)
at com.bssys.tools.sqlexecuter.Executer.process(Executer.java:246)
at com.bssys.tools.AbstractMain._process(AbstractMain.java:336)
at com.bssys.tools.AbstractMain.run(AbstractMain.java:374)
at com.bssys.tools.server.CreateInstance.createInstance(CreateInstance.java:97)
at com.bssys.tools.server.CreateInstance$1.process(CreateInstance.java:32)
at com.bssys.tools.AbstractMain.process(AbstractMain.java:157)
at com.bssys.tools.AbstractMain._process(AbstractMain.java:336)
at com.bssys.tools.AbstractMain._main(AbstractMain.java:453)
at com.bssys.tools.server.CreateAzkInstance.main(CreateAzkInstance.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.bssys.loader.MainRunner.run(MainRunner.java:18)
at com.bssys.loader.Runner.(Runner.java:30)
at com.bssys.loader.MainRunner.(MainRunner.java:14)
at com.bssys.loader.MainRunner.main(MainRunner.java:22)
Caused by: com.bssys.db.jdbc.DBSQLException: ORA-01031: привилегий недостаточно
at com.bssys.db.jdbc.SQLConnection.validate(SQLConnection.java:391)
at com.bssys.db.jdbc.SQLStatement.afterExecute(SQLStatement.java:27)
at com.bssys.db.jdbc.base.SQLStatementBase.execute(SQLStatementBase.java:57)
at com.bssys.tools.sqlexecuter.CreateDatabase.create_database(CreateDatabase.java:118)
... 20 more
Caused by: java.sql.SQLException: ORA-01031: привилегий недостаточно
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1687)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1653)
at com.bssys.db.jdbc.base.SQLStatementBase.execute(SQLStatementBase.java:54)
... 21 more
------------------------------------------------------
Чтобы разрешить ситуацию нужно:
grant select on sys.v_$transaction to system with grant option;
13.12.13 19:06:45.633,main,DEBUG,DBConnectionPool,Closing of all free database connections
13.12.13 19:06:45.635,main,ERROR,CreateAzkInstance,
java.lang.RuntimeException: Exception creating database
at com.bssys.tools.sqlexecuter.CreateDatabase.create_database(CreateDatabase.java:127)
at com.bssys.tools.sqlexecuter.CreateDatabase.create_database(CreateDatabase.java:146)
at com.bssys.tools.sqlexecuter.Executer$7.process(Executer.java:126)
at com.bssys.tools.AbstractMain.process(AbstractMain.java:157)
at com.bssys.tools.sqlexecuter.Executer.process(Executer.java:246)
at com.bssys.tools.AbstractMain._process(AbstractMain.java:336)
at com.bssys.tools.AbstractMain.run(AbstractMain.java:374)
at com.bssys.tools.server.CreateInstance.createInstance(CreateInstance.java:97)
at com.bssys.tools.server.CreateInstance$1.process(CreateInstance.java:32)
at com.bssys.tools.AbstractMain.process(AbstractMain.java:157)
at com.bssys.tools.AbstractMain._process(AbstractMain.java:336)
at com.bssys.tools.AbstractMain._main(AbstractMain.java:453)
at com.bssys.tools.server.CreateAzkInstance.main(CreateAzkInstance.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.bssys.loader.MainRunner.run(MainRunner.java:18)
at com.bssys.loader.Runner.
at com.bssys.loader.MainRunner.
at com.bssys.loader.MainRunner.main(MainRunner.java:22)
Caused by: com.bssys.db.jdbc.DBSQLException: ORA-01031: привилегий недостаточно
at com.bssys.db.jdbc.SQLConnection.validate(SQLConnection.java:391)
at com.bssys.db.jdbc.SQLStatement.afterExecute(SQLStatement.java:27)
at com.bssys.db.jdbc.base.SQLStatementBase.execute(SQLStatementBase.java:57)
at com.bssys.tools.sqlexecuter.CreateDatabase.create_database(CreateDatabase.java:118)
... 20 more
Caused by: java.sql.SQLException: ORA-01031: привилегий недостаточно
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:946)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1687)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1653)
at com.bssys.db.jdbc.base.SQLStatementBase.execute(SQLStatementBase.java:54)
... 21 more
------------------------------------------------------
Чтобы разрешить ситуацию нужно:
grant select on sys.v_$transaction to system with grant option;
понедельник, 2 декабря 2013 г.
Установка словарей для электронной книги Digma R60G
У этой книги используется программа StarDict. Чтобы загрузить в нее словари нужно создать в корневом каталоге папку (регистр букв важен) "Dict".
Сами словари можно скачать по адресам:
http://sourceforge.net/projects/xdxf/
http://xdxf.revdanica.com/
после скачивания, их в распакованном виде (но каждый словарь в своей папке) нужно скопировать в созданную папку "Dict".
Сами словари можно скачать по адресам:
http://sourceforge.net/projects/xdxf/
http://xdxf.revdanica.com/
после скачивания, их в распакованном виде (но каждый словарь в своей папке) нужно скопировать в созданную папку "Dict".
среда, 6 ноября 2013 г.
пятница, 1 ноября 2013 г.
Спарринг
После спарринга, в котором был получен удар по ... месту:
Костя: "Извини, чувак, я не хотел. Как оно там?"
Я: "Да ниче, нормально".
Митя: "А до удара это было правое яйцо, а теперь - «Да ниче, нормально»".
Костя: "Извини, чувак, я не хотел. Как оно там?"
Я: "Да ниче, нормально".
Митя: "А до удара это было правое яйцо, а теперь - «Да ниче, нормально»".
четверг, 24 октября 2013 г.
Центр обновления Windows
Если в Центре обновления Windows строки с информацией о пакетах обновления становятся невидимыми (при этом прекрасно видно количество пакетов для установки), то нужно выполнить следующие рекомендации:
First you have to manually stop Windows Update (WUAUSERV) service. To
do it use command prompt and type
"net stop wuauserv"
(w/o quotation marks, of course). Then re-register the driver by typing
"regsvr32 wups2.dll".
Finally restart Windows Update service by typing
"net start wuauserv".
First you have to manually stop Windows Update (WUAUSERV) service. To
do it use command prompt and type
"net stop wuauserv"
(w/o quotation marks, of course). Then re-register the driver by typing
"regsvr32 wups2.dll".
Finally restart Windows Update service by typing
"net start wuauserv".
Подписаться на:
Сообщения (Atom)
Архив
-
►
2019
(44)
- декабря (2)
- октября (6)
- сентября (9)
- августа (1)
- июля (1)
- июня (2)
- мая (2)
- апреля (2)
- марта (2)
- февраля (9)
- января (8)
-
►
2018
(54)
- декабря (4)
- ноября (3)
- октября (6)
- сентября (4)
- августа (2)
- июля (2)
- мая (3)
- апреля (4)
- марта (11)
- февраля (6)
- января (9)
-
►
2017
(55)
- декабря (4)
- ноября (14)
- октября (1)
- сентября (3)
- августа (10)
- июля (2)
- июня (5)
- мая (2)
- апреля (3)
- марта (4)
- февраля (4)
- января (3)
-
►
2016
(111)
- декабря (12)
- ноября (4)
- октября (14)
- сентября (7)
- августа (7)
- июля (14)
- июня (12)
- мая (8)
- апреля (5)
- марта (16)
- февраля (10)
- января (2)
-
►
2015
(96)
- декабря (2)
- ноября (4)
- октября (3)
- сентября (6)
- августа (2)
- июля (2)
- июня (2)
- мая (11)
- апреля (14)
- марта (24)
- февраля (21)
- января (5)
-
►
2014
(72)
- декабря (18)
- ноября (16)
- октября (2)
- сентября (7)
- августа (4)
- июля (1)
- июня (4)
- мая (5)
- апреля (3)
- марта (3)
- февраля (6)
- января (3)
-
►
2013
(33)
- декабря (3)
- ноября (2)
- октября (3)
- сентября (2)
- августа (1)
- июля (1)
- июня (2)
- мая (5)
- апреля (2)
- марта (2)
- февраля (1)
- января (9)
-
►
2012
(181)
- ноября (6)
- октября (11)
- сентября (6)
- августа (5)
- июля (6)
- июня (25)
- мая (24)
- апреля (14)
- марта (20)
- февраля (38)
- января (26)