Меню

2.13 Using DBCA to Configure Oracle RAC One Node

If you have selected to install Oracle RAC software only on cluster nodes, you can use Oracle Database Configuration Assistant (DBCA) to configure Oracle RAC One Node.

After installation, start up DBCA, and on the Welcome page, select Oracle RAC One Node database. DBCA starts on only one node of the set of nodes you select. You can add additional nodes to the cluster later.

Selecting one node deploys Oracle RAC One Node on a single node. Oracle recommends that you select all nodes in the cluster to which you want Oracle RAC One Node to be able to fail over.

Caution:

By default, any named user may create a server pool. To restrict the operating system users that have this privilege, Oracle strongly recommends that you add specific users to the CRS Administrators list. See for more information about adding users to the CRS Administrators list.

If you select less than two nodes, or create server pools with a cardinality of or more, then DBCA posts a warning message that the configuration you select will not support failover of the Oracle RAC One Node instance.

When you create an administrator-managed Oracle RAC One Node database, note that while the database is started on only one of the pool of nodes you installed the binaries, all the candidate servers are placed into the Generic server pool. If the servers are not already in Generic or Free, then this may result in stopping resources that are running on candidate servers.

Что такое Oracle Database?

Oracle – это крупнейшая в мире компания по разработке программного обеспечения для предприятий. Специализация Oracle является разработка систем управления базами данных, таких как Oracle Database, а также других бизнес-приложений.

Oracle Database — это объектно-реляционная система управления базами данных (RDBMS или Relational DataBase Management System). Многие крупнейшие компании мира в качестве базы данных выбирают именно Oracle Database.

В названии каждой версий мы наблюдаем номер версии и букву, например 11g, где g – это «grid» или сеть, символизируя тем самым поддержку grid-вычислений.

В 2013 году вышла версия 12c, где c означает cloud (облако).

Данная СУБД поддерживает много платформ, например: Linux x86, Linux x86-64, как 32 разрядные Windows так и 64, Solaris x86, Solaris SPARC (64-бит), Mac OS X Server и еще много других.

В Oracle Database используется язык программирования PL/SQL (Procedural Language / Structured Query Language) — это расширения языка SQL, которое разработала компания Oracle. Например, также компания Microsoft для своей СУБД разработала язык Transact-SQL, его мы подробно разбирали во многих статьях, даже составили «Справочник Transact-SQL».

Oracle Database поставляется в следующих редакциях:

  • Oracle Database Enterprise Edition;
  • Oracle Database Standard Edition;
  • Oracle Database Standard Edition One;
  • Oracle Database Personal Edition;
  • Oracle Cloud File System;
  • Oracle Database Mobile Server;
  • Oracle Database Express Edition.

Oracle Database Express Edition

Oracle Database Express Edition (Oracle Database XE) – это бесплатная версия базы данных Oracle Database для начинающих разработчиков и администраторов, которые если освоят данную СУБД, смогут легко перейти на полноценную версию.

Так как это версия бесплатная она естественно имеет ограничения:

  • Она будет использовать не более 1 гигабайта оперативной памяти;
  • Также будет использовать только один процессор;
  • Всего одна база данных размером не более 11 гигабайт;
  • Может быть установлена только на ОС Windows x32, Windows x64 и Linux x86-64.

На данный момент последней версией является Oracle Database Express Edition 11g Release 2, поэтому именно ее мы и будем устанавливать, но прежде давайте узнаем, где же взять данное программное обеспечение.

Где скачать Oracle Database Express Edition 11g Release 2?

Конечно, скачать данную СУБД можно с официального сайта компании Oracle, а конкретно на странице посвященной Oracle Database Express Edition

Мы соответственно переходим на страницу, жмем Accept License Agreement — это для принятия лицензионного соглашения, затем выбираем тип нашей операционной системы, я для примера выберу файл для 32 разрядных Windows, а именно Oracle Database Express Edition 11g Release 2 for Windows x32.

