У дома цветя IBM DB2 система за управление на база данни. Вижте какво е "IBM DB2" в други речници

IBM DB2 система за управление на база данни. Вижте какво е "IBM DB2" в други речници

    Enterprise Edition – решение за големи организации, които се нуждаят от надеждна обработка на транзакции и богата функционалност;

    Advanced Edition – тази версия поддържа неограничен брой връзки, клъстериране и осигурява мащабируемост, което ви позволява да постигнете висока производителност (версията не предоставя двуфазно потвърждение на транзакциите и автоматично преминаване при отказ);

    Small Business Edition - версията е предназначена да поддържа интернет приложения. Максималният брой разрешени IIOP/CORBA връзки е десет, подходящи за организации, чиито системи не се нуждаят от клъстериране, поддръжка на мейнфрейм, двуфазно потвърждение на транзакциите и автоматично преминаване при отказ;

    Изданието за разработчици, опция за разработчици, създаващи и тестващи приложения, използващи Sybase EAServer, е напълно функционално, но е ограничено до пет IIOP връзки.

Sybase EAServer предоставя редица важни предимства, включително:

    надеждна работа на системата чрез осигуряване на автоматично възстановяване на здравето на ниво сървърна памет, балансиране на натоварването и клъстериране;

    защита на инвестициите чрез интеграция със съществуващи вътрешни системи;

    Опростено управление чрез изчерпателни възможности за конфигуриране и администриране, като например кеширане на екземпляр на компонент, управление на транзакции, кеширане на процеси и параметризиране на графични компоненти.

Subd db2

DBMS компанията IBM DB2, се появява за първи път в началото на осемдесетте. Версиите на този продукт в момента работят на AS/400AIX, S/390, Windows, OS/2, AIX, HP-UX, SCO UnixWare, Linux, NUMA-Q и Sun Solaris.

DB2 Enterprise Server Edition идва с богат набор от административни инструменти. Механизмите за достъп до DB2 данни поддържат ODBC, JDBC и ADO/OLE DB драйвери, а допълнителните модули като Builder Stored Procedure Builder са достъпни за потребителите на Microsoft Visual Studio. Версиите на DB2 за Windows също ви позволяват да създавате съхранени процедури във Visual Basic. Инструментите за разработка на Borland поддържат достъп до DB2 не само чрез ADO/OLE DB и ODBC, но и чрез собствените му универсални механизми за достъп до данни – Borland Database Engine и dbExpress.

DB2 DBMS поддържа създаването на складове за данни и в допълнение към инструментите за прехвърляне на данни към склада съдържа Центъра за съхранение на данни като част от клиентската част, което ви позволява да управлявате всички процеси, свързани със създаването и поддръжката на складове за данни, включително създаване на складова схема, определяне на източници на първоначални данни за нея, създаване на графици за актуализиране на данни в хранилището, проверка и коригиране на неверни данни. За да поддържа OLAP съхранение, DB2 Universal Database Server включва OLAP Starter Kit, базиран на Hyperion Essbase OLAP сървър.

DB2 DBMS поддържа съхраняване и търсене на XML документи по техните елементи и атрибути. Използвайки SOAP протокола, можете да получите достъп до уеб услуги, които осигуряват достъп до DB2 съхранени процедури и данни (Уеб услугите се управляват от сървъра на приложения IBM WebSphere).

Най-важните технически характеристики на DB2 Universal Database включват поддръжка за релационни и сложни данни, използващи разширения на обекти, способност за работа на многопроцесорни платформи, поддръжка на клъстери, 64-битова архитектура на паметта, паралелизиране на заявки, наличие на инструменти за хетерогенно администриране и обработка на данни, поддръжка за разпределени транзакции.

DB2 е единствената база данни, която може да бъде разработена на .Net, докато работи на всяка платформа, включително Linux, мейнфреймове, Windows. DB2 има Java съхранени процедури.

Разширената поддръжка за Visual Studio включва поддръжка за уеб услуги, пълна поддръжка за съхранение на XML данни без трансформирането им и възможност за създаване на приложения и уеб сайтове без писане на код.

DB2 е изграден върху релационни технологии с обширна поддръжка за XML, което опростява разработването и интеграцията на данни. XML е ключов компонент от процеса на генериране на метаданни и контролите на метаданни в DB2.

DB2 версия 9 въвежда технологията pureXML, революционната технология за компресиране на данни Venom и офлайн управление на данни. DB2 предоставя достъп до информация, съхранявана в Oracle и MySQL СУБД.

Реализиран в СУБДподобренията позволяват на разработчиците значително да опростят и ускорят създаването на приложения, които работят едновременно с XML и релационни хранилища на данни. Например, технологията pureXML поддържа езика XQuery, стандарт, създаден специално за обработка на XML данни. Разработчиците на приложения могат да използват XQuery, XPath, стандартен SQL или и трите, за да извличат релационни или XML данни.

