================================================================
--- Инструкция по созданию БД для АРМ СФМ в кодировке UTF-8  ---
================================================================

1. Установить переменные окружения в соответствии с тем, как установлена СУБД Oracle
   (исправить пути на файловой системе в командах ниже):
C:\>set ORACLE_HOME=c:\oracle\product\11.2.0\dbhome_1
C:\>set PATH=%ORACLE_HOME%\bin;%PATH%
C:\>set ORACLE_SID=XE_UTF8

2. Создать неодходимые директории (исправить пути как необходимо):
C:\>mkdir c:\oracle\db\XE_UTF8\admin\adump
C:\>mkdir c:\oracle\db\XE_UTF8\admin\dpdump
C:\>mkdir c:\oracle\db\XE_UTF8\admin\pfile
C:\>mkdir c:\oracle\db\XE_UTF8\diag
C:\>mkdir c:\oracle\db\XE_UTF8\flash_recovery_area
C:\>mkdir c:\oracle\db\XE_UTF8\oradata

3. Создать файл параметров initXE_UTF8.ora в директории %ORACLE_HOME%/database со
   следующим содержимым (пути на файловой системе исправить сообразно п.2):

db_name='XE_UTF8'
db_block_size=8192
memory_target=500m
processes=100
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
compatible ='11.2.0'
audit_trail ='db'
db_recovery_file_dest_size=5g
db_recovery_file_dest='c:\oracle\db\XE_UTF8\flash_recovery_area'
audit_file_dest='c:\oracle\db\XE_UTF8\admin\adump'
diagnostic_dest='c:\oracle\db\XE_UTF8\diag'
control_files = ('c:\oracle\db\XE_UTF8\oradata\control1.ctl', 'c:\oracle\db\XE_UTF8\oradata\control2.ctl')

4. Создать и запустить Windows сервис командой:

C:\>oradim -NEW -SID XE_UTF8 -STARTMODE manual
   Instance created.

C:\>sc query oracleserviceXE_UTF8

   SERVICE_NAME: oracleserviceXE_UTF8
   TYPE               : 10  WIN32_OWN_PROCESS
   STATE              : 4  RUNNING
                           (STOPPABLE,PAUSABLE,ACCEPTS_SHUTDOWN)
   WIN32_EXIT_CODE    : 0  (0x0)
   SERVICE_EXIT_CODE  : 0  (0x0)
   CHECKPOINT         : 0x0
   WAIT_HINT          : 0x0

5. Создать SPFILE командами:
C:\>sqlplus

   SQL*Plus: Release 11.2.0.1.0 Production on Wed May 23 07:39:54 2012
   Copyright (c) 1982, 2010, Oracle.  All rights reserved.

   Enter user-name: / as sysdba
   Connected to an idle instance.

SQL> create spfile from pfile;

File created.

6. Запустить инстанс базы в режиме NOMOUNT:

SQL> startup nomount
   ORACLE instance started.

   Total System Global Area  523108352 bytes
   Fixed Size                  1375704 bytes
   Variable Size             314573352 bytes
   Database Buffers          201326592 bytes
   Redo Buffers                5832704 bytes

7. Скопировать с окно sqlplus и выполнить следующую команду создания базы данных:
   CREATE DATABASE XE_UTF8
   USER SYS IDENTIFIED BY sys
   USER SYSTEM IDENTIFIED BY system
   LOGFILE GROUP 1 ('C:/oraclexe/app/oracle/oradata/XE_UTF8/redo01.log') SIZE 100M,
           GROUP 2 ('C:/oraclexe/app/oracle/oradata/XE_UTF8/redo02.log') SIZE 100M,
           GROUP 3 ('C:/oraclexe/app/oracle/oradata/XE_UTF8/redo03.log') SIZE 100M
   MAXDATAFILES 100
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET UTF8
   DATAFILE 'C:/oraclexe/app/oracle/oradata/XE_UTF8/system01.dbf' SIZE 700M AUTOEXTEND ON NEXT 10M EXTENT MANAGEMENT LOCAL
   SYSAUX DATAFILE 'C:/oraclexe/app/oracle/oradata/XE_UTF8/sysaux.dbf' SIZE 700M AUTOEXTEND ON NEXT 10M
   DEFAULT TABLESPACE kfm
      DATAFILE 'C:/oraclexe/app/oracle/oradata/XE_UTF8/kfm.dbf'
      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE 'C:/oraclexe/app/oracle/oradata/XE_UTF8/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs1
      DATAFILE 'C:/oraclexe/app/oracle/oradata/XE_UTF8/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

8. Создать объекты базы данных:
SQL> @%ORACLE_HOME%\rdbms\admin\catalog.sql
SQL> @%ORACLE_HOME%\rdbms\admin\catproc.sql
SQL> connect system/system
SQL> @%ORACLE_HOME%\sqlplus\admin\pupbld.sql

9. Для включения архивирования остановить базу данных и запустить снова в режиме MOUNT
SQL> connect /as sysdba

SQL> shut immediate
   Database closed.
   Database dismounted.
   ORACLE instance shut down.

SQL> startup mount
   ORACLE instance started.

   Total System Global Area  523108352 bytes
   Fixed Size                  1375704 bytes
   Variable Size             314573352 bytes
   Database Buffers          201326592 bytes
   Redo Buffers                5832704 bytes
   Database mounted.

SQL> alter database archivelog;
   Database altered.

SQL> alter database open;
   Database altered.

SQL> archive log list
   Database log mode              Archive Mode
   Automatic archival             Enabled
   Archive destination            USE_DB_RECOVERY_FILE_DEST
   Oldest online log sequence     12
   Next log sequence to archive   13
   Current log sequence           13

10. Проверить базу данных на наличие невалидных компонентов
SQL> select comp_id,version,status from dba_registry;

   COMP_ID  VERSION     STATUS
   -------  ----------  ------
   CATALOG  11.2.0.1.0  VALID
   CATPROC  11.2.0.1.0  VALID

   2 rows selected.

SQL> select owner,object_name,object_type from all_objects where status<>'VALID';
   no rows selected

При наличии невалидных объектов выполнить команду:

SQL> @?/rdbms/admin/utlrp.sql


11. Для просмотра размера файлов данных выполнить от имени sysdba команду:

select df.tablespace_name "Tablespace",
totalusedspace "Used MB",
(df.totalspace - tu.totalusedspace) "Free MB",
df.totalspace "Total MB",
round(100 * ( (df.totalspace - tu.totalusedspace)/ df.totalspace))
"Pct. Free"
from
(select tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from dba_data_files
group by tablespace_name) df,
(select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name
from dba_segments
group by tablespace_name) tu
where df.tablespace_name = tu.tablespace_name ;

12. При необходимости увеличить размер файлов данных выполнить от имени sysdba команду:

SQL> ALTER DATABASE DATAFILE 'C:/oraclexe/app/oracle/oradata/XE_UTF8/system01.dbf' RESIZE 700M;