Затем откроется страница, на которой необходимо указать учетную запись и пароль от Oracle и нажать «Вход в систему», это если Вы уже зарегистрированы, а если нет, то нажмите сначала «Создать учетную запись». Советую это сделать, так как данная учетная запись позволит Вам получить доступ к различным онлайн приложениям Oracle, службе поддержки Oracle, а так же, как Вы уже поняли, к загрузке программного обеспечения.

После этого начнется загрузка файла, в нашем случае это OracleXE112_Win32.zip (сжатый архив) размером 312 мегабайт.

Create SystemD Service for Oracle Database 19c on CentOS 8:

To configure autostart of Oracle Database 19c on CentOS 8, we have to write a SystemD service.

# vi /usr/lib/systemd/system/dbora.service

Add following lines of code in this file.

Description=Oracle Database Service
After=network.target
 

Type=forking
ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbstart /u01/app/oracle/product/19.3.0/dbhome_1
ExecStop=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbshut /u01/app/oracle/product/19.3.0/dbhome_1
User=oracle
TimeoutSec=300s
 

WantedBy=multi-user.target

Execute following command to inform SystemD about changes in unit files.

# systemctl daemon-reload

Enable and start Oracle Database 19c service.

# systemctl enable --now dbora.service
Created symlink /etc/systemd/system/multi-user.target.wants/dbora.service â /usr/lib/systemd/system/dbora.service.

Verify the status of the Oracle Database 19c service.