Изчерпателната среда за разработка на DB2 Developer Workbench ви позволява да създавате, редактирате, отстранявате грешки, тествате и разгръщате съхранени процедури и дефинирани от потребителя функции. Developer Workbench може да се използва за разработване на приложения и за създаване, редактиране и изпълнение на SQL изрази и XML заявки.

Сървърът на базата данни на DB2 версия 9 позволява безпроблемно, паралелно движение на релационни и XML данни, независимо от формат, платформа и местоположение ( http://www-306.ibm.com/software/data/db2/v9/).

DB2 също така компресира индекси и временни таблици, което никоя друга СУБД не може да направи днес. Внедряване на устойчива на грешки конфигурация с два сървъра, при която за отчитане може да се използва сървър с резервна база данни.

DB2 се предлага в две издания: DB2 Workgroup и DB2 Enterprise Edition. СУБД реализира паралелизиране на обработката на заявки, пълен набор от инструменти за репликация, централни таблици на заявки за подобряване на производителността на базата данни, функции за проектиране на обектно-ориентирана база данни и езикови инструменти на Java.

DB2 е оборудван с пълен набор от мултимедийни разширения за съхранение и манипулиране на текст, звук, видео, изображения и географски данни. Основните недостатъци на DB2 са относителната сложност на администрирането.

В DB2, благодарение на Index Smart Guide, можете да настройвате, образувайки оптимални индекси за даден брой посещения, което характеризира типичното натоварване на базата данни. DB2 DBMS ви позволява да генерирате централни таблици, което значително повишава ефективността на нейната работа като хранилище за данни. Основната таблица е временна работна област, използвана от СУБД за съхраняване на отговори на често получавани заявки.

Разширението DB2 Spatial за работа с пространствени данни е разработено в сътрудничество с ESRI [ http://www.esri.com/partners/alliances/ibm/solutions.html,http://www.esri.com/partners/alliances/ibm/index.html].

IBM пуска три издания на DB2 наведнъж - за корпоративни клиенти, за малък и среден бизнес (DB2 Express) и за разработчици (DB2 Express-C).

IBM има опростена версия на СУБД DB2 Express-C, той е релационен, но поддържа XML.

СУБД Informix

Преди придобиването му от IBM, водещият продукт на Informix беше Informix Dynamic Server (IDS), който поддържа UNIX и Windows платформи и осигурява ефективна работа както на еднопроцесорни, така и на многопроцесорни системи, както и в клъстери. Този продукт има мощни възможности за паралелна обработка. Сред основните характеристики на Informix Dynamic Server трябва да се отбележи използването на управление на дисковото пространство като инструменти на ОС; както и собствени функции, които ви позволяват да заобиколите ограниченията на ОС, да управлявате споделянето на паметта; динамичен контрол на потока; поддръжка за фрагментиране на таблици и индекси на множество дискове; паралелизиране на заявки; огледално отразяване на данни. IDS сървърът поддържа двуфазно завършване на транзакции, както и хетерогенни транзакции (в този случай други сървъри могат да участват в транзакции). Особено внимание заслужава поддръжката на сървъра за времеви серии.

Разширенията за функционалност на сървъра са реализирани на базата на DataBlade - колекции от обекти на база данни и подпрограми на език C, свързани към базата данни и пуснати както от производителя на СУБД, така и от редица независими производители.

От механизмите за достъп до данни IDS поддържа ODBC, JDBC и ADO/OLE DB драйвери. Инструментите за разработка на Borland поддържат достъп до IDS с помощта на Borland Database Engine, dbExpress, Microsoft .NET механизми.

Напоследък се наблюдава преход от релационни СУБД към обектно-ориентирани. Informix, следвайки тази концепция, представя своето решение в СУБД Centaur, базирано на релационната база данни Informix Dynamic Server 7.3 и обектно-релационната база данни Informix Universal Data Option, и комбинирайки високата производителност на Dynamic Server при работа с данни с универсалност и мултимедия характеристики на Universal Data Option. Тази реализация е предназначена за разработване на интернет системи. СУБД има гъвкава среда за разработка, мащабируемост, за да съответства на интензивните работни натоварвания в Интернет и инструменти за работа с нови типове данни, които станаха повсеместни с развитието на мрежата. Инструментите на Java, внедрени в тази система, ще позволят на разработчиците да създават съхранени процедури, потребителски програми и компоненти на DataBlades на този език.

Пакетът Centaur идва с вградена обработка на обекти ActiveX. Това прави възможно създаването на съхранени процедури в база данни на езика Visual Basic.

Centaur е добавка към Informix Dynamic Server и работи с традиционния формат на база данни за този пакет, така че потребителите да запазят всички стари функции и надграждането на системата до нивото на нови версии няма да бъде много трудно. Системата е оборудвана със средства за обектно-ориентирано проектиране на бази данни, създаване на специализирани таблици и програми за индексиране; позволява на потребителите да вграждат свои собствени функции в заявки и да не разчитат само на стандартни SQL инструменти.

На работа ми се наложи известно време да се занимавам с IBM DB2 DBMS. Защото Тъй като системата е комерсиална, в интернет няма много информация на руски език, затова реших да опиша някои от характеристиките на тази СУБД.

Входна точка

Нека започнем с входната точка в СУБД. В SQL SERVER крайната точка е екземпляр, който разбира се може да има отделни бази данни, но конфигурацията и моделът на защита са еднакви за целия екземпляр. В DB2 входната точка изглежда така - екземпляр (който съответства на конкретен порт) - база данни. В същото време има конфигурация за цялата инстанция и за отделна база данни.

Можете да видите конфигурацията на екземпляра или с помощта на командата db2:

Конфигурация на мениджъра на базата данни

Тип възел = Enterprise Server Edition с локални и отдалечени клиенти

Ниво на издаване на конфигурация на мениджъра на базата данни = 0x0b00

Скорост на процесора (милисекунд/инструкция) (CPUSPEED) = 2,912790e-07
Пропускателна способност за комуникация (MB/sec) (COMM_BANDWIDTH) = 1,000000e+02

Максимален брой едновременно активни бази данни (NUMDB) = 8
Системна поддръжка на обединена база данни (FEDERATED) = ДА
Име на монитора на процесора на транзакции (TP_MON_NAME) =

Сметка за връщане на плащане по подразбиране (DFT_ACCOUNT_STR) =

Инсталационен път на Java Development Kit (JDK_PATH) = /home/db2inst1/sqllib/java/jdk32

Ниво на улавяне на диагностична грешка (DIAGLEVEL) = 3
Ниво на известяване(NOTIFYLEVEL) = 3
Път на директорията с диагностични данни (DIAGPATH) = /home/db2inst1/sqllib/db2dump

Превключватели за монитор на база данни по подразбиране
Буферен пул (DFT_MON_BUFPOOL) = ИЗКЛ

Къде ще бъдат посочени параметрите, тяхното значение и декодиране. Възможна е и съкратена версия:

вземете dbm cfg

Или със запитване:

Изберете име, стойност от sysibmadm.dbmcfg

Важните параметри включват:

  • тип удостоверяване (AUTHENTICATION)
  • път по подразбиране за създаване на нови бази данни (DFTDBPATH)
  • откриване на мрежов сървър (DISCOVER)
Можете да видите настройките за конкретна база данни по следния начин:

свържете се с пробата(пример - име на база данни)

получите конфигурация на мениджъра на базата данни

Или с приблизително същата заявка като преди:

изберете име, стойност от sysibmadm.dbcfg

Удостоверяване

Голямата разлика между DB2 и други СУБД е моделът за удостоверяване. Няма вътрешни потребители като в SQL Server или MySQL. Цялото удостоверяване се извършва чрез външни за СУБД средства (динамично заредени плъгини) - посредством операционната система или външни плъгини (Kerberos, GSS API). Типът на удостоверяване се задава в параметъра AUTHENTICATION на конфигурацията на мениджъра на базата данни. По подразбиране стойността на SERVER е зададена - потребителското име и паролата се предават в чист текст и тази двойка се проверява за коректност с помощта на операционната система. Ако потребителското име и паролата са правилни, тогава привилегията CONNECT се проверява за потребителя или групите, към които той е член (включително специалната PUBLIC група, която включва всички оторизирани потребители). Тези привилегии могат да се видят в таблицата SYSCAT.DBAUTH:

изберете GRANTEE от SYSCAT.DBAUTH където CONNECTAUTH = "Y"

Голяма грешка в конфигурацията е включването на типа CLIENT за удостоверяване.В този случай DB2 се доверява на удостоверяване на свързващия клиент и ако PUBLIC има привилегията CONNECT, тогава всеки потребител може да се свърже с базата данни и да има достъп до всички данни, които PUBLIC има. Потребителското име е взето от операционната система. Тоест, ако се свържем чрез Data Studio като потребител на администратор, тогава ще бъдат предоставени всички привилегии, които този потребител има. И в този случай няма разлика от кой компютър е направен достъпът. Този тип удостоверяване се препоръчва да се активира само когато има защитен канал между сървъра и клиента и други клиенти няма да могат да се свържат към СУБД.

Упълномощаване

Привилегиите на ниво екземпляр се записват в конфигурацията на мениджъра на базата данни. Това са следните привилегии:

  • SYSADM
  • SYSCTRL
  • SYSMAINT
  • SYSMON
Тези привилегии се задават чрез посочване на групата, в която потребителят ще влезе. В dbmcfg това са съответно опциите SYSADM_GROUP, SYSCTRL_GROUP, SYSMAINT_GROUP и SYSMON_GROUP.

След това има специфични за базата данни привилегии. Това са привилегии като достъп до база данни (CONNECTAUTH), създаване на таблица (CREATETABAUTH), създаване на рутинни процедури (EXTERNALROUTINEAUTH) и т.н. Тези привилегии могат да се видят в изгледа SYSCAT.DBAUTH

И накрая, правата за достъп до конкретни данни - таблици, подпрограми и т.н. Тук всичко е доста тривиално, но и с някои особености.

Правата за достъп до таблица могат да се видят в изгледа SYSCAT.TABAUTH. Видът на предоставената привилегия се съхранява в отделни колони в зависимост от самото привилегия (SELECTAUTH, DELETEAUTH и др.). Когато предоставяте привилегия с помощта на командата GRANT за привилегиите REFERENCES и UPDATE, можете също да посочите имената на колоните, към които ще бъдат разширени дадените привилегии. В този случай информацията за това може да се види в изгледа SYSCAT.COLAUTH

Привилегиите за рутини (функции, процедури и методи) могат да се видят в SYSCAT.ROUTINEAUTH. Тук не всичко е тривиално, в зависимост от полетата SPECIFICNAME и TYPENAME, привилегиите могат да бъдат предоставени на всички подпрограми на дадена схема.

Ако читателите харесат статията, тогава съм готов да говоря за защита на данните в DB2 с помощта на контрол на достъпа, базиран на етикети

Въведение

Целта на общата инженерна практика е да затвърди и разшири знанията, придобити от студента в процеса на обучение, да придобие представа за бъдещата професия. Целите на практиката са: - затвърждаване на теоретичния материал, представен в лекциите по дисциплините от учебния блок;

Придобиване на компютърни умения, с Windows OS и стандартен офис пакет;

Консолидиране на знанията и уменията, получени при изучаване на основни курсове по компютърни науки за методите за използване, разработване и внедряване на класически алгоритми в изучаваните езици за програмиране;

Да овладеят методите за професионално търсене на информация в Интернет;

Да проучи изискванията за отчитане, методите и приложните среди за изготвяне на отчети за резултатите от практиката;

Работа с офис техника.

В първия раздел на доклада е разгледана системата за управление на базата данни на IBM DB2: описана е концепцията за СУБД, дадени са типове и кратко описание на IBM DB2 СУБД.

Във втората част на доклада са разработени алгоритъм и C програма за намиране на максималния елемент от масив A в масив B.

IBM DB2 система за управление на база данни

Концепцията за система за управление на база данни

Базата данни (DB) е наименувана колекция от взаимосвързани данни, управлявани от СУБД.

Система за управление на бази данни (СУБД) - набор от софтуерни и езикови инструменти за общи или специални цели, които управляват създаването и използването на бази данни.

Историята на създаването на СУБД

Енергичната дейност за намиране на приемливи начини за социализиране на непрекъснато нарастващия обем информация доведе до създаването в началото на 60-те години на специални софтуерни системи, наречени „Системи за управление на бази данни“ (СУБД).

Основната характеристика на СУБД е наличието на процедури за въвеждане и съхранение не само на самите данни, но и на описания на тяхната структура. Файловете, снабдени с описание на съхраняваните в тях данни и контролирани от СУБД, започват да се наричат ​​банки данни, а след това "бази данни" (БД).

Когато започва производството на компютри от семейството на ES. Работата се извършваше в две посоки. На първо място бяха направени опити за създаване на собствена оригинална местна СУБД. В същото време аналозите на някои СУБД, широко използвани в чужбина, способни да функционират на местни хардуерни и софтуерни платформи, бяха разработени в ускорен режим. Подобен подход беше използван и за създаване на СУБД за хардуерни платформи, чието масово производство започна в страната след появата на компютърната платформа ES - за SM компютри, ASVT, IBM-съвместими персонални компютри и др.

Историята на създаването на IBM DB2 DBMS

DB2 е семейство системи за управление на релационни бази данни, произведени от IBM. Това е една от "зрелите" световни СУБД, постоянен лидер в производителността, по отношение на техническата реализация, мащабируемост и т.н.

DB2 има дълга история. Това е първата СУБД, която използва SQL. От 1975 до 1982 г. прототипът на DB2 е разработен в IBM под името System Relational или System R.

DB2 получи името си през 1982 г. с първото комерсиално издание за VM, наречено SQL/DS, а след това изданието за MVS, наречено DB2.

Развитието на DB2 датира от началото на 70-те години, когато д-р Е.Ф. Код, който работи за IBM, разработва теорията на релационните бази данни и публикува модел за манипулиране на данни през юни 1970 г. За да приложи този модел, той разработи език за релационна база данни и го нарече Алфа.

IBM DB2 е най-високопроизводителната и мощна СУБД в света. Основното му уникално предимство е, че всяко приложение, написано за DB2, ще работи с DB2 сървъри на данни, работещи на всяка разпределена платформа, поддържана от DB2 (Windows, HP-UX, Sun Solaris, Linux, Mac OS X и AIX®).

DB2 се предлага в различни издания и пакети. Всички издания и пакети на DB2 са изградени на една и съща база изходен код; те се различават само по функционалност и лицензионни условия, които са насочени към характеристиките, функциите и предимствата на DB2 към съответните им пазарни сегменти и ценови групи.

Обхватът на задачите, които могат да бъдат решени с помощта на DB2 обектни разширения е значително увеличен в сравнение с класическия релационен подход. Взаимствайки от обектно-ориентирания модел елементите, които са най-необходими за съвременните приложения, DB2 запази всички предимства на релационната СУБД. Това дава възможност да се използват както релационни, така и обектно-ориентирани подходи при изграждане на корпоративни информационни системи на негова основа.

Системата за управление на база данни IBM DB2 започва своето развитие през далечните 70-те години и сега заема силна позиция на пазара на корпоративни СУБД, отговаряйки на високи изисквания за производителност, надеждност, сигурност и мащабируемост.

Игор Булатенко, специалист по информационна сигурност, Positive Technologies

Системата за управление на база данни IBM DB2 започва своето развитие през далечните 70-те години и сега заема силна позиция на пазара на корпоративни СУБД, отговаряйки на високи изисквания за производителност, надеждност, сигурност и мащабируемост. В частния сектор DB2 не е широко разпространен, въпреки наличието на безплатна версия на IBM DB2 Express. Може би това е причината, поради която в Интернет няма много статии за конфигуриране и използване на DB2.

Моделът за защита на DB2 има широк спектър от функционалност и ви позволява да защитавате данни както от външни влияния, така и да разграничавате правата за достъп за вътрешни потребители, използвайки самата СУБД.

Въпреки това, за неподготвен потребител е трудно да разбере цялото това разнообразие от нулата, така че някои важни аспекти ще бъдат обсъдени в тази статия.

Входна точка

Входната точка към DB2 изглежда така: DBMS -> екземпляр (екземпляр), който може да бъде свързан към конкретен порт -> конкретно име на база данни. Настройките за сигурност могат да се променят както в конкретен екземпляр, така и в конкретна база данни.

Удостоверяване

Удостоверяването е основният защитен механизъм, който се прилага, когато се опитате да се свържете към DB2 сървър. Удостоверяването проверява дали предоставените идентификационни данни са правилни. Основната характеристика в DB2 е, че удостоверяването на потребителя се извършва само от външни плъгини. Вътрешни потребители, за разлика от Oracle или MS SQL Server, не съществуват тук. Дори функцията за създаване на потребител, открита в IBM Data Studio, всъщност не създава потребител, а присвоява привилегията за свързване към базата данни на посочения потребител.

Има няколко опции за удостоверяване, желаната опция се контролира от параметъра AUTHENTICATION в мениджъра на базата данни. Стойността на този параметър влияе къде ще бъдат удостоверени клиентите (от страната на сървъра или от страната на клиента) и дали данните ще се предават в криптирана форма (стойности, завършващи с _ENCRYPT). Поддържаните стойности за този параметър са налични на:

Можете да видите конфигурацията на мениджъра на базата данни, като направите заявка към таблицата sysibmadm.dbmcfg, но това изисква достъп до някоя от базите данни, което не винаги е възможно. Ако имате локален достъп до сървъра, можете да отворите процесор на командния ред (db2 или db2.exe на Windows), да се свържете с инстанцията и да изпълните следните команди:

db2 => прикрепете към db2inst1
db2 => получаване на конфигурация на мениджъра на базата данни

Стойността по подразбиране за параметъра AUTHENTICATION е SERVER. Проверката на предоставените потребителски идентификационни данни се извършва от страна на сървъра посредством операционната система, но всички данни се предават в чист текст и могат да бъдат прихванати от нападател.

Нека видим как изглежда заснетата информация в Wireshark.


Входът и паролата, предадени от клиента, се виждат в пакета, когато преглеждате EBCDIC.

При промяна на типа на удостоверяване на SERVER_ENCRYPT, потребителското име и паролата ще бъдат предадени в криптирана форма и проверени от страна на сървъра.

Стойността се променя, както следва:

db2 => прикрепете към db2inst1
db2 => актуализиране на конфигурацията на мениджъра на базата данни с помощта на удостоверяване server_encrypt
db2 => db2stop сила
db2 => db2start

След това пакетът за удостоверяване ще изглежда така:


Въпреки това, текстът на исканията и резултатът все още ще се предават в ясен вид.

Пакет със заявка за Wireshark:


Пакет с отговор в Wireshark:


Ако параметърът AUTHENTICATION е зададен на DATA_ENCRYPT, тогава идентификационните данни на потребителя са криптирани, както и информацията, предавана между клиента и сървъра.

Стойността се променя по същия начин като примера по-горе:

db2 => прикрепете към db2inst1
db2 => актуализиране на конфигурацията на мениджъра на базата данни с помощта на удостоверяване data_encrypt
db2 => db2stop сила
db2 => db2start

След това предадените данни също ще бъдат криптирани:


Също така трябва да обърнете внимание на типа удостоверяване на КЛИЕНТ. При този тип удостоверяване се счита, че между клиента и сървъра има защитен канал за комуникация и ако потребителят е получил достъп до клиента, той може да получи достъп до сървъра, без да проверява коректността на идентификационните данни. Тоест удостоверяването като такова се извършва от страна на клиента, проверката не се извършва от страна на сървъра. Дори ако потребителят, който се свързва със сървъра, няма права за достъп, той пак получава всички привилегии, които са присвоени на групата PUBLIC. Следователно не трябва да използвате този тип удостоверяване, той ще предостави на нападателите възможност да получат достъп до сървъра без много усилия.

Ако изведнъж, по някаква причина, е необходим този тип удостоверяване, тогава трябва да вземете предвид, че има още два допълнителни параметъра, които в крайна сметка влияят върху това как ще бъдат проверени идентификационните данни на потребителя. Това са параметърът trust_allclnts, с който можете да посочите кои клиенти се считат за доверени и параметърът trust_clntauth, който определя къде да се проверят данните за вход и парола, ако са били предадени по време на връзката. И двете от тези опции засягат удостоверяването само ако опцията AUTHENTICATION е зададена на CLIENT.

Ако е успешен, потребителският идентификатор се съпоставя с DB2 ID. Обикновено идентификационният номер е същият като потребителското име, но използва главни букви.

Упълномощаване

Процесът на упълномощаване проверява дали потребителят има необходимите права за исканите от него действия. Има правомощия (правомощия) на екземпляр на СУБД и база данни.

Разрешенията на ниво конкретен екземпляр се записват в конфигурацията на мениджъра на базата данни. Това са следните правомощия:

  • SYSADM (правомощия на системен администратор);
  • SYSCTRL (разрешение за управление на системата);
  • SYSMAINT (разрешение за поддръжка на системата);
  • SYSMON (разрешение за наблюдение на системата).

Тези привилегии се задават чрез посочване на групата, към която ще принадлежи потребителят. За това се използват следните параметри на файла dbmcfg (според горните разрешения):

Не е лесно да получите списък с потребители, които са членове на група, използвайки DB2 инструменти, трябва да го направите в самата операционна система или да анализирате към кои групи принадлежи даден потребител (вижте раздела "полезни заявки" за заявка ).

Когато конфигурирате DB2, не забравяйте да проверите списъка с потребители, на които е присвоено правомощието SYSADM. Това разрешение ви позволява да управлявате всички обекти на базата данни.

Разрешенията на конкретна база данни могат да се видят в изгледа SYSCAT.DBAUTH. Обърнете внимание на привилегията CONNECTAUTH, която определя дали потребителят ще има достъп до базата данни или не, и привилегията NOFENCEAUTH, която отговаря за създаването на неоградени (неоградени) процедури и функции. Такива процедури се извършват в адресното пространство на базата данни и в случай на грешка могат да нарушат целостта на базата данни и таблиците в нея.

Привилегия

Привилегиите в DB2 могат да бъдат предоставени на различни обекти. Правата за достъп до таблица могат да се видят в изгледа SYSCAT.TABAUTH. Данните за вида на предоставената привилегия се съхраняват в отделни колони, в зависимост от самото привилегия (SELECTAUTH, DELETEAUTH и др.). Когато предоставяте привилегия с помощта на командата GRANT за привилегиите REFERENCES и UPDATE, можете също да посочите имената на колоните, към които ще бъдат разширени дадените привилегии. Информация за това може да се види в изгледа SYSCAT.COLAUTH

Привилегиите на рутините (функции, процедури и методи) могат да се видят в изгледа SYSCAT.ROUTINEAUTH. Всичко тук не е съвсем тривиално, в зависимост от полетата SPECIFICNAME и TYPENAME могат да се издават привилегии на всички подпрограми на дадена схема.

Потребители, групи, роли

Всички правомощия за база данни и различни привилегии могат да бъдат предоставени на потребители, групи или роли. Съществуването на потребители, групи и членството на потребители в групи се регулира извън самата база данни. В тази връзка е желателно да се вземат предвид определени препоръки и да се знаят някои тънкости при издаване на правомощия и привилегии. Не се препоръчва да се предоставят привилегии и права на база данни, по-специално възможността за свързване към базата данни (CONNECTAUTH), към групи. Трябва да предоставите привилегии на конкретни потребители или роли, които се нуждаят от това. Поддръжката за роли е налична в DB2 от версия 9.5. Членството в роли се управлява в самата база данни.

Също така, DB2 има вградена роля PUBLIC. На потребител на база данни не е необходимо да се предоставя роля PUBLIC: не е възможно да се отмени ролята PUBLIC от потребител. Когато се предостави привилегия на ролята PUBLIC, привилегията всъщност се предоставя на всички потребители на база данни. Не трябва да предоставяте никакви права за база данни на ролята PUBLIC. Привилегиите върху таблици и изгледи трябва да се предоставят с изключително внимание, само за преглед и без възможност за пренасочване (С ОПЦИЯ НА ПРЕДОСТАВЯНЕ).

Поради особеността на удостоверяването при предоставяне на привилегии, съществуването на потребител или група в системата не се проверява. В резултат на това потребителите за удостоверяване може да се появят в системата, без да са обвързани с реални потребители на системата. Можете да намерите такива потребители, като използвате следната SQL заявка:

SELECT authid FROM sysibmadm.authorizationids WHERE authidtype = "U" И authid NOT IN (ИЗБЕРЕТЕ потребителско име ОТ TABLE(sysfun.USERS()) КАТО W)

За търсене на такива групи се използва подобна заявка, но заявката показва, че данните за PUBLIC не трябва да се показват:

ИЗБЕРЕТЕ authid FROM sysibmadm.authorizationids WHERE authidtype = "G" И authid НЕ В (ИЗБЕРЕТЕ име на група ОТ TABLE(sysfun.groups()) КАТО W) И authid !="ПУБЛИЧЕН"

LBAC

DB2 има мощен механизъм за ограничаване на достъпа до данни в таблици въз основа на етикети (контрол на достъпа, базиран на етикети). Механизмът ви позволява да задавате защитни етикети на определени редове или колони по такъв начин, че потребител, който няма достъп до защитени данни, дори да не знае за тяхното съществуване. Няма смисъл да навлизаме в подробности за методите за внедряване на LBAC, тъй като производителят има урок по тази тема:

Инструменти за автоматично сканиране

Когато конфигурирате сигурността на IBM DB2 сървър, е важно да използвате някакъв вид скенер за сигурност (напр. NGS SQuirreL за DB2, MaxPatrol и т.н.). Скенерите ясно ще посочат уязвимостите на настройките, които може да сте пропуснали, или ще покажат информация във вид, удобен за анализ:

Полезни заявки и команди

Вземете настройки на мениджъра на базата данни:

изберете име, стойност от sysibmadm.dbmcfg

или

db2 => получиdbmcfg

Промяна на опцията за мениджър на база данни:

db2 => актуализиране на конфигурацията на мениджъра на базата данни чрез

След това трябва да рестартирате инстанцията:

db2 => db2 Спри сесила
db2 => db2 започнете

Вземете настройки на базата данни:

изберете име, стойност от sysibmadm.dbcfg

или

db2 => вземете db cfg за

Списък на потребителите на операционна система:

изберете потребителско име от таблица(sysfun.USERS()) AS t

Списък на групите операционни системи:

изберете име на група от таблица(sysfun.GROUPS()) AS t изберете AUTHID, AUTHIDTYPE от sysibmadm.AUTHORIZATIONIDS

Показване на текущото име на базата данни:

изберете текущия сървър от sysibm.sysdummy1

Въведете текущо потребителско име:

изберетепотребителотsysibm. sysdummy1

Вземете списък с групите, към които принадлежи потребителят:

изберете GROUPNAME от таблица(sysfun.groups_for_user(" ")) като т

Списък на всички инсталирани СУБД:

$ db2ls

Списък на всички екземпляри в СУБД:

$ db2 ilist

Ограничете броя на изходните линии:

изберете * от името на раздела, извличане само на първите 5 реда

IBM DB2 DBMS е резултат от близо 30 години научноизследователска и развойна работа на IBM. Най-новата версия на тази СУБД (6.x) включва един от най-сложните инструменти за управление и оптимизация и машина за база данни, която може да се развие от лаптоп с Windows 95 до цял клъстер от мейнфрейми S/390, работещи с OS/390.

DB2 пакетът е наличен в две издания: DB2 Workgroup и DB2 Enterprise Edition. Тази СУБД реализира всички иновативни технологии на базата данни, познати от предишни версии на DB2, като паралелна обработка на заявки, пълен набор от инструменти за репликация, обобщени таблици на заявки за подобряване на производителността на базата данни, функции за проектиране на обектно-ориентирана база данни и функции на езика Java. В допълнение, системата DB2 е оборудвана с пълен набор от мултимедийни разширения, които ви позволяват да запазвате и манипулирате текст, звук и видео фрагменти, изображения и географски данни. Можем да кажем, че по отношение на мащабируемостта технологията за клъстериране на бази данни, разработена от специалистите на IBM, няма аналози. Тези разширения значително улесняват процеса на разработване на приложения за уеб, както и програми, съдържащи фотографски изображения и обемни текстови отчети. DB2 системата също е доста конкурентна като платформа за разработка на приложения, тъй като има инструмент за създаване на съхранявани процедури, който автоматично преобразува SQL израза в подходящия Java клас и го включва в структурата на базата данни. В DB2 6.1 оперативната съвместимост с други СУБД е значително подобрена, като се позволи използването на спецификацията OLE DB на Microsoft, нов стандарт за достъп до база данни. Инструментите за администриране на DB2, които са пренаписани на Java в новата версия и са достъпни от мрежата, заслужават най-висока оценка.

Основните недостатъци на тази СУБД са относителната сложност на администрирането и липсата (все още) на реализации за популярни сървърни операционни системи, като LINUX.

В тази СУБД, благодарение на Index Smart-Guide, е възможно да се извърши настройка, като се формират оптимални индекси за даден брой достъпи, което характеризира типичното натоварване на базата данни. DB2 е единственият пакет, който ви позволява да генерирате централни таблици, което значително подобрява ефективността на СУБД като складове за данни. Обобщената таблица е временно работно пространство, използвано от базата данни за съхраняване на отговори на често задавани заявки. Е, може да се каже, че с нова функционалност, както и паралелизиране и възможност за избор на почти всеки тип присъединяване и индекс (освен може би растерни индекси), моделът DB2 6.1 се превръща в най-евтината от високопроизводителните системи. Административните инструменти на тази СУБД са напълно подходящи за нивото на решаваните задачи, освен това предоставя изключително широки възможности за работа с мултимедийни данни и за програмиране (което явно липсва в Microsoft SQL Server).

СУБД от Informix.

Напоследък се наблюдава преход от релационни СУБД към обектно-ориентирани (което ясно се вижда в примера на Oracle). Informix, следвайки тази концепция, обяви ново решение за СУБД на Centaur, базирано на релационната база данни Informix Dynamic Server 7.3 и обектно-релационната база данни Informix Universal Data Option и комбинираща високата производителност на Dynamic Server при работа с данни с универсалност и мултимедийни функции на Universal Опция за данни. Тази реализация е предназначена за разработване на интернет системи. Очаква се тази СУБД да има гъвкава среда за разработка с мащабируемост, която да отговаря на интензивните работни натоварвания, характерни за Интернет, и инструменти за работа с нови типове данни, които станаха повсеместни с развитието на мрежата. Функциите на Java, внедрени в новата система, ще позволят на разработчиците да създават съхранени процедури, потребителски програми и DataBlades компоненти на този език, който Informix нарича персонализирани разширения на база данни.

От гледна точка на клиентите на Inforix това е голяма крачка напред, тъй като досега при работа с DataBlades те можеха да използват само C и SPL, вътрешния език на Informix за писане на съхранени процедури. В допълнение, пакетът Centaur ще бъде оборудван с вградена ActiveX обработка на обекти. Това ще направи възможно например създаването на съхранени процедури в база данни на езика Visual Basic; това обаче изисква пакетът Centaur да работи в среда на Windows NT.

Centaur ще бъде добавка към Informix Dynamic Server и ще работи с традиционния формат на база данни за този пакет, така че потребителите ще имат на разположение всички стари функции, а надграждането на системата до новата версия няма да бъде много трудно. В допълнение, пакетът Centaur ще запази всички възможности за проектиране и програмиране, които превърнаха системата Informix Universal Server в изключително инженерно постижение. Новата система ще бъде оборудвана със средства за проектиране на обектно-ориентирана база данни, създаване на специализирани таблици и програми за индексиране; той ще позволи на потребителите да вграждат свои собствени функции в заявки и да не разчитат само на стандартни SQL инструменти.

Заключения.

След като разгледахме основните характеристики на архитектурите за изграждане на AIS, сървърни операционни системи и СУБД, в бъдеще, като архитектура на AIS, ще изберем архитектурата Internet / Intranet, като Linux сървърна ОС, като Oracle 8i DBMS. Обобщаващата таблица представя сравнителните характеристики на двете най-разпространени решения днес, базирани на Microsoft SQL Server 7.0 (на NT) и Oracle8i (на Unix, Linux).

Microsoft SQL Server 7.0

Административно управление

Графични инструменти

Лесна поддръжка

Двигател за данни

Работа с множество процесори

Приемливо

Функция за присъединяване и избор на индекс

Едновременен достъп от множество потребители

Обработка на мултимедийни данни

Свързване с мрежата

Обработка на аудио, видео, изображения

Търсете в този текст

Оперативна съвместимост

Приемливо

Взаимодействие с други бази данни

единичен вход

Работете под различни операционни системи

Приемливо

Опции за програмиране

Приемливо

Съхранени процедури и тригери

Вътрешен език за програмиране

Изграждане на база данни

Обектно-ориентирани системи

Работа с клонове

Репликация

Разпределена обработка на транзакции

Дистанционно управление

Организиране на складове за данни и изготвяне на отчети

Инструменти за зареждане

Инструменти за анализ

Ново на сайта

>

Най - известен