Май 142013
 

В данной статье описана устанока Oracle Database 11.2.0.3 на Solaris 11 с использованием ASM.

Конфигурация системы, требуемая Oracle Universal Installer

Установка пакетов

Необходимо установить следующие пакеты:

  • SUNWxwplt
  • SUNWmfrun
 # pkg install SUNWxwplt SUNWmfrun

Если выведется

 pkg install: 'SUNWxwplt' matches multiple packages
      pkg://solaris/compatibility/packages/SUNWxwplt
      pkg://solaris/SUNWxwplt

тогда

 # pkg install pkg://solaris/SUNWxwplt SUNWmfrun

По умолчанию в системе есть следующий publisher:

 # pkg publisher
 PUBLISHER                   TYPE     STATUS P LOCATION
 solaris                     origin   online F http://pkg.oracle.com/solaris/release/

Пользователи и группы

Добавим необходимые группы и пользователя:

 groupadd oinstall
 groupadd dba
 groupadd oper
 groupadd asmadmin
 groupadd asmdba
 groupadd asmoper
 useradd -g oinstall -G dba,oper,asmadmin,asmdba,asmoper -m oracle
 passwd oracle

Добавьте в /export/home/oracle/.profile следующие строчки:

 ORACLE_SID=orcl; export ORACLE_SID
 ORACLE_UNQNAME=$ORACLE_SID; export ORACLE_UNQNAME
 ORACLE_TERM=xterm; export ORACLE_TERM
 ORACLE_HOSTNAME=test-db03.net.bashtel.ru; export ORACLE_HOSTNAME

 ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
 ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME

 PATH=/usr/sbin:$PATH; export PATH
 PATH=$ORACLE_HOME/bin:$PATH; export PATH

 LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
 CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

Расположение файловой системы

 mkdir /u01
 chown oracle:oinstall /u01
 chmod -R 755 /u01

Общая память

При создании БД может произойти ошибка ORA-27102: out of memory.

Посмотрим предел общей памяти:

 # id -p oracle
 uid=100(oracle) gid=100(oinstall) projid=3(default)
 # prctl -n project.max-shm-memory -i project 3
 project: 3: default
 NAME    PRIVILEGE       VALUE    FLAG   ACTION                       RECIPIENT
 project.max-shm-memory
         privileged      1020MB      -   deny                                 -
         system          16.0EB    max   deny                                 -

Для того, чтобы можно было поставить memory_target в более высокое значение, создадим новый проект с большим количеством памяти:

 # projadd -U oracle -K "project.max-shm-memory=(priv,4G,deny)" user.oracle
 # usermod -K project=user.oracle oracle

swap

Посмотрим swap:

 # swap -l
 swapfile             dev    swaplo   blocks     free
 /dev/zvol/dsk/rpool/swap 274,2         8  2097144  2097144

Размер пула:

 # zfs get volsize rpool/swap
 NAME        PROPERTY  VALUE  SOURCE
 rpool/swap  volsize   1G     local

Удалим swap устройство, увеличим раздел пула, добавим swap устройство:

 # swap -d /dev/zvol/dsk/rpool/swap
 # zfs set volsize=4G rpool/swap
 # swap -a /dev/zvol/dsk/rpool/swap

Рекомендую сделать размер swap чуть больше, чем необходимый OUI (например, я делал 5G), так как при 4G, система видит 3.9G:

 # df -h
 ...
 swap                   3.6G   1.5M       3.6G     1%    /system/volatile
 ...
 swap                   3.9G   256M       3.6G     7%    /tmp
 ...

Если при удалении произошла ошибка, тогда можно сделать так:

 # swap -d /dev/zvol/dsk/rpool/swap
 /dev/zvol/dsk/rpool/swap: Not enough space
 # zfs create -V 4G rpool/swap02
 # swap -a /dev/zvol/dsk/rpool/swap02
 # swap -l
 swapfile             dev    swaplo   blocks     free
 /dev/zvol/dsk/rpool/swap 274,2         8  2097144  2097144
 /dev/zvol/dsk/rpool/swap02 274,3         8  8388600  8388600
 # swap -d /dev/zvol/dsk/rpool/swap
 # swap -l
 swapfile             dev    swaplo   blocks     free
 /dev/zvol/dsk/rpool/swap02 274,3         8  8388600  8388600
 # zfs destroy rpool/swap

Подготовка дисков для ASM

 # format
 Searching for disks...done
 
 AVAILABLE DISK SELECTIONS:
       0. c8t0d0 <VMware-Virtual disk-1.0-100.00GB>
          /pci@0,0/pci15ad,1976@10/sd@0,0
       1. c9t0d0 <VMware-Virtual disk-1.0 cyl 13052 alt 2 hd 255 sec 63>
          /pci@0,0/pci15ad,790@11/pci15ad,1976@2/sd@0,0
 Specify disk (enter its number):1
 [disk formatted]
 No Solaris fdisk partition found.
 
 FORMAT MENU:
        disk       - select a disk
        type       - select (define) a disk type
        partition  - select (define) a partition table
        current    - describe the current disk
        format     - format and analyze the disk
        fdisk      - run the fdisk program
        repair     - repair a defective sector
        label      - write label to the disk
        analyze    - surface analysis
        defect     - defect list management
        backup     - search for backup labels
        verify     - read and display labels
        save       - save new disk/partition definitions
        inquiry    - show disk ID
        volname    - set 8-character volume name
        !<cmd>     - execute <cmd>, then return
 format> fdisk
 No fdisk table exists. The default partition for the disk is:
 
  a 100% "SOLARIS System" partition
 
 Type "y" to accept the default partition,  otherwise type "n" to edit the
  partition table.
 y
 
 format> partition
                                                                                                                                             
 PARTITION MENU:                                                                                                                             
        0      - change '0' partition                                                                                                       
        1      - change '1' partition                                                                                                       
        2      - change '2' partition                                                                                                       
        3      - change '3' partition                                                                                                       
        4      - change '4' partition                                                                                                       
        5      - change '5' partition                                                                                                       
        6      - change '6' partition                                                                                                       
        7      - change '7' partition                                                                                                       
        select - select a predefined table                                                                                                  
        modify - modify a predefined partition table
        name   - name the current table
        print  - display the current table
        label  - write partition map and label to the disk
        !<cmd> - execute <cmd>, then return
        quit
 partition> 0
 
 Part      Tag    Flag     Cylinders         Size            Blocks
  0 unassigned    wm       0                0         (0/0/0)             0
 
 Enter partition id tag[unassigned]: 
 Enter partition permission flags[wm]: 
 Enter new starting cyl[0]: 1
 Enter partition size[0b, 0c, 1e, 0.00mb, 0.00gb]: 99.9gb
 partition> print
 Current partition table (unnamed):
 Total disk cylinders available: 13051 + 2 (reserved cylinders)
 
 Part      Tag    Flag     Cylinders         Size            Blocks
  0 unassigned    wm       1 - 13042       99.91GB    (13042/0/0) 209519730
  1 unassigned    wm       0                0         (0/0/0)             0
  2     backup    wu       0 - 13050       99.98GB    (13051/0/0) 209664315
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6 unassigned    wm       0                0         (0/0/0)             0
  7 unassigned    wm       0                0         (0/0/0)             0
  8       boot    wu       0 -     0        7.84MB    (1/0/0)         16065
  9 unassigned    wm       0                0         (0/0/0)             0
 
 partition> label
 Ready to label disk, continue? y
 
 partition> quit
 format> quit
 # cd /dev/rdsk/
 # chown -R oracle:asmadmin c9t0d0*
 # chmod -R 660 c9t0d0*

Установка Oracle Grid Infrastructure на Standalone Server

 $ ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid; export ORACLE_HOME
 $ ./runInstaller

solaris11_oracle-grid_withasm01
solaris11_oracle-grid_withasm02
solaris11_oracle-grid_withasm03
solaris11_oracle-grid_withasm04
solaris11_oracle-grid_withasm05
solaris11_oracle-grid_withasm06
solaris11_oracle-grid_withasm07
solaris11_oracle-grid_withasm08
solaris11_oracle-grid_withasm09
solaris11_oracle-grid_withasm10

Установка Oracle Database 11g Release 2 на Standalone Server

 $ ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
 $ ./runInstaller

solaris11_oracle-db_withasm01
solaris11_oracle-db_withasm02
solaris11_oracle-db_withasm03
solaris11_oracle-db_withasm04
solaris11_oracle-db_withasm05
solaris11_oracle-db_withasm06
solaris11_oracle-db_withasm07
solaris11_oracle-db_withasm08
solaris11_oracle-db_withasm09

Документация

Install Oracle Database 11.2.0.3 on Solaris 11

Managing Your ZFS Swap and Dump Devices

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)