среда, 31 августа 2011 г.

Как создать пустой файл нужного размера в Windows XP?

Для участия в некоторых p2p обменниках срочно может понадобиться выложить файлы на раздачу определенного размера, а таковых может не оказаться под рукой. В таких случаях можно схитрить и создать пустой файл нужного размера.
Команда для Windows XP: 
fsutil file createnew C:\empty.bin 11000000000 (создаем пустой файл размером 10Гб)

понедельник, 8 августа 2011 г.

Как настроить отправку уведомлений по электронной почте в Redmine?

В интернете описано куча способов, как заставить redmine использовать для отправки сообщений свой google-аккаунт, но у меня свой почтовый сервер и я провозился с этим вопросом полдня. Настраиваю все на ubuntu.
В итоге настроил все через sendmail, как описано ниже:

1. устанавливаем sendmail:
• > sudo apt-get install sendmail
• > sudo sendmailconfig (на все вопросы овтечаем Yes)
2. Настраиваем подключение к почтовому серверу. Делаем копию файла“config/email.yml.example” в “config/email.yml” и редактируем блок “production”. Файл email.yml как правило находится в /etc/redmine :
3. итак, делаем копию файла “/config”:
• > sudo cp email.yml.example email.yml
4. Открываем и редактируем “email.yml” :
• > sudo gedit email.yml
… по аналогии с нижеперечисленными настройками:
production:
delivery_method: :sendmail
sendmail_settings:
location: /usr/sbin/sendmail
arguments: -i -t
address: smtp.example.net
port: 25
domain: example.net
authentication: :none
user_name: redmine@example.net
password: redmine
Сохраняем файл “email.yml” и выходим из редактирования.
Перезапускаем redmine и проверяем!

Как закрыть задачу в Redmine или изменить статус?

При первых попытках поработать в redmine встаешь в ступор: как неудобно приходится менять статус задач - открыть задачу, нажать "Обновить" (Update), изменить статус, "Сохранить"...
На самом деле есть намного более удобный способ, но он отнюдь не очевиден:
в списке задач  щелкните правой кнопкой мыши на столбце "Статус" и откроется контекстное меню. В нем можно выбрать "Статус-Закрыть" (или любой другой статус) - и статус успешно изменится без лишних телодвижений!

вторник, 2 августа 2011 г.

Oracle: убить сессию

Чтобы прибить зависшую сессию, делаем следующее:

смотрим список запущенных сессий:
select s.sid, s.serial#, s.username, s.osuser, s.status, s.program, s.module, p.spid
from v$session s, v$process p
where s.paddr = p.addr
order by username;

убиваем нужную сессию:
alter system kill session '<sid>,<serial#>'

в unix-системах еще может понадобиться прибить процесс (если остался)
kill -9 <spid>

либо сразу прибивать с завершением процессов:
alter system kill session '<sid>,<serial#>' immediate

Для формирования запросов можно воспользоваться PL/SQL -блоком:


declare
begin
for ss in (
select s.sid, s.serial#, s.username, s.osuser, s.status, s.program, s.module, p.spid
from v$session s, v$process p
where s.paddr = p.addr
and s.status = 'INACTIVE' and s.username like 'OPER%'
order by username)
loop
dbms_output.put_line('alter system kill session '||''''||ss.sid||','||ss.serial#||''''||' immediate;');
execute_sql('alter system kill session '||''''||ss.sid||','||ss.serial#||''''||' immediate;');
commit;
end loop;
end;

среда, 27 июля 2011 г.

Apache: Address already in use: Unable to open logs

При попытке запустить apache выдает:

root@mail:/var/log/apache2# /etc/init.d/apache2 start
 * Starting web server apache2                                                 

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.


В логи ничего не пишется.
Исправляется следующим образом:
Ищем, какой процесс занимает порты 80 и 443:
root@mail:/var/log/apache2# netstat -lptn
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State       PID/Program name


среди прочих видим запущенные процессы apache:
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1221/apache2
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      1221/apache2

убиваем их:
kill 1221

и запускаем apache. Все должно запуститься нормально.

суббота, 9 апреля 2011 г.

Ошибка при создании объекта из компоненты v7plus.dll (отсутствует CLSID)

При выполнении операции в 1С ругнулся: Ошибка при создании объекта из компоненты v7plus.dll (отсутствует CLSID).  Операционная система Windows7.

Лечится, как выяснилось, двумя способами:

1) из директории с базой убрать файл v7plus.dll, и проверить, что таковой остался в директории BIN в каталоге, где установлен сам 1С;

2) единожды запустить 1С с правами администратора Windows.

Также нашел более полное описание действий: http://www.1cguru.ru/

 

четверг, 3 марта 2011 г.

Как вернуть прошлое состояние записи в Oracle?

В Oracle имеется очень полезная штука: возможность возвращать прошлое состояние записи (а также таблицы, базы).
(Перевод одной из глав с сайта oracle.com)

Использование в Oracle технологии возврата прошлого состояния.
Эта глава описывает, как использовать имеющуюся в Oracle возможность восстанавливать прошлое состояние записей.

Обзор технологии возврата к прошлым состояниям в Oracle

Example of Examining and Restoring Past Data

Suppose that you discover at 12:30 PM that the row for employee Chung was deleted from the employees table, and you know that at 9:30AM the data for Chung was correctly stored in the database. You can use Oracle Flashback Query to examine the contents of the table at 9:30 AM to find out what data was lost. If appropriate, you can restore the lost data.

Example 13-1 retrieves the state of the record for Chung at 9:30AM, April 4, 2004:
Example 13-1 Retrieving a Lost Row with Oracle Flashback Query
SELECT * FROM employees
  AS OF TIMESTAMP
   TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS')
     WHERE last_name = 'Chung';
Example 13-2 restores Chung's information to the employees table:
Example 13-2 Restoring a Lost Row After Oracle Flashback Query
INSERT INTO employees
  (SELECT * FROM employees
     AS OF TIMESTAMP
       TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS')
         WHERE last_name = 'Chung');
 



ориг. ссылка: http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#i1008579