Я попробовал вышеуказанное решение, но я счел его непригодным для больших объемов данных. Затем я обнаружил функцию потока:
MongoClient.connect("...", function(err, db){
var c = db.collection('yourCollection');
var s = c.find({/* your query */}).stream();
s.on('data', function(doc){
c.update({_id: doc._id}, {$set: {name : doc.firstName + ' ' + doc.lastName}}, function(err, result) { /* result == true? */} }
});
s.on('end', function(){
// stream can end before all your updates do if you have a lot
})
})
Если бы IP-адрес сервера изменился, это первые вещи, на которые я посмотрел бы:
Файл TNSNAMES.ORA на клиенте - это имеет IP-адрес hardcoded? Если так, измените его. Это использует название машины? Если так, машина называет твердость к корректному IP-адресу на Вашей клиентской машине?
Файл LISTENER.ORA на сервере - это явно указывает старый IP-адрес как свой слушающий адрес?
Больше информации. Вы подразумеваете изменение IP-адреса хоста, что база данных идет, и теперь необходимо ли соединиться с ним от другого macine, или Вы испытываете затруднения при запуске базы данных после изменения IP?
... и какое сообщение об ошибке Вы получаете?
Большинство очевидных файлов для проверки:
$ORACLE_HOME/network/admin/tnsnames.ora$ORACLE_HOME/network/admin/listener.ora
Кроме этого нам было бы нужно больше информации...
Обновление после комментария
Можете Вы отправлять...
Убедитесь, что LOCAL_LISTENER не определен (или определен правильно) в базе данных - он может неправильно регистрироваться из-за неправильной записи здесь. Также попробуйте «ALTER SYSTEM REGISTER», чтобы попытаться зарегистрироваться в слушателе (вместо того, чтобы ждать до 3 минут для автоматической регистрации). Просмотрите журнал listener.log, чтобы увидеть зарегистрированный экземпляр (service_update *) и «lsnrctl status», чтобы узнать, есть ли он там.