Страница 1 из 1
чистка временной базы
Добавлено:
Вт окт 14, 2014 9:53 am
jezkir
Есть несколько пользователей, у каждого своя база в mysql - При очитске с Администрирования, все равно остается очень много таблиц, до 12000 (35000 файлов в каталоге базы). Можно ли их удалять в ручную или как правильнее сделать? Может какие таблицы должны постоянно там быть, а какие можно удалять, кто знает?
Re: чистка временной базы
Добавлено:
Ср окт 15, 2014 10:20 am
fruckt
Уточните, каким именно пунктом меню вы пользуетесь, версию программы, и если это возможно, листинг функции clearUserBase из файла JDebet\scripts\dbclear_tmp.js
Re: чистка временной базы
Добавлено:
Ср окт 15, 2014 2:23 pm
jezkir
Я так понял из функции, он view вообще не чистит. Везде одна версия, последняя, 84-я. База отдельно на сервере. Меню Администрирование - Очистка временной базы - Выполнить очистку
- Код: Выделить всё
function clearUserBase(sLogin)
{
//07.12.12 Яна
// В БЦ водоканале позже, чем в последней версии в CVS изменена эта программа. Раз там сделали
//эти изменения, заношу их под CVS, но точно не знаю, нужны ли они для всех.
if(SUBD==ORACLE)
{
//Очистка корзины
//ExecuteSQL("PURGE DBA_RECYCLEBIN");
}
var shcema = lpProxy.getDBTemp(sLogin);
if(!shcema || shcema=="")
shcema = sLogin;
var listTables = lpProxy.getDBManager().getTables(shcema, "TABLE");
var listViewes = lpProxy.getDBManager().getTables(shcema, "VIEW");
var nView = listViewes.length;
var nTable = listTables.length + nView;
var point = (SUBD == MSSQL ? ".." : ".");
progressWorked(sLogin);
for (var i in listViewes)
{
progressWorked(sLogin);
if(String(listViewes[i]).toUpperCase() === tmpTblName.toUpperCase())
continue;
var fullTableName = shcema + point + listViewes[i];
//ExecuteSQL("DROP VIEW " + fullTableName + " CASCADE", false);
}
for (var i in listTables)
{
progressWorked(sLogin);
if(String(listTables[i]).toUpperCase() === tmpTblName.toUpperCase())
continue;
var fullTableName = shcema + point + listTables[i];
if (left(String(listTables[i]).toUpperCase(),4)=="TEMP" && listTables[i].indexOf("_")>0 ){
//ExecuteSQL("DROP TABLE " + fullTableName, false);
ExecuteSQL("DROP TABLE " + fullTableName + " CASCADE", false);
}
//if (left(String(listTables[i]).toUpperCase(),5)=="TEST_" && listTables[i].indexOf("_")>0 ){
//ExecuteSQL("DROP TABLE " + fullTableName, false);
// ExecuteSQL("DROP TABLE " + fullTableName + " CASCADE", false);
//}
}
if(SUBD==ORACLE)
{
//Очистка корзины
//ExecuteSQL("PURGE DBA_RECYCLEBIN");
}
}
Re: чистка временной базы
Добавлено:
Чт окт 16, 2014 12:39 pm
fruckt
Мы пользуемся 52-й версией и у нас код в части ExecuteSQL("DROP VIEW " + fullTableName + " CASCADE", false); не закомментарен. Попробуйте убрать комментарий и провести очистку.