# systemctl status dbora.service
â dbora.service - Oracle Database Service
   Loaded: loaded (/usr/lib/systemd/system/dbora.service; enabled; vendor prese>
   Active: active (running) since Tue 2020-04-28 16:01:39 PKT; 3s ago
  Process: 27957 ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbstart >
    Tasks: 57 (limit: 12367)
   Memory: 1.0G
   CGroup: /system.slice/dbora.service
           ââ28067 ora_pmon_cdb1
           ââ28069 ora_clmn_cdb1
           ââ28071 ora_psp0_cdb1
           ââ28073 ora_vktm_cdb1
           ââ28077 ora_gen0_cdb1
           ââ28079 ora_mman_cdb1
           ââ28083 ora_gen1_cdb1
           ââ28086 ora_diag_cdb1
           ââ28088 ora_ofsd_cdb1
           ââ28091 ora_dbrm_cdb1
           ââ28093 ora_vkrm_cdb1
           ââ28095 ora_svcb_cdb1
           ââ28097 ora_pman_cdb1
           ââ28099 ora_dia0_cdb1
           ââ28101 ora_dbw0_cdb1
           ââ28103 ora_lgwr_cdb1

We have successfully installed Oracle Database 19c on CentOS 8 server and created a Multitenant Database in this server.

Introduction

NFS is an abbreviation of Network File System, a platform independent technology created by Sun Microsystems that allows shared access to files stored on computers via an interface called the Virtual File System (VFS) that runs on top of TCP/IP. Computers that share files are considered NFS servers, while those that access shared files are considered NFS clients. An individual computer can be either an NFS server, a NFS client or both.

We can use NFS to provide shared storage for a RAC installation. In a production environment we would expect the NFS server to be a NAS, but for testing it can just as easily be another server, or even one of the RAC nodes itself.

To cut costs, this articles uses one of the RAC nodes as the source of the shared storage. Obviously, this means if that node goes down the whole database is lost, so it’s not a sensible idea to do this if you are testing high availability. If you have access to a NAS or a third server you can easily use that for the shared storage, making the whole solution much more resilient. Whichever route you take, the fundamentals of the installation are the same.

The Single Client Access Name (SCAN) should really be defined in the DNS or GNS and round-robin between one of 3 addresses, which are on the same subnet as the public and virtual IPs. In this article I’ve defined it as a single IP address in the «/etc/hosts» file, which is wrong and will cause the cluster verification to fail, but it allows me to complete the install without the presence of a DNS.

This article was inspired by the blog postings of Kevin Closson.

Assumptions. You need two machines available to act as your two RAC nodes. They can be physical or virtual. In this case I’m using two virtual machines called «rac1» and «rac2». If you want a different naming convention or different IP addresses that’s fine, but make sure you stay consistent with how they are used.

Install Oracle Database 19c Prerequisites on CentOS 8:

Oracle Database 19c requires some software packages, therefore, we are installing these packages before moving forward.

We can install Oracle Database 19c prerequisites using dnf command.

# dnf install -y bc \
> binutils \
> elfutils-libelf \
> elfutils-libelf-devel \
> fontconfig-devel \
> glibc \
> glibc-devel \
> ksh \
> libaio \
> libaio-devel \
> libXrender \
> libXrender-devel \
> libX11 \
> libXau \
> libXi \
> libXtst \
> libgcc \
> librdmacm-devel \
> libstdc++ \
> libstdc++-devel \
> libxcb \
> make \
> net-tools \
> smartmontools \
> sysstat \
> unzip \
> libnsl \
> libnsl2
...
Installed:
  ksh-20120801-253.el8_1.x86_64
  libX11-1.6.7-1.el8.x86_64
  libXau-1.0.8-13.el8.x86_64
  libXi-1.7.9-7.el8.x86_64
  libXrender-0.9.10-7.el8.x86_64
  libXrender-devel-0.9.10-7.el8.x86_64
  libXtst-1.2.3-7.el8.x86_64
  libstdc++-devel-8.3.1-4.5.el8.x86_64
  libxcb-1.13-5.el8.x86_64
  sysstat-11.7.3-2.el8.x86_64
  bc-1.07.1-5.el8.x86_64
  binutils-2.30-58.el8_1.2.x86_64
  elfutils-libelf-devel-0.176-5.el8.x86_64
  fontconfig-devel-2.13.1-3.el8.x86_64
  glibc-devel-2.28-72.el8_1.1.x86_64
  libaio-devel-0.3.112-1.el8.x86_64
  libnsl-2.28-72.el8_1.1.x86_64
  make-1:4.2.1-9.el8.x86_64
  net-tools-2.0-0.51.20160912git.el8.x86_64
  rdma-core-devel-22.3-1.el8.x86_64
  smartmontools-1:6.6-3.el8.x86_64
  unzip-6.0-41.el8.x86_64
  libX11-common-1.6.7-1.el8.noarch
  libX11-devel-1.6.7-1.el8.x86_64
  libX11-xcb-1.6.7-1.el8.x86_64
  libXau-devel-1.0.8-13.el8.x86_64
  libXext-1.3.3-9.el8.x86_64
  libxcb-devel-1.13-5.el8.x86_64
  xorg-x11-proto-devel-2018.4-1.el8.noarch
  bzip2-devel-1.0.6-26.el8.x86_64
  dejavu-fonts-common-2.35-6.el8.noarch
  dejavu-sans-fonts-2.35-6.el8.noarch
  expat-devel-2.2.5-3.el8.x86_64
  fontconfig-2.13.1-3.el8.x86_64
  fontpackages-filesystem-1.44-22.el8.noarch
  freetype-devel-2.9.1-4.el8.x86_64
  glibc-headers-2.28-72.el8_1.1.x86_64
  ibacm-22.3-1.el8.x86_64
  kernel-headers-4.18.0-147.8.1.el8_1.x86_64
  libibumad-22.3-1.el8.x86_64
  libibverbs-22.3-1.el8.x86_64
  libpng-devel-2:1.6.34-5.el8.x86_64
  librdmacm-22.3-1.el8.x86_64
  libuuid-devel-2.32.1-17.el8.x86_64
  libxcrypt-devel-4.1.1-4.el8.x86_64
  lm_sensors-libs-3.4.0-20.20180522git70f7e08.el8.x86_64
  perl-Carp-1.42-396.el8.noarch
  perl-Errno-1.28-416.el8.x86_64
  perl-Exporter-5.72-396.el8.noarch
  perl-File-Path-2.15-2.el8.noarch
  perl-IO-1.38-416.el8.x86_64
  perl-PathTools-3.74-1.el8.x86_64
  perl-Scalar-List-Utils-3:1.49-2.el8.x86_64
  perl-Socket-4:2.027-3.el8.x86_64
  perl-Text-Tabs+Wrap-2013.0523-395.el8.noarch
  perl-Unicode-Normalize-1.25-396.el8.x86_64
  perl-constant-1.33-396.el8.noarch
  perl-interpreter-4:5.26.3-416.el8.x86_64
  perl-libs-4:5.26.3-416.el8.x86_64
  perl-macros-4:5.26.3-416.el8.x86_64
  perl-parent-1:0.237-1.el8.noarch
  perl-threads-1:2.21-2.el8.x86_64
  perl-threads-shared-1.58-2.el8.x86_64
  rdma-core-22.3-1.el8.x86_64
  zlib-devel-1.2.11-10.el8.x86_64

Complete!

3 Licensing Restrictions

This section covers the following topics:

3.1 Oracle Database XE CPU Limitations

If Oracle Database XE is installed on a computer with more than one CPU (including dual-core CPUs), then it will consume, at most, processing resources equivalent to one CPU. For example, on a computer with two CPUs, if two Oracle database clients try to simultaneously execute CPU-intensive queries, then Oracle Database 11g Standard Edition, Oracle Database 11g Standard Edition One, or Oracle Database 11g Enterprise Edition will use both CPUs to efficiently process the queries. However, with Oracle Database XE, the Oracle database will process the queries at the rate of a single CPU even if concurrent processing on two CPUs would be faster. To use the full processing resources of your computer, upgrade to Oracle Database 11g Standard Edition, Oracle Database 11g Standard Edition One, or Oracle Database 11g Enterprise Edition.

3.2 Oracle Database XE Installation and Execution Restrictions

Only one installation of Oracle Database XE can be performed on a single computer. This does not affect any existing installation or new installations of Oracle Database 11g Standard Edition, Oracle Database 11g Standard Edition One, or Oracle Database 11g Enterprise Edition. In addition, users can run only one instance of the Oracle Database XE database on each individual computer. To run more than one Oracle Database server instance or install more than one copy of the database software, upgrade to Oracle Database 11g Standard Edition, Oracle Database 11g Standard Edition One, or Oracle Database 11g Enterprise Edition.

3.3 Oracle Database XE User Data Limitations

The maximum amount of user data in an Oracle Database XE database cannot exceed 11 gigabytes. If the user data grows beyond this limit, then an error will appear. To use more than 11 gigabytes of user data, upgrade to Oracle Database 11g Standard Edition, Oracle Database 11g Standard Edition One, or Oracle Database 11g Enterprise Edition.

3.4 Oracle Database XE RAM Limitation

The maximum amount of RAM that an Oracle Database XE database uses cannot exceed 1 gigabyte, even if more is available. provides the minimum and recommended RAM that you should use. The exact amount of RAM that Oracle Database XE uses is computed automatically using Automatic Memory Management.

To use more than 1 gigabyte of RAM, upgrade to Oracle Database 11g Standard Edition, Oracle Database 11g Standard Edition One, or Oracle Database 11g Enterprise Edition.

For more information about managing memory, refer to .

Установка Oracle Java на Ubuntu

Как я уже сказал выше, для установки oracle java необходимо скачать бинарники. Причем, сделать это так, как я недавно описывал в статье про не получится. Без авторизации ссылки не доступны. Так что необходимо зарегистрироваться на сайте и скачать бинарники себе на компьютер. Я покажу как это сделать на примере Oracle Java 8. Идем на страницу загрузки, авторизовываемся и скачиваем jre-8u211-linux-x64.tar.gz.

Не забудьте отметить флажок напротив Accept License Agreement. После загрузки любым удобным для вас способом скопируйте файл на целевой сервер, куда будем устанавливать Java 8. Я для этого использую scp. Копирую файл в домашнюю директорию /root. Создаем директорию для java и распаковываем туда бинарники.

# mkdir /usr/lib/jvm
# tar -zxf /root/jre-8u211-linux-x64.tar.gz -C /usr/lib/jvm

Java машина должна расположиться в директории /usr/lib/jvm/jre1.8.0_211. Теперь нам необходимо создать символьные ссылки на установленную версию java. Делаем это с помощью update-alternatives.

# update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jre1.8.0_211/bin/java" 1500
# update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jre1.8.0_211/bin/javaws" 1500

Зададим переменную JAVA_HOME, которую используют некоторые приложения. Для этого добавляем в файл /etc/environment следующую строку.

JAVA_HOME="/usr/lib/jvm/jre1.8.0_211"

Сохраняем его и применяем изменение.

# source /etc/environment

Теперь проверим, что у нас получилось.

# java -version
# echo $JAVA_HOME

Все нормально. В случае, если необходимо обновить или установить другую версию Java, то все проделывается точно так же, только в конце указываются ссылки на новую директорию с Java.

Если вам необходимо установить Oracle SDK, то делаете все то же самое, только бинарники скачиваете по другой ссылке — Java SE Development Kit.

В принципе, на этом с установкой Oracle Java на Ubuntu все. В общем случае выполнено все необходимое. Но я в процессе компиляции одного приложения столкнулся с одной ошибкой. Расскажу вам, как ее решил.

Could not find tools.jar

Приложение использовало систему автоматической сборки gradle, которая прекращала сборку с ошибкой.

* What went wrong:
Execution failed for task ':compileJava'.
> Could not find tools.jar. Please check that /usr/lib/jvm/jre1.8.0_211 contains a valid JDK installation.

Я долго гуглил решение. В общем случае оно состоит в том, что нужно тем или иным образом явно указать путь к tools.jar, но у меня этого файла вообще не было в системе и я не знал, где его взять. Я вообще не разбираюсь в теме с явой, первый раз собирал приложение сам. Вышел из положения в итоге следующим образом. Я установил openjdk-8-jdk следующей командой.

# apt install openjdk-8-jdk

Она установилась в директорию /usr/lib/jvm/java-8-openjdk-amd64. Там в директории libs лежал файл tools.jar. Я просто скопировал его в /usr/lib/jvm/jre1.8.0_211/lib, где установлена oracle java. После этого сборка прошла без ошибок.

Уже после написания статьи понял, что мне нужно было установить не Oracle JRE, а JDK, тогда бы все сразу собралось без ошибок. Надеюсь эта информация будет полезна тем, кто будет искать решение похожей проблемы. Она возникла из-за недопонимания различий между JRE и JDK.

4 Checking the Software Requirements

Depending on the products that you intend to install, verify that the following software are installed on the system.

Note:

Oracle Universal Installer performs checks on the system to verify that it meets the listed requirements. To ensure that these checks pass, verify the requirements before you start Oracle Universal Installer.

4.1 Operating System Requirements

The following are the operating system requirements for Oracle Database 11g Release 2 (11.2):

Oracle Solaris 10 U6 (5.10-2008.10)

Starting with Oracle Database 11g Release 2 (11.2.0.3), Oracle Database is also supported on the following operating system version (or later):

Oracle Solaris 11 11/11 X86

Note:

No special kernel parameters or patches are required at the time of this release for Oracle Solaris 11.

To determine the distribution and version of Oracle Solaris installed, enter the following command:

# uname -r
5.10

In this example, the version shown is Oracle Solaris 10 (5.10). If necessary, refer to your operating system documentation for information about upgrading the operating system.

To determine the update level of Oracle Solaris installed, enter the following command:

$ cat /etc/release

4.2 Package Requirements

The following packages (or later versions) are required for Oracle Database 11g Release 2 (11.2) on Oracle Solaris 10:

Oracle Solaris 10

  • SUNWarc

  • SUNWbtool

  • SUNWhea

  • SUNWlibC

  • SUNWlibm

  • SUNWlibms

  • SUNWsprot

  • SUNWtoo

  • SUNWi1of

  • SUNWi1cs (ISO8859-1)

  • SUNWi15cs (ISO8859-15)

  • SUNWxwfnt

  • SUNWcsl

Oracle Solaris 11

The following packages (or later versions) are required for installing Oracle Database Client 11g Release 2 (11.2) on Oracle Solaris 11:

pkg://solaris/developer/build/make
pkg://solaris/developer/assembler

You may also require additional font packages for Java, depending on your locale. Refer to the following website for more information:

http://www.oracle.com/technetwork/java/javase/solaris-font-requirements-142758.html

To determine whether the required packages are installed, enter commands similar to the following:

# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWlibms SUNWsprot \
  SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt

If a package is not installed, then install it. Refer to your operating system or software documentation for information about installing packages.

4.3 Compiler Requirements

Oracle Solaris Studio 12 (C and C++ 5.9) is supported with Pro*C/C++, Oracle Call Interface, Oracle C++ Call Interface, and Oracle XML Developer’s Kit (XDK) for Oracle Database 11g Release 2.

4.4.1 Oracle Messaging Gateway

Oracle Messaging Gateway supports the integration of Oracle Streams Advanced Queuing (AQ) with the following software:

  • IBM MQ Series V6.0, client and server

  • TIBCO Rendezvous 7.2

If you require a CSD for WebSphere MQ, then refer to the following website for download and installation information:

4.4.2 Oracle JDBC/OCI Drivers

Use JDK 6 (Java SE Development Kit ) or JDK 5 () with the JNDI extension with the Oracle Java Database Connectivity and Oracle Call Interface drivers. However, these are not mandatory for the database installation. Please note that IBM JDK 1.5 is installed with this release.

JDK 6 is the minimum level of JDK supported on Oracle Solaris 11.

4.4.3 Programming Languages

The following products are certified for use with:

  • Pro* COBOL

    Micro Focus Server Express 5.1

  • Pro* FORTRAN

    Oracle Solaris Studio 12 Fortran F 95

4.4.4 Browser Requirements

You do not require a web browser to install Oracle Database. However, browsers are required to access documentation, and if you intend to use Oracle Enterprise Manager Database Control and Oracle Application Express. Web browsers must support JavaScript, and the HTML 4.0 and CSS 1.0 standards.

Oracle Enterprise Manager Database Control supports the following browsers:

  • Microsoft Internet Explorer 10.0 (supports Oracle Enterprise Manager Database Control 11.2.0.3 and higher)

  • Microsoft Internet Explorer 9.0

  • Microsoft Internet Explorer 8.0

  • Microsoft Internet Explorer 7.0 SP1

  • Microsoft Internet Explorer 6.0 SP2

  • Firefox 21.0 (supports Oracle Enterprise Manager Database Control 11.2.0.4)

  • Firefox 17.0.6 ESR (supports Oracle Enterprise Manager Database Control 11.2.0.4)

  • Firefox 3.6

  • Firefox 3.5

  • Firefox 3.0.7

  • Firefox 2.0

  • Safari 4.0.x

  • Safari 3.2

  • Safari 3.1

  • Google Chrome 27.0 (supports Oracle Enterprise Manager Database Control 11.2.0.4)

  • Google Chrome 4.0

  • Google Chrome 3.0

  • Netscape Navigator 9.0

  • Netscape Navigator 8.1

See Also:

Configuring XE

The configuration will be prompt you for

  1. the APEX http port (8080 by default)
  2. the database (TNS) listener port (1521 by default)
  3. A single password to be assigned to the database SYS and SYSTEM users
  4. whether you want the database to start automatically when the system starts (Yes by default)

Unless you have other software, or Oracle Instances, running elsewhere, the defaults should be fine.

Here we go then, still as root, run :

/etc/init.d/oracle-xe configure

The output, complete with the prompts will be something like :

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express 
Edition.  The following questions will determine whether the database should 
be starting upon system boot, the ports it will use, and the passwords that 
will be used for database accounts.  Press <Enter> to accept the defaults. 
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express :8081

Specify a port that will be used for the database listener :1525

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of 
different passwords for each database account.  This can be done after 
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) :y

Starting Oracle Net Listener...Done
Configuring database...Done
Starting Oracle Database 11g Express Edition instance...Done
Installation completed successfully.

Congratulations, you now have a running database. The first thing to do with it, however, is to shut it down.
In fact, we need to do a re-start so that the menu items that have been added as part of the installation are visible.
So, re-boot.

NOTE – from this point on you can stop being root (although you may need to sudo occasionally).

Once the system comes back, you will see the new Menu icons in the Applications menu under others :

Just to confirm that your database is up and running, you can select the Run SQL Command Line option from this menu
and run the following :


conn system/pwd
select sysdate from dual
/

This should return the current date.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: