|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Кто хорошо умеет с ними уже работать? Не могу никак запомнить: 1. Глобальные директории созданы в основном для "ограничения" по именам глобалов? DEFAULT для всех (*) 2. Могут ли разные базы данных содержать глобалы с одним и тем же именем? То есть, задача такова: есть рабочая база данных, нужно сделать тестовую базу данных, которая будет содержать те же глобалы, что и рабочая, плюс таких тестовых баз данных можно сделать хоть 10! Работа с ними будет посредством изменения переменной $gtmgbldir. Конечно же данные во всех этих базах данных будут различаться! Даже думаю, что код для каждой базы данных будет разный, в рабочей - текущая версия, в тестовой - новая, экспериментальная версия кода. И еще я где то видел ссылку на описание того, как можно "играть" настройками глобальной директории и базы данных, чтобы увеличивать производительность. И это не глава в GT.M Administration :) Спасибо за ответ! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 12:37 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
SergeyLee, Я как раз с этим счс работаю. Запутано немножко. Если для одной базы - проблем нету. Настроил с первого раза и забыл. А вот для нескольких баз есть некоторые неудобство что руками все нужно писать.... Вот и хочу по человечески, так как привык наш люд. http://eltranssoft.ucoz.ru/ Вот что получается при нажатие кнопки: source /usr/gtm602/gtmprofile export log="$gtm_log/gde_mupip_script.log" export gtmgbldir=/usr/gtm602/mgr/test/test export gtmroutines="/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602" $gtm_dist/mumps -run GDE >> $log 2>&1 << EOF change -segment DEFAULT -BL=4096 -AL=100 -EX=100 -G=1024 -AC=BG -L=40 -F=/usr/gtm602/mgr/test/test.dat change -region DEFAULT -KEY_SIZE=512 -RECORD_SIZE=8192 -JOURNAL=(before,file="/usr/gtm602/mgr/test/test.mjl") EOF $gtm_dist/mupip create >> $log 2>&1 $gtm_dist/mupip set -journal=before -region DEFAULT >> $log 2>&1 chmod 755 /gde_mupip_script.log Я стараюсь работать с разными базами в разных папках как в Каше. Примерно так: В следующие несколько шагов создаем GT.M базы данных и импортируем глобалы salrte в эту базу данных. Во-первых, установим несколько переменных среды вручную. 1.Создаем директорию на подобие cache для программ [root@LinuxServer salrte]# mkdir /usr/local/gtm60/mgr/salrte/r 2.Создаем директорию на подобие cache для глобалов [root@LinuxServer salrte]# mkdir /usr/local/gtm60/mgr/salrte/g 3.Определимся где будут лежать наши програмы + системные gtm программы: [root@LinuxServer salrte]# gtmroutines="/usr/local/gtm60/mgr/salrte/r $gtm_dist ." [root@LinuxServer salrte]# export gtmroutines 4.Создаем переменну для определения глобальной директории где будет лежать(название.gld). В нашем случае database.gld : [root@LinuxServer salrte]# gtmgbldir=/usr/local/gtm60/mgr/salrte/g/database [root@LinuxServer salrte]# export gtmgbldir 5.Создаем остальные переменные для дальнейшей работы(gtm,mupip,lke,gde,dse): [root@LinuxServer salrte]# gtm="$gtm_dist/mumps -direct"; export gtm [root@LinuxServer salrte]# mupip="$gtm_dist/mupip"; export mupip [root@LinuxServer salrte]# lke="$gtm_dist/lke"; export lke [root@LinuxServer salrte]# gde="$gtm_dist/mumps -r ^GDE"; export gde [root@LinuxServer salrte]# dse="$gtm_dist/dse"; export dse 6.Используем утитлиту GDE для создания нашей глобальной директории файлов: [root@LinuxServer salrte]# mumps -r GDE %GDE-I-GDUSEDEFS, Using defaults for Global Directory /usr/local/gtm60/mgr/salrte/g/database.gld [root@LinuxServer salrte]#GDE> change -s DEFAULT -f=/usr/local/gtm60/mgr/salrte/g/database [root@LinuxServer salrte]#GDE>exit %GDE-I-VERIFY, Verification OK %GDE-I-GDCREATE, Create Global Directory file /usr/local/gtm60/mgr/salrte/g/database.gld 7.Используем утилиту MUPIP для создания файла нашей базы данных используя новые возможности версии V6.0-000: - The maximum supported key size increases from 255 to 1,019 bytes. - Global variable nodes need no longer fit within a database block. This opens opportunities for applications to consider smaller block sizes where these improve performance. Also, the new maximum global variable node size of 1,048,576 bytes (1 MiB) means that any local variable node can also be stored in a global variable. - The maximum size of a database file is now 1,040,187,392 (992 Mi) blocks. Previously this limit was 234,881,024 (224 Mi) blocks. [root@LinuxServer salrte]# mupip create && dse change -f -key_max=1019 -rec=1048576 Created file /usr/local/gtm60/mgr/salrte/g/database.dat File /usr/local/gtm60/mgr/salrte/g/database.dat Region DEFAULT 8. В общем наш профильный (profile) файл должен выглядеть примерно так: #!/bin/bash cd /usr/local/gtm60/mgr/salrte gtm_dist="/usr/local/gtm60"; export gtm_dist gtmroutines="/usr/local/gtm60/mgr/salrte/r $gtm_dist ."; export gtmroutines gtmgbldir="/usr/local/gtm60/mgr/salrte/g/database.gld"; export gtmgbldir gtm="$gtm_dist/mumps -direct"; export gtm mupip="$gtm_dist/mupip"; export mupip lke="$gtm_dist/lke"; export lke gde="$gtm_dist/mumps -r ^GDE"; export gde dse="$gtm_dist/dse"; export dse PATH=$PATH:$gtm_dist ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 13:27 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
SergeyLee, через один гл.каталог можно работать и с разными базами. Для этого при создании каталога (GDE) в пути на файл базы данных можно использовать имена из окружения (пишется с '$'). Меняя переменную окружения перед стартом gtm получим работу с разными файлами. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 14:48 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Можно прямо в GT.M меняться между каталогами Глобалов: s $zg="/patch/test.gld" Конкретно пример: s $zg="/usr/gtm602/mgr/test/test.gld" Рутин: s $zro="/patch/r" Конкретно пример: s $zro="/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 15:10 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
еще GTM поддерживает полную глобальну ссылку s A="/patch/test.gld" s B="/patch/test1.gld" ^[A]global - обращение к глобалу в одном файле или так ^["/patch/test.gld"]global ^[B]global - обращение к глобалу во втором файле или так ^["/patch/test1.gld"]global ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 16:30 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
andrew000999, Андрей спасибо, честно, я не знал такой синтаксис. Так что получается ? Я к "системному" глобалу могу обратиться таким образом с любой области где я нахожусь в данный момент ? т.е. например ^sysconfig из gtm_dist="/usr/gtm602" . ^["/usr/gtm602/mumps.gld"]sysconfig Я вот бьюсь как смампировать их, а оказывается и так можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 16:49 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
andrew000999, ух ты! класс! спасибо! я такое кажется замечал, но не запомнил, ибо не практиковал! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 16:53 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Что-то у меня не получатся ... Что неправильно ? GTM> GTM>w $ZG /usr/gtm602/mgr/test/test.gld GTM>w $ZRO /usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602 GTM>w ^["/usr/gtm602/mumps.gld"]sysconfig("SYS","gld") %GTM-E-DBFILERR, Error with database file /usr/gtm602/mgr/test/mumps.dat %SYSTEM-E-ENO2, No such file or directory GTM> ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 17:01 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Вот о последней возможности! http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/ch05s03.html#Global_Var_Name_Environments ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 17:05 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
ValeriuSergeyLee, Вот и хочу по человечески, так как привык наш люд. http://eltranssoft.ucoz.ru/ А вот скачать WinBuilder не получается :( Я даже сделал виртуальную машину Windows XP для этого и для исследования Serenji. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 18:40 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
SergeyLee, К сожалению ссылку дают на очень короткий срок. Я постараюсь сгд туда его вставить для скачивания. Это более старая версия, без GDE . Это пока в разработке. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 20:46 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Валерий у Вас похоже файл .dat просто не существует а эта возможность (обращение по полной глобальной ссылке)) в GTM используется с моим alt-nc уже очень давно и как работает alt-nc c разными файлами .gld я описывал в моей документации работает четко ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 21:01 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Валерий почитал внимательнее вас пост --------------- GTM>w $ZG /usr/gtm602/mgr/test/test.gld GTM>w $ZRO /usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602 GTM>w ^["/usr/gtm602/mumps.gld"]sysconfig("SYS","gld") %GTM-E-DBFILERR, Error with database file /usr/gtm602/mgr/test/mumps.dat %SYSTEM-E-ENO2, No such file or directory GTM> ----------------------------------------- в общем в скобках должно стоять ваш $zg вот так ^["/usr/gtm602/mgr/test/test.gld"]sysconfig ... |
|||
:
Нравится:
Не нравится:
|
|||
04.07.2013, 21:08 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Андрей, Я так понимаю, что это когда базы данных(несколько баз) находятся в ОДНОЙ глобальной директории. В моем случае, базы данных находятся в разных глобальных директориях, т.е. каждая имеет свой .gld ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 08:45 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Валерий Я об этом и говорю не важно какой текущий $zgbl по полной глобальной ссылке можно обращаться к ЛЮБОЙ СУЩЕСТВУЮЩЕЙ базе данных ОДНОВРЕМЕННО ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 09:28 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Андрей, Я тогда я что-то недопонимаю. Глобаль ^sysconfig находится там, где установился GT.M. Т.е в папке /usr/gtm602. Там же присутствует mumps.gld и mumps.dat Допустим я нахожусь в директорию /usr/gtm602/mgr/test. Там соответственно имеем test.gld и test.dat Пытаемся увидеть какой-то узел глобала ^sysconfig (с терминала): Там я вызываю 3 варианта(и тот что посоветовал) - все показывают ошибки... login as: root root@192.168.1.111's password: Last login: Fri Jul 5 08:59:31 2013 from 192.168.1.110 [root@GTM ~]# source /usr/gtm602/uci/test [root@GTM test]# gtm GTM>d ^%GD Global Directory Global ^ Total of 0 globals. GTM>h [root@GTM test]# source /usr/gtm602/uci/sys [root@GTM gtm602]# gtm GTM>d ^%GD Global Directory Global ^ ^sysconfig ^test ^zmwire Total of 3 globals. GTM>h [root@GTM gtm602]# source /usr/gtm602/uci/test [root@GTM test]# gtm GTM>d ^%GD Global Directory Global ^ Total of 0 globals. GTM>w ^["/usr/gtm602/test.gld"]sysconfig("SYS","gld") %GTM-E-ZGBLDIRACC, Cannot access global directory /usr/gtm602/test.gld. Retaining /usr/gtm602/mgr/test/test.gld. %SYSTEM-E-ENO2, No such file or directory GTM>w ^["/usr/gtm602/mumps.gld"]sysconfig("SYS","gld") %GTM-E-DBFILERR, Error with database file /usr/gtm602/mgr/test/mumps.dat %SYSTEM-E-ENO2, No such file or directory GTM>w ^["/usr/gtm602/mgr/test/test.gld"]sysconfig("SYS","gld") %GTM-E-GVUNDEF, Global variable undefined: ^sysconfig("SYS","gld") GTM> Ниже приведу профайлы для захода в соответствующих директориях: 1. test ################################################################# cd /usr/gtm602/mgr/test gtm_dist="/usr/gtm602"; export gtm_dist gtmgbldir="/usr/gtm602/mgr/test/test.gld" ; export gtmgbldir if [ "$gtm_chset" = "UTF-8" -o "$gtm_chset" = "utf-8" ] ; then if [ -e $gtm_dist/utf8 ] ; then gtm_dist="$gtm_dist/utf8"; export gtm_dist fi fi gtmroutines="/usr/gtm602/mgr/test/o(/usr/gtm602/mgr/test/r) /usr/gtm602"; export gtmroutines gtm="$gtm_dist/mumps -direct"; export gtm mupip="$gtm_dist/mupip"; export mupip lke="$gtm_dist/lke"; export lke gde="$gtm_dist/mumps -r ^GDE"; export gde dse="$gtm_dist/dse"; export dse PATH=$PATH:$gtm_dist 2. system ################################################################# cd /usr/gtm602 gtm_dist="/usr/gtm602"; export gtm_dist gtmgbldir="mumps.gld"; export gtmgbldir if [ "$gtm_chset" = "UTF-8" -o "$gtm_chset" = "utf-8" ] ; then if [ -e $gtm_dist/utf8 ] ; then gtm_dist="$gtm_dist/utf8"; export gtm_dist fi fi gtmroutines=". $gtm_dist"; export gtmroutines gtm="$gtm_dist/mumps -direct"; export gtm mupip="$gtm_dist/mupip"; export mupip lke="$gtm_dist/lke"; export lke gde="$gtm_dist/mumps -r ^GDE"; export gde dse="$gtm_dist/dse"; export dse PATH=$PATH:$gtm_dist ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 10:52 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Оказывается только в "системный" не хочет заходить ... В остальных без проблем. Интересно ... :) GTM>w ^["/usr/gtm602/mgr/salrte/database.gld"]ZS1(101,0,64) Topal Ivan Fiodor:14:2500::1:143:P:1:119:0:0:2:18122001::1:0972911019915:STR.SCHINOASA DEAL 34 V:08.02.1951:::323006909:A 01014123:93101215024:OF .01:02.12.1997:020217005:::::::2 GTM>w ^["/usr/gtm602/mgr/cadre/database.gld"]CAD(101,1) Ivanov Ion Ion GTM>w $ZG /usr/gtm602/mgr/test/test.gld ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 11:16 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Валерий Посмотрите чисто визуально содержимое файла /usr/gtm602/mumps.gld" там среди всего прочнго вы увидите ссылку на файл mumps.dat там будет дибо просто mumps.dat либо ./mumps.dat что собственно означает: в текущем каталоге когда вы пытаетесь обратитсья к нему по полной ссылке из каталога /usr/gtm602/mgr/test текущий каталог этот. Соответственно файл mumps.dat gtm ищет здесь -отсюда и ошибка Бороться с этим - просто указывать полные пути те не gtmgbldir="mumps.gld"; а /usr/gtm602/mumps.gld и в GDE при создании базы использовать опцию -file_name=/usr/gtm602/mumps.dat Вот скрипт который все это делеат автоматом source /тут путь использованному профилю gtmgbldat=`dirname $gtmgbldir`/`basename $gtmgbldir .gld`".dat" #------------------------------------------------------- # if database not exist - create it #------------------------------------------------------- if [ ! -f $gtmgbldir ] ; then $gde template -segment -access_method=mm -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000 $gde template -segment -access_method=bg -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000 $gde template -region -stdnull -key_size=255 -record_size=4080 #-journal=before $gde change -segment DEFAULT -block_size=4096 -allocation=5000 -extension=10000 -global_buffer_count=1000 -file_name=$gtmgbldat $gde change -region DEFAULT -stdnull -key_size=255 -record_size=4080 #-journal=(before,file="$gtmdist/gtm.mjl") if [ ! -f $gtmgbldat ] ; then $mupip create else echo file $gtmgbldat esixts!!!, cannot create $gtmgbldat fi else echo use file $gtmgbldir as database fi #------------------------------------------------------- ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 11:44 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
andrew000999, Андрей спасибо ! Я даже не обращал на это внимание(полный путь) Ведь это автоматом делала система при установке. Ну и значит думал, что так надо .... Я к стати везде применяю полные пути(где сам делаю), а вот тут положился на конфигуратор. Значит, будем эту граблю ОБХОДИТЬ ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 11:56 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Короче так. То что делает GT.M по умолчанию при установке в файл дистрибутиве (системном), mumps.gld и mumps.dat - УДАЛЯЕМ ! Дальше. [root@GTM gtm602]# export gtmgbldir=/usr/gtm602/database [root@GTM gtm602]# mumps -r GDE %GDE-I-GDUSEDEFS, Using defaults for Global Directory /usr/gtm602/database.gld GDE> change -s DEFAULT -f=/usr/gtm602/database GDE> exit %GDE-I-VERIFY, Verification OK %GDE-I-GDCREATE, Creating Global Directory file /usr/gtm602/database.gld [root@GTM gtm602]# mupip create && dse change -f -key_max=2046 -rec=4096 Created file /usr/gtm602/database.dat File /usr/gtm602/database.dat Region DEFAULT [root@GTM gtm602]# [root@GTM gtm602]# gtm GTM>w $ZG /usr/gtm602/database.gld GTM> GTM>d ^%GD Global Directory Global ^ ^zmwire GTM>s ^test="Это системный SYS" GTM>d ^%GD Global Directory Global ^ ^test ^zmwire Total of 2 globals. GTM>h [root@GTM test]# source /usr/gtm602/uci/test [root@GTM test]# gtm GTM>w $zg /usr/gtm602/mgr/test/database.gld GTM>w ^["/usr/gtm602/database.gld"]test Это системный SYS GTM> ... |
|||
:
Нравится:
Не нравится:
|
|||
05.07.2013, 15:46 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Valeriu, а Вы работали уже с GT.M Replication? интересен обмен опытом... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2013, 12:51 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
SergeyLee, К сожалением еще нет.. Руки не дошли. Заканчиваем GUI для управления GT.M. А если по ходу как они указывают в AcculturationWorkshopMaterials ??? Пробовали ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2013, 13:03 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Valeriu, Спасибо! Не подумал об этом :) Сейчас почитаю. Просто я перечитал все с админ справки по репликации и журнализации. Немного начал экспериментировать. И тут встал вопрос, что надо же (правильнее) базу на Мастере очистить, может и файлы журналов очистить (удалить?). И тоже самое сделать на Слейве. Вообщем приступаю к практике. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2013, 13:16 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
SergeyLee, Тоже интересует этот вопрос. Будут сдвиги, отпишитесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2013, 13:34 |
|
GT.M: настройка директорий и баз данных
|
|||
---|---|---|---|
#18+
Valeriu, С репликацией прогресс пошел. Сделал! Теперь делаю резюме-инструкцию для себя, которую потом буду расширять, на базе Acculturation Workshop и Administration and Operation Guide. Чуть позже в этой теме опубликую. Теперь я занимаюсь с нуля (повторение - мать учения) установкой (точнее обновлением) GT.M 6.0-002 вместо GT.M 6.0-000. Возник вопрос, с которым я до конца не разобрался. После установки GT.M на чистую виртуалку (с нуля), я выполняю source .../gtmprofile для формирования папок с каталогом и базой данных по умолчанию (DEFAULT) по пути /home/USER/.fis-gtm/ с папками V6.0-00X_x8664 и r, в первой папки g,o,r и так далее. Как я вижу, вы смогли разместить GT.M файлы в созданной собственноручно папке скажем /home/USER/myapp/ Как выполнить скрипт gtmprofile, чтобы GT.M файлы были размещены в другой папке? Или просто создать собственный скрипт, задающий соответствующие переменные окружения и прочие команды? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2013, 18:19 |
|
|
start [/forum/topic.php?fid=39&msg=38320886&tid=1557101]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
147ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 280ms |
0 / 0 |