Разное

Create oracle directory: create directory Oracle tips

Содержание

Установка и настройка Oracle Internet Directory для разрешения имен баз данных / Хабр

О настройке доступа к СУБД Oracle, который хранится в файле tnsnames.ora известно каждому, кто работал с этим типом СУБД.

Данные хранятся в файле tnsnames.ora в обычном текстовом виде и легко могут быть изменены с помощью любого текстового редактора. Хорошо если записей в нем не много, а что делать, если в организации сотни баз данных, доступы к которым нужно предоставлять с хостов пользователей различных уровней или с терминальных серверов. А если в один прекрасный момент база переезжает на другой хост, или происходят другие изменения, меняющие параметры доступа к БД, нужно изменить параметры доступа везде.

Решений предложить можно множество, включая редиректы, алиасы и т.п.

Я здесь опишу как установить и настроить единое хранилище для разрешения имен баз данных с помощью Oracle Internet Directory OID, и как обращаться за разрешением имен по LDAP-протоколу. Это гораздо удобнее, чем держать актуальным файл tnsnames. ora в сотни мест.


Установка и настройка СУБД для БД репозитория OID здесь не описывается, указываются ключевые моменты важные именно для этой конфигурации. С лицензионной политикой компании Oracle в части продуктов RDBMS Database, Oracle Fusion Middleware и Oracle Internet Directory вы можете ознакомится на сайте компании.

Установка ПО

Установка ПО производилась на ОС Linux (SUSE Linux Enterprise Server 11 ), для вашей ОС необходимо сверится с матрицей совместимости на сайте oracle.com.

Для установки Standalone сервера (под управлением NodeManager) были взяты следующие версии дистрибутивов, актуальные на момент настройки:

JAVA: jdk-8u171-linux-x64.tar.gz

OID: fmw_12.2.1.3.0_oid_linux64_Disk1_1of1.zip

RDBMS: 12.1.0.2 +PSU +Opatch актуальных версий

Устанавливаем ПО для репозитария, в котором будут храниться схемы OID

СУБД версии 12.1.0.2+PSU

БД. Созадем «пустую» БД:

Необходимо указать

кодировка AL32UTF8, включить ORACLE TEXT в установку ПО

параметры БД:
open_cursors=800

processes=500


Дополнительно потребовалось прогнать скрипт xaview. sql, что выяснилось на этапе проверки установки OID.

конфигурируем и поднимаем LISTENER для базы данных.

Итак, пустая БД создана uhost-oid1:1521/oid1 (в данном случае oid1- SID БД) и готова к созданию в ней репозитария.

Установка OID

Здесь и далее домашний каталог пользователя oracle — /u/app/oracle
Распаковываем java и задаем переменную JAVA_HOME

unzip jdk-8u171-linux-x64.tar.gz
export JAVA_HOME=/u/app/oracle/jdk1.8.0_171

Распаковываем OID

unzip  fmw_12.2.1.3.0_oid_linux64_Disk1_1of1.zip

Получается файл ./fmw_12.2.1.3.0_oid_linux64.bin

Проверяем, что он исполняемый, если это не так делаем

chmod +x 

Запускаем:

./fmw_12.2.1.3.0_oid_linux64.bin

(предварительно должны быть настроен проброс X-сервера), запустится java-based инсталлятор.

В качестве ORACLE_HOME было указано:

/u/app/oracle/product/middleware/Oracle_IDM1

По этому пути установится ПО для oracle fusion middleware (FMW) и Oracle Internet Directory.

На этапе «тип инсталляции» указываем STANDALONE.

Создаем репозитарий (необходимые схемы в БД)

Создаем схемы для репозитария в БД, для этого запускаем rcu

cd /u/app/oracle/product/middleware/Oracle_IDM1/oracle_common/bin/ 
./rcu.sh

На этом этапе создаются схемы ODSSM, ODS и DEV_STB (запоминаем пароль, он потребуется при настройке компонентов домена)

Создаем домен, в котором у нас будет работать OID (домен в терминах FMW)

cd /u/app/oracle/product/middleware/Oracle_IDM1/oracle_common/common/bin
./config.sh

Домен создаем в отдельную от ПО папку. Например указываем так:

/u/app/oracle/config/domains/oid_domain

Для коннекта к БД указываем параметры ранее созданных схем (и паролей)

При установке задаем логин и пароль для NodeManager (будет в дальнейшем использоваться для коннекта к NodeManager и запуска/останова через него самого OID)

Запуск NodeManager

Для запуска NodeManager нужно сгенерировать файл с ключами: DemoIdentity. jks. (Если кроме установки OID вы поставите обновления, то возможно этот шаг не понадобится)
Генерировать будем «умолчательный», что бы пока не мучатся с параметрами загрузки хранилища ключей в конфиге домена. С такими параметрами работает – это пароль для хранилища по умолчанию:

cd /u/app/oracle/product/middleware/Oracle_IDM1/oracle_common/common/bin

выполняем

. setWlstEnv.sh 

(обязательно с точкой, по-другому не работает)
Переходим в директорию, в которой должен храниться файл:

cd /u/app/oracle/config/domains/oid_domain/security

java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey -strength 1024 -noskid

java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile demokey -keyfilepass DemoIdentityPassPhrase -certfile democert.pem -keyfile demokey.pem -alias demoidentity

Ключевая фраза DemoIdentityPassPhrase именно такая, иначе придется править конфиг домена.
Нужно разобраться и с этим, но надо сначала запустить, чтобы работало.

export TNS_ADMIN=/u/app/oracle/config/domains/oid_domain/config/fmwconfig/components/OID/config 

Нужно, чтобы сконфигурировать сам OID, иначе домен не сможет подключиться к БД репозитария (см.Проблема1)

export LD_LIBRARY_PATH=/u/app/oracle/product/middleware/Oracle_IDM1/lib:$LD_LIBRARY_PATH

нужен для того, чтобы нашлись нужные библиотеки и подтянулись из нужного ORACLE_HOME

Если что, проверяем с помощью ldd куда смотрят:

ldd /u/app/oracle/product/middleware/Oracle_IDM1/bin/oiddispd

Должно быть на ORACLE_HOME с ПО FMW:

libclntsh.so.12.1 => /u/app/oracle/product/middleware/Oracle_IDM1/lib/libclntsh.so.12.1

Ошибки, если это не так, см. в разделе Проблема2

cd  /u/app/oracle/config/domains/oid_domain/bin/
./setStartupEnv.sh – выставляет доп. переменные окружения
./startNodeManager. sh &

Убедимся, что NodeManager запущен.
Логи и конфигурация: /u/app/oracle/config/domains/oid_domain/nodemanager

Проблема1:

Jun 22, 2018 10:27:58 AM MSK  Fatal error in NodeManager server
weblogic.nodemanager.common.ConfigException: Identity key store file not found: /u/app/oracle/config/domains/oid_domain/security/DemoIdentity.jks

Решение1: Идем и генерируем DemoIdentity.jks, как описано выше

Проблема2:

Jun 28, 2018 12:20:08 PM MSK INFO /u/app/oracle/config/domains/oid_domain>><<        password:
confirm password:
Unable to Connect to Database: Incorrect location for tnsnames.ora (derived from DOMAIN_HOME) or Incorrect TNS Connect string or Invalid Password
> <createDbWallet domain: /u/app/oracle/config/domains/oid_domain, oidpasswd output:        password:
confirm password:

Решение2: устанавливаем переменную TNS_ADMIN и проверяем корректность логина/пароля

Первичная конфигурация OID

К этому моменту должны быть выставлены переменные
TNS_ADMIN
LD_LIBRARY_PATH
Предполагается, что NodeManager уже запущен.
Запускаем утилиту WLST:

cd /u/app/oracle/product/middleware/Oracle_IDM1/oracle_common/common/bin
export MW_HOME=$ORACLE_HOME 

Довыставляем переменные, которые нужны для работы утилиты WLST

./setHomeDirs.sh
./setWlstEnv.sh
./wlst.sh

дальше с помощью утилиты WLST подключаемся к NodeManager. Нам потребуется логин и пароль, заданные при инсталляции (указанные для NodeManager, у нас это weblogic)

nmConnect(username='weblogic',password='пароль от NodeManager ',domainName='oid_domain')

Пример вывода:

[13:45][uhost-oid1.oracle.:/u/app/oracle/product/middleware/Oracle_IDM1/oracle_common/common/bin]$ ./wlst.sh

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

wls:/offline> nmConnect(username='weblogic',password='*****',domainName='oid_domain')
Connecting to Node Manager ...
Successfully Connected to Node Manager. 

Запускаем инициализацию, во время которой создается инстанс с именем oid1.
В строке ниже:

odsPassword – пароль к схеме ODS на базе репозитория, который был задан при выполнении ./rcu

orcladminPassword – пароль который будет использован в качестве cn=orcladmin для доступа к LDAP

realmDN – LDAP –схема, которая будет сконфигурирована

oid_setup(orcladminPassword='****',odsPassword='***',realmDN='dc=mycompany,dc=ru')

После выполнения должен будет создан компонент (инстанс в терминах FMW) с именем oid1

Проблема3:

Лог /u/app/oracle/config/domains/oid_domain/servers/OID/logs/oid1/oidmon*.log

содержит

/u/app/oracle/product/middleware/Oracle_IDM1/wlserver/../bin/oiddispd: <b>error while loading shared libraries</b>: libclntshcore.so.12.1: cannot open shared object file: No such file or directory

Решение3:
Задаем переменную окружения
LD_LIBRARY_PATH=/u/app/oracle/product/middleware/Oracle_IDM1/lib:$LD_LIBRARY_PATH
перезапускаем NodeManager,
запускаем компонент:

cd  /u/app/oracle/config/domains/oid_domain/bin/
nohup . /startNodeManager.sh &
./startComponent.sh oid1

Если компонет по этой причине создался но не работает, то убиваем процесс oidmon, изменяем в СУБД параметры статуса процесса:

ps –ef|grep oidmon
kill oidmon
sqlplus / as sysdba
update ods.ods_process_status set pid=0 where compname='oid1';
update ods.ods_process_status set state=4 where compname='oid1';

Проверка коннекта:

./ldapbind -h localhost -p 3060
./ldapbind  -h localhost -p 3131 -U 1 -D 'cn=orcladmin' -w ****

Возможно, придется еще раз выполнить инициализацию oid_setup
Проблема4. При попытке сохранения в NetManager:

oracle.net.common.dataStore.DataStoreException: error writing ServiceAlias to: LDAPDataStore [svr: uhost-oid1.mycompany.ru:3060:3131, type: OID, ctxt: cn=OracleContext,dc=mycompany,dc=ru, home: C:\oracle\product\12.1.0\client_1]
original exception message: TNS-04409: Ошибка службы каталогов
  caused by: oracle. net.config.DirectoryServiceException: TNS-04405: Общая ошибка
  caused by: oracle.net.ldap.NNFLException
original stack trace: oracle.net.config.ServiceAliasException: TNS-04409: Ошибка службы каталогов
  caused by: oracle.net.config.DirectoryServiceException: TNS-04405: Общая ошибка
  caused by: oracle.net.ldap.NNFLException
oracle.net.config.DirectoryServiceException: TNS-04405: Общая ошибка
  caused by: oracle.net.ldap.NNFLException
oracle.net.ldap.NNFLException

Решение4:

Еще раз прогнать oid_setup

Проверить настройки ldap.ora на клиенте с которого запускается Net Manager

DEFAULT_ADMIN_CONTEXT = «dc=mycompany,dc=ru»

Изменение параметра OID (для разрешения запросов от анонимных пользователей)

Когда создается TNS-имя с помощью net manager, но не работает tnsping.

Создаем файл:

cat anonymousbind.ldif

dn: cn=oid1,cn=osdldapd,cn=subconfigsubentry
changetype: modify
replace: orclAnonymousBindsFlag
orclAnonymousBindsFlag: 1

и модифицируем параметры с помощью этого файла:

ldapmodify -D cn=orcladmin -W -p 3131 -h localhost -f anonymousbind. ldif

Диагностика:
tnsping mytest не работает, a ldapsearch работает
Проверяем доступность портов 3060 и 3131(для SSL)

так все работает (с указанием пароля)

ldapsearch -h uhost-oid1.mycompany.ru -p 3060 -D "cn=orcladmin" -w password_hear -b "cn=mytest,cn=OracleContext,dc=mycompany,dc=ru" -s base "objectclass=*"

mytest – созданный ранее псевдоним.

Настройки клиента

На стороне клиента в $ORACLE_HOME/network/admin ложатся файлы:
ldap.ora
sqlnet.ora
tnsnames.ora

Файл tnsnames.ora содержит «локальные» алиасы, как обычно, и используется, если не найдено имя в LDAP.

Файл sqlnet.ora содержит описание порядка резолва:

sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES,LDAP)

Параметры доступа к файлу LDAP задаются в ldap.ora

ldap.ora

DIRECTORY_SERVERS = (uhost-oid1. mycompany.ru:3060:3131,rephost-oid1.mycompany.ru:3060:3131) 
DIRECTORY_SERVER_TYPE = OID
DEFAULT_ADMIN_CONTEXT = "dc=mycompany,dc=ru"

В описанной конфигруации используется следующий порядок.

Сначала просматривется файл tnsnames.ora, если запись там не нашлась, то спрашиваем у LDAP (если нужно сменить порядок, меняем порядок в параметре NAMES.DIRECTORY_PATH

Далее идет запрос к основному серверу LDAP, если он недоступен по каким-то причинам, идем ко второму серверу в списке DIRECTORY_SERVERS

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

Default admin context (LDAP) используется для контекста по умолчанию, чтобы не указывать каждый раз mycompany.ru

По этой же причине не рекомендуется в записи алиаса использовать точку, он ее воспринимает как домен.

Дальше расскажу, как настроить репликацию между серверами

Импорт и экспорт базы данных Oracle

1.1.1- Expdp

Использовать 
expdp чтобы экспортировать (
export) полностью 
SCHEMA в файл 
dump.

Чтобы экспортировать (
export) вам нужно открыть 
CMD и 
CD к папке 
BIN в 
Oracle.


cd C:\DevPrograms\db11g\product\11.2.0\dbhome_1\BIN
@rem DBA Directory: MY_BACKUP_DIR has been created in the previous step.
@rem SCHEMA export: learningsql


expdp system/admin DIRECTORY=MY_BACKUP_DIR DUMPFILE= learningsql.dmp SCHEMAS=learningsql LOGFILE=learningsql.log

Результат:

Заметка: Вы можете экспортировать (
export) несколько 
Schema одновременно в 1 файл 
dump. Например:


expdp system/admin DIRECTORY=MY_BACKUP_DIR DUMPFILE= multi.dmp SCHEMAS=learningsql,simplehr LOGFILE= multi.log
1.1.2- Impdp

Для начала вам нужно создать user
learningsql2. Войти в 
SQL Plus:

Дать кoманду создать 
user:

-- User: learningsql2
-- Password: 1234

create user learningsql2 identified by 1234;

В принципе вы только что создали пустую 
SCHEMA.

Далее мы импортируем (
import ) из файла 
dump в только что созданную 
Schema. На самом деле в файле 
dump может быть одна или несколько 
SCHEMA. Когда вы импортируете (
import) файл 
dump в определенную 
Schema, вам нужно указать источник 
SCHEMA в файле 
dump, и целевую 
SCHEMA.

Заметьте, что в
ORACLE название
SCHEMA так же является названием
User.

Откройте 
CMD и CD в папку 
bin в 
Oracle:


cd C:\DevPrograms\db11g\product\11.2.0\dbhome_1\BIN

Объявите команду 
impdp:


impdp system/admin DIRECTORY=MY_BACKUP_DIR DUMPFILE=learningsql. DMP REMAP_SCHEMA=learningsql:learingsql2 LOGFILE=learningsql_imp.log

Объяснение:

  • Импорт из файла learningsql.DMP
  • Из источника Schema: learningsql (В файле dump)
  • К целевой Schema: learningsql2

Заметка: Вы можете не создавать до этого user
learningsql2, команда 
impdb сама создаст этот user, но пароль не определен, вам нужно самим установить пароль.

Успешный запуск результата:

7 шагов по созданию новой базы данных Oracle из командной строки

Если вы сисадмин Linux или разработчик, то приходит время, когда вам потребуется управление базой данных Oracle, которая может работать в вашей среде.

В этом случае важно, чтобы понять некоторые основные DBA деятельности Oracle. В этом уроке мы расскажем, как создать базу данных Oracle из командной строки.

При установке программного обеспечения Oracle, даст вам возможность создать новую базу данных из пользовательского интерфейса.

Если вы решили не создавать новую базу данных, а установить только программное обеспечение Oracle, то вы можете потом создать базу данных отдельно.

Для того, чтобы создать базу данных Oracle, у вас есть два варианта:

  1. Использование базы данных конфигурации помощник (DBCA) и создать новую базу данных с помощью графического интерфейса. Это довольно прямо.
  2. Использовать команду «Create Database», чтобы создать новую базу данных Oracle из командной строки. Этот метод полезен, когда вы не имеете доступ к консоли сервера для запуска DBCA. Или, если ваш сервер не имеет правильных настроек Xterm, используйте этот метод.

1. Настройка соответствующих переменных среды Oracle

Во-первых, вы должны установить соответствующую переменную среды на сервере правильно.

В этом примере предполагается, что оракул установлен в каталоге /u01/app/oracle/product. Измените это значение в соответствии с вашей средой.

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0

 

Наиболее важным параметром является ORACLE_SID, которая будет иметь имя новой базы данных Oracle, который вы хотите создать. В этом примере имя новой базы данных установлено в положении «dev», как показано ниже.

export ORACLE_SID=dev

2. Создание файла ini-initdev.ora

Затем создайте файл ora.ini для новой базы данных. Это файл инициализации для новой базы данных.

В зависимости от версии вашей Oracle, вы можете увидеть образец файла init.ora в $ ORACLE_HOME. Если у вас есть, используйте его в качестве базового и отредактируйте соответствующие значения.

cd $ORACLE_HOME/dbs
cp init.ora initdev.ora

 

Примечание:

Как было показано выше, файл инициализации для новой базы данных должен быть такого формата: INIT {ORACLE_SID} . ora – Итак, в этом случае имя файла будет: initdev.ora

Если вы не видите шаблон по умолчанию init.ora в вашем $ORACLE_HOME/DBS, используйте следующий образец.

*.db_name='dev'
*.db_domain=''
*.audit_file_dest='/u01/app/oracle/admin/dev/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.memory_target=1G
*.control_files='/u01/app/oracle/oradata/dev/control01.ctl','/home/oracle/u02/oradata/dev/control02.ctl'
*.db_block_size=8192
*.diagnostic_dest='/u01/app/oracle/admin/dev'
*.open_cursors=250
*.processes=100
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTS'

 

Несколько пунктов необходимо рассмотреть в указанном файле:

  • В указанном файле, убедитесь, что вы установите db_name на имя ORACLE_SID, установленной в предыдущем шаге
  • Как бы ни называлось undo_tablespace, мы указываем, что должны использовать точное название в команде CREATE DATABASE.
  • Изменение расположения каталогов надлежащим образом, основываясь на вашей системе. Не забудьте изменить «dev» в вышеуказанном каталоге на ваше имя ORACLE_SID.

3. Создание Serve Parameter file (spfile)

SP файл означает файл параметров сервера. В отличие от файла sp, инициализация файла ведется в двоичном файле, и вы не можете отредактировать SPFILE вручную.

Файл sp создается из ini файла. Преимущество sp-файла является то, что вы можете изменить значение параметров инициализации после запуска базы данных с помощью команды ALTER SYSTEM.

Другими словами, при использовании команды «ALTER SYSTEM» для изменения любого значения параметра, он сохраняет их в файле sp.

Затем, при запуске базы данных Oracle, он сначала ищет файл sp для значения параметра. Если он не может найти файл sp, то он будет использовать текст на основе ini-файла.

Чтобы создать файл sp для нашей новой базы данных, используйте следующую команду.

Во-первых, используйте команду sqlplus и получить приглашение SYSDBA Oracle, откуда мы создадим новую базу данных.

$ sqlplus / as sysdba
Connected to an idle instance.
SQL>

 

Если вы заметили в выводе выше, он говорит: «Connected to an idle instance.». Это происходит потому, что наш текущий ORACLE_SID установлен dev, который представляет собой новую базу данных, которую мы еще не создали.

Таким образом, первый шаг заключается в создании нового файла sp, основанный на ini-файле. spfile означает ini файл. Следующая команда создаст новый spfile.

SQL> CREATE SPFILE FROM PFILE;
File created.

 

Как вы видите ниже, команда автоматически создала spfiledev.ora.

$ ls -1 $ORACLE_HOME/dbs/
initdev.ora
spfiledev.ora

4. Запустите Idle Instance

Перед тем, как создать базу данных, мы должны запустить экземпляр для базы данных «dev» с помощью команды STARTUP NOMOUNT. Как вы, возможно, уже догадались, эта команда не будет подключена к базе данных. Это просто начать новый пустой простой экземпляр ORACLE_SID с именем «dev».

SQL> STARTUP NOMOUNT;
ORACLE instance started.

Total System Global Area 1258291200 bytes
Fixed Size                  1261564 bytes
Variable Size             520093700 bytes
Database Buffers          721420288 bytes
Redo Buffers               15515648 bytes

 

В команде выше, он будет читать spfile по умолчанию с именем spfile{ORACLE_SID}.ora от места расположения spfile по умолчанию $ORACLE_HOME/dbs. Если spfile не существует, он будет использовать по умолчанию инициализацию файла init{ORACLE_SID}.ora

По какой-то причине, если вы хотите указать местоположение spfile у себя, вы можете сделать это путем передачи параметра spfile, как показано ниже.

SQL> STARTUP NOMOUNT PFILE=/tmp/initdev.ora

 

Кроме того, вы можете получить следующее ORA-01078 и LRM-00109, если spfile, или файл инициализации отсутствует в расположении по умолчанию.

SQL> STARTUP NOMOUNT    
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11. 2.0/dbs/initdev.ora'

5. Создание новой базы данных Oracle

Используйте следующую команду CREATE DATABASE, чтобы создать пустую базу данных.

SQL> CREATE DATABASE dev
     USER SYS IDENTIFIED BY DevSysPass
     USER SYSTEM IDENTIFIED BY DevSystemPass
     LOGFILE GROUP 1 ('/home/oracle/u02/oradata/dev/redomed_01.log') SIZE 50M,
             GROUP 2 ('/home/oracle/u02/oradata/dev/redomed_02.log') SIZE 50M,
     MAXLOGFILES 5
     MAXLOGHISTORY 10
     MAXDATAFILES 50
     CHARACTER SET US7ASCII
     NATIONAL CHARACTER SET AL16UTF16
     DATAFILE '/home/oracle/u02/oradata/dev/system01.dbf' SIZE 100M REUSE
     SYSAUX DATAFILE '/home/oracle/u02/oradata/dev/sysaux01.dbf' SIZE 100M REUSE
     DEFAULT TABLESPACE USERS
       DATAFILE '/home/oracle/u02/oradata/dev/users01.dbf'
       SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
     DEFAULT TEMPORARY TABLESPACE TEMPTS
       TEMPFILE '/home/oracle/u02/oradata/dev/tempts01.dbf'
       SIZE 30M REUSE
     UNDO TABLESPACE UNDOTS
       DATAFILE '/home/oracle/u02/oradata/dev/undots01.dbf'
       SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 

В приведенной выше команде:

  • Команда Create database создаст базу данных Oracle с именем «dev»
  • Пароль, указанный во 2-й строке будет назначен пользователю SYS
  • Пароль, указанный в 3-й строке будет назначен пользователю SYSTEM
  • Мы создаем два повторных логов с размером 100МБ каждый.
  • MAXLOGFILES – Максимальное количество файлов журнальных установлен в 5
  • MAXDATAFILES – Это указывает на то, что максимальное количество файлов данных Oracle, которые могут быть созданы для этой базы данных.
  • DATAFILE – Указывает на файл данных, который будет использоваться в табличной СИСТЕМЕ
  • SYSAUX DATAFILE – Это свидетельствует о том, что файл данных будет использоваться в табличном пространстве SYSAUX
  • Табличное пространство по умолчанию для этой базы данных устанавливаются в USERS
  • Временное табличное пространство по умолчанию устанавливается в TEMPTS
  • Отмены табличного пространство устанавливается в UNDOTS

Примечание:

Если вы укажете DB_CREATE_FILE_DEST в файле инициализации на расположение каталога, то вам не нужно указывать точное местоположение и имена файлов для всех файлов данных, Oracle позаботиться об этом за вас.

Например, если вы указали это в файле initdev.ora.

# vi initdev.ora
DB_CREATE_FILE_DEST='/home/oracle/u02/oradata/dev'

 

В этом случае, вы можете упростить вашу команду CREATE DATBASE, как показано ниже.

SQL> CREATE DATABASE dev
     USER SYS IDENTIFIED BY DevSysPass
     USER SYSTEM IDENTIFIED BY DevSystemPass
     MAXLOGFILES 5
     MAXLOGHISTORY 10
     MAXDATAFILES 50
     CHARACTER SET US7ASCII
     NATIONAL CHARACTER SET AL16UTF16
     DEFAULT TABLESPACE USERS
     DEFAULT TEMPORARY TABLESPACE TEMPTS
     UNDO TABLESPACE UNDOTS

 

Команды выше создадут соответствующие файлы данных, необходимые для всех табличных пространств (undo, temporary и т.д.) в соответствии с местом, указанным в каталоге DB_CREATE_FILE_DEST.

6. Постройте словарь данных Views

В качестве последнего шага, выполните catalog.sql и catproc.sql. каталог сценарий создаст все словарные таблицы, представления, связанные с производительностью, необходимые общественные синонимы. Он также предоставит соответствующий доступ ко всем синонимам, который был создан. Скрипт catproc выполняет все сценарии, которые необходимы для функциональности PL/SQL.

SQL> @?/rdbms/admin/catalog.sql;
SQL> @?/rdbms/admin/catproc.sql

 

Частичный вывод из указанных выше команд.

SQL> @?/rdbms/admin/catalog.sql;
DOC>######################################################################
DOC>######################################################################
DOC>    The following statement will cause an "ORA-01722: invalid number"
DOC>    error and terminate the SQLPLUS session if the user is not SYS.
DOC>    Disconnect and reconnect with AS SYSDBA.
DOC>######################################################################
DOC>######################################################################
DOC>#
no rows selected
Package created.
Package body created.
..
..
Synonym created.
Grant succeeded.
PL/SQL procedure successfully completed.

SQL> @?/rdbms/admin/catproc.sql
..
..
Comment created.
Synonym created.
Grant succeeded.
PL/SQL procedure successfully completed.

 

Если вам интересно, вы можете посмотреть на каталог и сценарий catproc, чтобы понять, что именно он делает.

vi $ORACLE_HOME/rdbms/admin/catalog.sql;
vi $ORACLE_HOME/rdbms/admin/catproc.sql

7. Проверка – Завершение работы и ввод в эксплуатацию

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

$ sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> STARTUP;
ORACLE instance started.
Total System Global Area 1234563200 bytes
Fixed Size                  1262454 bytes
Variable Size             522935700 bytes
Database Buffers          720583588 bytes
Redo Buffers               12946358 bytes
Database mounted.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Практическое администрирование Oracle — Файл паролей. Часть 1.

Администратору базы данных Oracle часто приходиться выполнять специальные операции, например, такие, как завершение или запуск базы данных. Поскольку исполнять их должен только он, а никто другой, его учётная запись требует безопасной аутентификации. Существует несколько способов аутентификации. Кроме использования стандартной аутентификации по словарю, для администратора базы данных доступны ещё три способа:

  • Аутентификация операционной системы
  • Аутентификация на основе файла паролей
  • Устойчивая аутентификация на основе сетевой службы, такой как, например Oracle Internet Directory

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

Как известно, административные привилегии, которые требуются для выполнения основных операций с базой данных, предоставляются через две специальных системных привилегии SYSDBA и SYSOPER. Эти привилегии дают пользователю доступ к экземпляру даже тогда, когда он остановлен, и могут рассматриваться как специальные типы соединений, позволяющие выполнять команды, привилегии на которые не могут быть выданы обычными средствами.

Для аутентификации таких привилегированных пользователей, Oracle может использоваться специально созданный файл паролей. Чтобы данный метод аутентификации заработал, необходимо выполнение трёх условий. Должен быть правильно установлен один из параметров инициализации, файл паролей должен быть создан, в файл должны быть добавлены учётные записи пользователей имеющих привилегии SYSDBA и SYSOPER.

Рассмотрим более подробно этот процесс. Так как большинство примеров будет производиться локально, от имени пользователя операционной системы oracle, временно отберём у него группу dba, чтобы его аутентификация в базе данных не происходила на основе операционной системы:

[root@ora11g oracle]# gpasswd -d oracle dba
Removing user oracle from group dba

Здесь стоит упомянуть, что аутентификация операционной системы является превалирующей над аутентификацией на основе файла паролей.

Установка параметра инициализации

Для того чтобы начала действовать аутентификация основанная на использовании файла пароля, параметр инициализации REMOTE_LOGIN_PASSWORDFILE должен быть установлен в значение EXCLUSIVE:

NAME                                 TYPE	 VALUE
------------------------------------ ----------- ---------------------
remote_login_passwordfile            string      EXCLUSIVE

Данное значение является значением по умолчанию для данного параметра и поэтому его не требуется специально устанавливать после инсталляции. Если же параметр имеет другое значение, то стоит помнить, что он не является динамическим, поэтому для того чтобы аутентификация основанная на файле паролей заработала, придётся перезагрузить экземпляр:

SQL> alter system set remote_login_passwordfile=exclusive scope=spfile;

System altered.

Создание файла паролей

По умолчанию файл паролей создаётся в процессе установки Oracle Database помощником по конфигурированию сервера базы данных (DBCA). В системе UNIX файл имеет формат имени вида orapwORACLE_SID и располагается в каталоге ORACLE_HOME/dbs. В Windows, файл будет называться PWDORACLE_SID.ora и находится в каталоге ORACLE_HOME\database.

Ниже предоставлены различные примеры названий такого файла:

PWDXE.ora
orapworcl

Если файл паролей, по каким то причинам отсутствует или требуется его пересоздание, то можно использовать утилиту ORAPWD. Синтаксис этой команды имеет следующий вид:

ORAPWD FILE=filename [ENTRIES=numusers] [FORCE={Y|N}] [IGNORECASE={Y|N}]

Аргумент FILE задаёт имя файла и путь файла пароля, ENTRIES – максимальное количество учётных записей в файле, FORCE – задаёт флаг, который отвечает за генерацию ошибки, если файл с таким именем уже существует, IGNORECASE – позволяет включать, выключать пароль, зависящий от регистра.

Рассмотрим более подробно на примерах создание файла паролей. Для начала определим наличие файла:

[oracle@ora11g ~]$ cd $ORACLE_HOME/dbs
[oracle@ora11g dbs]$ ls -l orapw*
-rw-r-----. 1 oracle oinstall 1536 Дек 17 13:48 orapworcl

В системе присутствует файл паролей orapworcl , который был создан по умолчанию при установке. Удалим его и создадим новый:

[oracle@ora11g dbs]$ rm orapworcl
[oracle@ora11g dbs]$ orapwd file=orapworcl

Enter password for SYS: 
[oracle@ora11g dbs]$ ls -l orapw*
-rw-r-----. 1 oracle oinstall 1536 Дек 20 13:11 orapworcl

Новый файл создан. В него добавлен пользователь SYS , пароль которого запрашивался при запуске утилиты. Если попытаться повторить процедуру создания файла снова, то будет сгенерирована ошибка о том, что такой файл присутствует, и что его надо переименовать или удалить:

[oracle@ora11g dbs]$ orapwd file=orapworcl

Enter password for SYS: 

OPW-00005: File with same name exists - please delete or rename

Чтобы подавить такой вывод ошибки и пересоздать файл, необходимо при запуске orapwd указать опцию force=y:

[oracle@ora11g dbs]$ orapwd file=orapworcl force=y

Enter password for SYS:

[oracle@ora11g dbs]$ ls -l orapw*
-rw-r-----. 1 oracle oinstall 1536 Дек 24 13:33 orapworcl

Данная опция может быть полезна в пакетных командных файлах.

Включение пользователей в файл паролей

И так, файл паролей создан. При его создании, в него был включён единственный пользователь SYS, пароль которого вводился при запуске утилиты ORAPWD. Если требуется, чтобы данный вид аутентификации использовался и для других пользователей, то необходимо их так же включить их в файл паролей. К счастью, для этого не надо использовать какие-либо дополнительные утилиты, Oracle сам об этом побеспокоится. Единственное что надо сделать, так это предоставить таким пользователям привилегии SYSDBA или SYSOPER и Oracle сам добавит их в файл паролей. В качестве примера попробуем создать пользователя USER1 и предоставим ему привилегию SYSDBA:

SQL> grant connect, sysdba to user1 identified by pass;

Grant succeeded.

При выдаче пользователям привилегий SYSDBA или SYSOPER следует учитывать, что данные привилегии являются специальным видом привилегий. Они не могут предоставляться пользователю с правом их передачи другим пользователям, а так же не могут быть включены в состав ролей. Рассмотрим это на примере. Выдадим привилегию SYSDBA пользователю USER1 с опцией WITH ADMIN OPTION:

SQL> revoke sysdba from user1;

Revoke succeeded.

SQL> grant sysdba to user1 with admin option;   

Grant succeeded.

Как видим, ошибок при выдаче привилегий с опцией WITH ADMIN OPTION не возникло. Но не всё так просто как кажется. Теперь создадим пользователя USER2, подключимся пользователем USER1 и попробуем выдать привилегию SYSDBA пользователю USER2:

SQL> grant connect to user2 identified by pass;

Grant succeeded.

SQL> connect user1/pass;
Connected.

SQL> grant sysdba to user2;
grant sysdba to user2
*
ERROR at line 1:
ORA-01031: insufficient privileges

Возникла ошибка. Просто так предоставить другим привилегии SYSDBA и SYSOPER у простого пользователя не получится. Опция WITH ADMIN OPTION здесь не действует. Необходимо предварительно аутентифицироваться с помощью файла паролей и только тогда можно предоставить привилегии другому пользователю:

SQL> connect user1/pass as sysdba;
Connected.
SQL> grant sysdba to user2;

Grant succeeded.

В отличие от прав передачи, при предоставлении привилегий SYSDBA или SYSOPER роли ситуация однозначная. Сразу возникает ошибка. Так как данные привилегии могут работать и при выгруженном экземпляре, а роли действуют только при запущенной базе данных, предоставление их роли не имеет никакого смысла:

SQL> create role role1;

Role created.

SQL> grant sysdba to role1;
grant sysdba to role1
*
ERROR at line 1:
ORA-01931: cannot grant SYSDBA to a role

Просмотр пользователей включённых в файл паролей

В файле паролей на данный момент времени должны присутствовать три пользователя SYS, USER1 и USER2. Как убедиться, что они действительно туда попали? Конечно, можно просто посмотреть содержимое двоичного файла, но есть и более простой путь — это системное представление V$PWFILE_USERS:

SQL> select * from v$pwfile_users 
 
USERNAME SYSDBA SYSOPER SYSASM
-------- ------ ------- ------
SYS      TRUE   TRUE    FALSE 
USER1    TRUE   FALSE   FALSE 
USER2    TRUE   FALSE   FALSE 

Как видно из запроса, в файле паролей присутствуют три пользователя USER1, USER2 и SYS. Представление показывает не только присутствие этих пользователей в файле, но и предоставляет информацию о том, какие из привилегий SYSDBA и SYSOPER были выданы пользователю. Эта информация может быть полезна в дальнейшем при исключении пользователя из файла паролей или пересоздании файла.

Подключение с использованием файла паролей

Для того чтобы аутентифицироваться в локальной или удалённой базе данных с использованием файла паролей, пользователь при подключении должен указать этот вид аутентификации. Сделать это можно разными способами. Например, в утилите SQLPLUS для этого используются служебные слова AS SYSDBA или AS SYSOPER, которые могут быть указаны в команде CONNECT или в аргументах запуска утилиты из командной строки:

SQL> connect user1/pass as sysdba
Connected.

[oracle@ora11g ~]$ sqlplus user1/pass as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jan 32 13:16:51 2013

Connected to:

Некоторые утилиты oracle, такие как RMAN, вообще не требуют указания ключевых слов. Подключение с использованием файла паролей у них идет по умолчанию:

RMAN> connect target user1/pass;
connected to target database: ORCL (DBID=1330046917)

Что же касается сторонних утилит, то тут возможность подключения пользователя с использованием файла паролей полностью ложиться на плечи их разработчиков и зависит от целей, для которых эти утилиты предназначаются. В большинстве случаев такая поддержка, конечно, реализуется, ведь её отсутствие делает, например, невозможным подключение пользователя SYS, для которого вид аутентификации по файлу паролей является единственно возможным:

SQL> connect sys/pass;
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

Warning: You are no longer connected to ORACLE.    

Хотя в большинстве утилит Oracle возможность аутентификации с использованием файла паролей реализована, работа пользователя в данном режиме подключения обычно не рекомендуется. Исключения здесь составляют только административные действия с базой данных и доступ к специфической служебной информации, например x$ таблицы. Стоит учитывать, что данный вид аутентификации использует совершенно другие алгоритмы подключения к базе данных, в корне отличающиеся от обычных соединений. Например, когда пользователь подключается к базе данных с привилегиями SYSDBA (SYSOPER) ему определяется схема по умолчанию SYS (PUBLIC), а вовсе не схема соответствующая его имени, как это происходит при обычном подключении:

SQL> connect user1/pass;
Connected.
SQL> select sys_context('userenv', 'current_schema') from dual;

SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
---------------------------------------
USER1

SQL> connect user1/pass as sysdba
Connected.
SQL> select sys_context('userenv', 'current_schema') from dual;

SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
---------------------------------------
SYS

Из-за этого несоответствия могут возникнуть ошибки при доступе к объектам расположенным в схеме пользователя, если в командах не прописана схема или в системе отсутствуют синонимы на объект.

Так как пользователь, соединяющийся с использованием файла паролей, подключается как пользователь SYS, все действия такого пользователя не попадают в основную базу стандартного аудита. Это сильно затрудняет наблюдение за ним. По той же причине триггеры на уровне базы данных не срабатывают для данного вида подключения. Об этом то же стоит не забывать.

Пароли чувствительные к регистру

Начиная с одиннадцатой версии, в Oracle введена возможность использовать пароли с учётом регистра. Для обычных подключений по умолчанию этот режим включен и определяется параметром инициализации SEC_CASE_SENSITIVE_LOGON:

SQL> show parameters sec_case
 
Параметр                 Тип     Значение
------------------------ ------- --------
sec_case_sensitive_logon boolean TRUE    

Файл паролей по умолчанию так же использует пароли чувствительные к регистру. Причём этот режим никак не зависит от установок параметра SEC_CASE_SENSITIVE_LOGON. Продемонстрируем это на примере.

Для начала выключим зависимость паролей от регистра:

SQL> alter system set sec_case_sensitive_logon=false;
System altered. 

Перезагрузим экземпляр. Изменим пароль пользователя USER1 на верхний регистр:

SQL> alter user user1 identified by PASS;
User altered.

Теперь попробуем подключиться к экземпляру в обычном режиме и с помощью файла паролей:

SQL> connect user1/pass;
Connected.

SQL> connect user1/pass as sysdba
ERROR:
ORA-01031: insufficient privileges

Warning: You are no longer connected to ORACLE.

SQL> connect user1/PASS as sysdba
Connected.

Как видно, при аутентификации с помощью файла паролей, пароль зависит от регистра независимо от того, что параметр SEC_CASE_SENSITIVE_LOGON выключен.

Если возникает необходимость в том, что бы пароли пользователей, включённые в файл паролей, не зависели от регистра, то необходимо, при создании файла с помощью утилиты ORAPWD, указать опцию IGNORECASE. Попробуем продемонстрировать это на примере. Для начала пересоздадим файл паролей с данной опцией:

[oracle@ora11g dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@ora11g dbs]$ orapwd file=orapworcl force=y ignorecase=y

Enter password for SYS:

Теперь пароли пользователей, помещаемых во вновь созданный файл, не будут зависеть от регистра. Проверим это. Так как файл был создан заново, включим в него опять пользователя USER1 и попробуем под ним подключиться:

SQL> grant sysdba to user1;

Grant succeeded.

SQL> connect user1/pass as sysdba
Connected.

SQL> connect user1/PASS as sysdba
Connected.

Как видно подключение прошло успешно в не зависимости от того, в каком регистре пароль был набран.

Аутентификация средствами Windows на сервере Oracle | Windows IT Pro/RE

Подтверждение идентичности пользователей баз данных с помощью пользовательских имен и паролей Windows

Пароли, необходимые для доступа к базам данных Oracle, обычно хранятся на серверах базы данных. Администраторов баз данных такой порядок вполне устраивает, однако есть у него и свои недостатки. Если пользователь, скажем, забыл пароль и возникла необходимость его поменять, без администратора никак не обойтись. Или другой пример: синхронизацию паролей Windows и паролей баз данных Oracle можно осуществлять только вручную. А вот в системе Microsoft SQL Server встроенная функция защиты позволяет обеспечивать безопасный доступ к базе данных с помощью имен пользователей и паролей Windows. И когда пользователям нужно переустанавливать свои пароли, администратор SQL Server может поручить выполнение этой задачи сотрудникам службы поддержки.

Существует возможность настраивать серверы баз данных таким образом, чтобы они использовали средства аутентификации операционной системы (по терминологии Oracle — средства внешней аутентификации), аналогичные встроенной функции аутентификации SQL Server. Но прежде чем приступить к использованию средств аутентификации Windows при предоставлении доступа к базе данных Oracle, следует разобраться, какие последствия будут иметь эти действия с точки зрения безопасности данных. Надо сказать, что детали авторизации пользователей Oracle, зарегистрированных на сервере Oracle, существенно отличаются от деталей авторизации пользователей Oracle, зарегистрированных на удаленных клиентах, поэтому в данной статье я рассматриваю оба сценария.

Windows-аутентификация группы на сервере базы данных

При установке Oracle на сервере Windows система создает группу Windows ORA_DBA и автоматически включает в эту группу учетную запись Windows, использовавшуюся в ходе установки Oracle. Затем администратор базы данных может включить в эту группу других пользователей Windows, которым требуется полный набор привилегий администратора базы данных Oracle. Но нужно действовать осторожно: входящие в группу ORA_DBA локальные и доменные пользователи Windows не обязаны предъявлять пользовательские имена и пароли Oracle. В свойстве Description группы ORA_DBA указывается, что члены группы могут создавать соединения с базой данных Oracle в качестве администраторов базы данных без предъявления паролей.

Для того чтобы база данных Oracle воспринимала пользователей группы ORA_DBA как прошедших процедуру аутентификации, необходимо должным образом сконфигурировать файл sqlnet.ora, показанный на экране 1. В системах Oracle9i и Oracle8i данный файл размещается в папке \%ORACLE_HOME%
etworkadmin folder, где %ORACLE_HOME% означает маршрут, используемый при установке серверных компонентов Oracle. Модифицируя файл sqlnet.ora, администратор может указывать, каким образом будут устанавливаться соединения с сервером Oracle.

Параметр NAMES.DIRECTORY_PATH файла sqlnet.ora определяет методы, используемые клиентами Oracle для разрешения псевдонима строки соединения. Например, когда в окне командной строки я ввожу символы

sqlplus /@test9

утилита SQL*Plus пытается разрешить псевдоним test9 с помощью записей NAMES.DIRECTORY_PATH в файле sqlnet.ora. Описание средства SQL*Plus, а также информация о том, как его можно получить, содержится во врезке «Программа SQL*Plus для управления Oracle». В соответствии с инструкциями представленного на экране 1 эталонного файла sqlnet.ora, клиент сначала пытается разрешить имя Oracle с помощью текстового файла tnsnames.ora, который размещается либо локально, либо на общем сетевом ресурсе. Если в файле tnsnames.ora данного имени нет, клиент пытается разрешить его через сервер Oracle Names (в настоящее время Oracle рекомендует вместо серверов Oracle Names использовать протокол LDAP — Lightweight Directory Access Protocol). Если же и этот метод не дает результата, клиент пытается разрешить данное имя с помощью метода разрешения имени главной машины, такого как DNS или Network Information Service (NIS).

Параметр SQLNET.AUTHENTICATION_SERVICES файла sqlnet.ora указывает, какую службу аутентификации должна применять база данных Oracle в случае, если пользователь пытается установить соединение с сервером Oracle. По умолчанию системы Oracle9i и Oracle8i активизируют службу аутентификации Windows при наличии следующей настройки:

SQLNET.AUTHENTICATION_SERVICES=(NTS)

В системе Windows NT аутентификация всегда осуществляется с помощью диспетчера NT LAN Manager (NTLM). Что же касается систем Windows Server 2003, Windows XP и Windows 2000, то в тех случаях, когда клиентская машина Oracle находится в домене Windows 2003 или Windows 2000, применяется механизм аутентификации Kerberos; в других случаях используется аутентификация NTLM. Стандартную установку, предусматривающую аутентификацию только средствами Windows, нельзя задействовать при работе с приложениями, в которых применяется стандартный метод аутентификации Oracle. И надо сказать, что в прикладных программах многих независимых поставщиков при подключении к системам Oracle применяются стандартные имена пользователей и пароли Oracle. Чтобы иметь возможность пользоваться средствами аутентификации как Oracle, так и Windows, нужно внести в указанный ниже параметр службы аутентификации серверного файла sqlnet.ora следующие изменения:

SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)

Любые изменения методов аутентификации могут обернуться потерей соединения. Для выявления подобных сбоев всякий раз при модификации параметра службы аутентификации первым делом следует выполнить с помощью утилиты SQL*Plus базовый тест средств подключения к сети, а затем проверить клиентские приложения Oracle.

Группа ORA_DBA — это группа Windows, поэтому сервер базы данных Oracle обращается к ней лишь в тех случаях, когда служба SQLNET.AUTHENTICATION_SERVICES выполняет процедуру аутентификации средствами Windows. Например, если активизированы средства аутентификации Windows и в окне командной строки вводится

set oracle_sid=test9
sqlplus «/ as sysdba»

я могу создать привилегированное соединение SYSDBA без предъявления пользовательского имени и пароля Oracle.

Значение ORACLE_SID, представленное в нашем примере в первой командной строке (оно равно test9), предоставляет альтернативный вариант строки соединения с базой данных, который файл sqlplus.exe будет использовать для подключения к экземпляру базы данных Oracle. Во второй командной строке указываются учетные данные для аутентификации. Двойные кавычки необходимы для того, чтобы программа SQL*Plus воспринимала всю строку соединения, включая пробелы, как один параметр командной строки. Синтаксическая конструкция as sysdba указывает на то, что клиент хотел бы подключиться к базе данных Oracle как зарегистрированный в системе Windows пользователь с привилегиями SYSDBA. Когда я ввел обе эти команды на своей клиентской машине Oracle, система возвратила результаты, представленные на экране 2. Если при установлении соединения пользователя с привилегиями SYSDBA программе SQL*Plus будут предъявлены имя пользователя и пароль Oracle, SQL*Plus просто проигнорирует эти данные. И такая реакция не будет нарушением правил безопасности, поскольку сервер Oracle выполнил процедуру аутентификации не по учетным данным Oracle, а по данным Windows.

Членство в группе ORA_DBA обеспечивает пользователю SYSDBA права доступа ко всем хранящимся на сервере экземплярам Oracle, потому что Windows-группа ORA_DBA владеет ролью Oracle SYSDBA. Роль SYSDBA эквивалентна роли системного администратора (systems administrator, sa) в системе SQL Server. Чтобы предоставлять права доступа с большей степенью детализации, можно создать отдельные группы общего формата ORA_SID_DBA, где SID — это набранный прописными буквами идентификатор Oracle SID, который обеспечивает пользователю SYSDBA права доступа не к определенным базам данных, а к конкретным серверам. Так, в приведенном примере значением идентификатора SID является test9, а это значит, что вы можете создать группу с именем ORA_TEST9_DBA. И теперь все пользователи Windows, которые будут включены в группу ORA_TEST9_DBA, но не войдут в группу ORA_DBA, будут иметь права доступа SYSDBA только к экземпляру базы данных Oracle TEST9.

Подобным же образом можно управлять членством пользователей в группах ORA_OPER и ORA_SID_OPER, которые соответствуют используемой в Oracle роли SYSOPER, чтобы предоставлять привилегии SYSOPER тем или иным пользователям Windows. SYSOPER располагает ограниченным подмножеством привилегий пользователя SYSDBA; аналогичный объем привилегий предоставляется роли db_backupoperator в системе SQL Server.

Итак, для выполнения аутентификации средствами Windows с привилегированной авторизацией (т. е. с правами SYSDBA, SYSOPER), обеспечивающей доступ к Oracle, нужно выполнить следующие операции.

  1. Убедитесь в существовании или создайте соответствующие группы Windows (такие, как ORA_DBA, ORA_SID_DBA, ORA_OPER, ORA_SID_OPER), необходимые для обеспечения требуемого уровня доступа к серверу базы данных Oracle.
  2. Введите пользователей в соответствующие группы.
  3. Позаботьтесь о том, чтобы служба SQLNET.AUTHENTICATION_SERVICES применяла средства Windows (например, NTS) для аутентификации как клиентов, так и серверов.

В системе Oracle предусмотрен графический интерфейс (см. экран 3), предназначенный для добавления пользователей в группы ORA_DBA и ORA_OPER. Если таких групп нет, их можно создать средствами графического интерфейса пользователя. Для обращения к интерфейсу необходимо нажать кнопку Start и в открывшемся списке выбрать элементы All Programs, Oracle — OraHome92, Configuration and Migration Tools, Oracle Administration Assistant for Windows NT. Чтобы добавить пользователя в Windows-группу ORA_OPER, следует щелкнуть правой клавишей мыши на узле OS Database Operators — Computer и в контекстном меню выбрать пункт Add/Remove. Когда на экране появится диалоговое окно OS Database Operators, требуется выбрать нужный домен, затем пользователя, далее щелкнуть на кнопке Add и, наконец, на кнопке OK. Система создаст группу ORA_OPER, если раньше ее не было, и включит в нее указанных пользователей.

Кстати, при выполнении аутентификации средствами Windows нужно иметь в виду следующее обстоятельство: если когда-либо в будущем потребуется воссоздать файл паролей Oracle (в папке \%ORACLE_HOME%database), обратитесь к документации Oracle и проверьте значение настройки REMOTE_LOGIN_PASSWORD в файле init.ora. Как указывается в руководстве Oracle9i Database Administrator?s Guide, значение REMOTE_LOGIN_PASSWORD определяет, как функционирует система аутентификации Oracle, что в свою очередь может повлиять на функционирование приложений, использующих механизм аутентификации Oracle.

Windows-аутентификация на сервере без группы

А что если администратор базы данных, зарегистрированный на сервере базы данных, хочет получить при подключении к Oracle меньший объем полномочий, чем это предусмотрено для пользователя SYSDBA? Сокращение объема собственных прав — это рациональный подход, позволяющий свести к минимуму ущерб, который может быть нанесен в случае ошибочных действий администратора. В рамках нашего примера допустим, что пользователь Windows WinUser в домене PENTON зарегистрировался на сервере Windows, где установлено программное обеспечение Oracle. Обратите внимание на то, что при стандартной установке пользователь Windows, подключившийся к системе как пользователь SYSDBA, не может создавать соединения с меньшим объемом полномочий. Так, если я наберу строку

sqlplus /

система возвратит результаты, показанные на экране 4. Причина сбоя в том, что клиент уже не будет пытаться подключиться к базе данных Oracle в качестве члена Windows-группы ORA_DBA. В результате объем полномочий пользователя Windows уже не соотносится автоматически с ролью Oracle через его членство в группе Windows и, следовательно, пользователь не получает авторизации в системе Oracle. Мы не используем членство в группах для аутентификации пользователя, поэтому учетная запись пользователя Windows, WinUser, передается в систему Oracle и проходит авторизацию средствами Oracle. Но Oracle предоставляет пользователю Windows определенный объем полномочий лишь в том случае, если данному пользователю соответствует пользователь Oracle. В нашем примере полностью определенное доменное имя пользователя (Fully Qualified Domain Name, FQDN) — PENTONWinUser. Чтобы этот пользователь Windows мог пройти авторизацию в базе данных Oracle, мы должны создать пользователя Oracle PENTONWinUser. Когда пользователю Windows соответствует пользователь Oracle, объем полномочий, предоставляемых данному пользователю Windows, соответствует объему полномочий определенного пользователя Oracle. При создании пользователя Oracle необходимо, чтобы имя FQDN состояло только из прописных букв и было заключено в двойные кавычки, как в приведенном ниже примере. С помощью SQL*Plus или другого клиентского инструмента мы можем подключиться к базе данных Oracle с полномочиями SYSDBA и выполнить следующие команды:

create user «PENTONWINUSER»
 identified externally;
grant create session to «PENTONWINUSER»;

В системе Oracle предусмотрен параметр, оказывающий влияние на то, как Oracle устанавливает соответствие между именем пользователя Windows и именем пользователя Oracle. Он применяется в ситуациях, когда членство пользователя в группах Windows не указывается. В ранних версиях Oracle использовался префикс OPS$, который ставился перед именем пользователя Oracle, применяемого во внешней аутентификации. Имена пользователей в Oracle могут состоять не более чем из 30 знаков, поэтому применение префикса OPS$, в сущности, ограничивало длину имени пользователя до оставшихся 26 знаков. Чтобы не пришлось использовать префикс OPS$, содержащий параметры базы данных Oracle, файл init.ora (который хранится в папке \%ORACLE_HOME%database) должен содержать следующую настройку (она создается по умолчанию при установке систем Oracle9i и Oracle8i):

os_authent_prefix = «»

Этот параметр используется для обеспечения обратной совместимости. Oracle не рекомендует добавлять к именам префиксы, поэтому и используется приведенный выше стандартный «пустой» параметр. Чтобы система начала применять измененный параметр OS_AUTHENT_PREFIX, необходимо остановить и вновь инициализировать экземпляр базы данных Oracle.

После того как пользователь Windows получил соответствующее имя пользователя Oracle, система Windows может проверить идентичность данного пользователя, и тот может установить соединение с базой данных Oracle. Аналогичные приемы используются для аутентификации удаленных клиентов.

Аутентификация удаленных клиентов Windows

Надо отметить, что аутентификацией клиентов Windows, использующих средства аутентификации Windows для доступа к функционирующему в той же сети удаленному серверу Oracle, операционная система этого сервера не занимается. Процедура аутентификации таких пользователей выполняется операционными системами клиентов. Чтобы активизировать средства дистанционной аутентификации, нужно в файл init.ora для данного экземпляра базы данных добавить указанную ниже запись, после чего остановить и вновь запустить базу данных:

REMOTE_OS_AUTHENT=TRUE

В Oracle не рекомендуется прибегать к дистанционной аутентификации, поскольку она не обеспечивает защиты от спуфинга учетных данных пользователей. Предположим, к примеру, что в домене PENTON имеется легитимный пользователь Windows с именем WinUser. Далее на том же сервере мы с помощью приведенной ниже синтаксической конструкции создаем пользователя Oracle и активизируем средства дистанционной аутентификации:

create user «PENTONWINUSER»
 identified externally;
grant create session to «PENTONWINUSER»;

Теперь представьте себе, что может произойти, если к сети подключится хакерская машина с именем PENTON. Злоумышленник может создать на своей машине локального пользователя Windows с именем WinUser, и этот пользователь будет проходить процедуру аутентификации под именем PENTONWinUser. Далее имя данного пользователя может быть передано на сервер Oracle как PENTONWinUser. Сервер Oracle не сумеет отличить доменное имя PENTON от имени PENTON, присвоенного хакерской машине, поэтому, выполняя процедуру дистанционной аутентификации, он подтвердит полномочия машины злоумышленника. По представлениям сервера Oracle, PENTONWinUser относится к категории пользователей, поэтому он наделяет этого пользователя всем объемом полномочий, причитающихся PENTONWinUser. Если доступ к сети могут получать посторонние клиентские машины, это означает, что средства дистанционной аутентификации Windows открывают среду баз данных для несанкционированного доступа.

Знакомая модель

Выполняемая средствами Windows аутентификация пользователей на серверах баз данных Oracle легко реализуется и обеспечивает удобный доступ для уполномоченных пользователей, зарегистрированных на сервере баз данных. Поскольку система Windows предусматривает управление паролями, аутентификация средствами Windows строится в соответствии с моделью, хорошо известной сетевым и системным администраторам. Однако нужно помнить, что такой механизм аутентификации не подходит для удаленных пользователей, ибо он не исключает возможности несанкционированного доступа к данным.

Джон Пол Кук ([email protected]) — проектировщик баз данных и информационных систем в Хьюстоне, Техас. Имеет ряд сертификатов Microsoft и Oracle. Консультирует крупные компании по SQL Server, Oracle и .NET Framework.


Программа SQL*Plus для управления Oracle

SQL*Plus — утилита, позволяющая формировать запросы, модифицировать объекты базы данных Oracle и манипулировать ими, а также выполнять операции по обслуживанию баз данных. SQL*Plus инсталлируется по умолчанию при установке сервера Oracle. По набору функций версия программы с командной строкой напоминает утилиту Osql системы SQL Server. Для запуска этой версии SQL*Plus необходимо ввести в окне командной строки:

sqlplus

Версия инструмента с графическим интерфейсом размещается среди прочих программ группы Oracle Application Development. Так, если в сети каталог Oracle Home (т. е. каталог, в который устанавливается Oracle с помощью программы Oracle Universal Installer) называется OraHome92, для доступа к нему необходимо в меню Start последовательно выбрать элементы All Programs, Oracle — OraHome92, Application Development и SQL Plus. Для установки SQL*Plus на клиенте можно использовать комплект Oracle 9i Release 2, который можно загрузить на Web-узле Oracle Technology Network по адресу http://technet.oracle.com/software/products/ oracle9i/index.html.

Аутентификация средствами Windows на сервере Oracle

Поделитесь материалом с коллегами и друзьями

CREATE USER ОПЕРАТОР — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

В этом учебном материале вы узнаете, как использовать Oracle оператор CREATE USER с синтаксисом и примерами.

Описание

Oracle оператор CREATE USER создает учетную запись базы данных, которая позволяет войти в базу данных Oracle.

Синтаксис

Синтаксис оператора CREATE USER в Oracle/PLSQL:

CREATE USER user_name
IDENTIFIED { BY password
| EXTERNALLY [ AS ‘certificate_DN’ ]
| GLOBALLY [ AS ‘[ directory_DN ]’ ]
}
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group }
| QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED }
ON tablespace
[ QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED }
ON tablespace
]
| PROFILE profile_name
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK }
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group }
| QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED }
ON tablespace
[ QUOTA integer [ K | M | G | T | P | E ]
| UNLIMITED }
ON tablespace
]
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK } ]
] ;

Параметры и аргументы

user_name
Имя учетной записи базы данных, которую вы хотите создать.

PROFILE profile_name
Необязательный. Это имя профиля, который вы хотите назначить для учетной записи пользователя, чтобы ограничить объем ресурсов базы данных, присвоенных учетной записи пользователя. Если опустить этот параметр, профиль по умолчанию присваивается пользователю.

PASSWORD EXPIRE
Необязательный. Если этот параметр установлен, то пароль должен быть сброшен до того, как пользователь может войти в базу данных Oracle.

ACCOUNT LOCK
Необязательный. Он отключает доступ к учетной записи пользователя.

ACCOUNT UNLOCK
Необязательный. Включает доступ к учетной записи пользователя.

Пример

Если вы хотите, выполнить простой оператор CREATE USER, который создаст нового пользователя и назначит пароль, вы можете сделать следующее:

Например:

CREATE USER kuzma
IDENTIFIED BY zdd32metfh
DEFAULT TABLESPACE tbs_new_01
TEMPORARY TABLESPACE tbs_temp_01
QUOTA 20M on tbs_perm_01;

CREATE USER kuzma

  IDENTIFIED BY zdd32metfh

  DEFAULT TABLESPACE tbs_new_01

  TEMPORARY TABLESPACE tbs_temp_01

  QUOTA 20M on tbs_perm_01;

В этом примере оператор CREATE USER будет создавать нового пользователя с именем kuzma в базе данных Oracle, чей пароль zdd32metfh, табличное пространство по умолчанию будет tbs_new_01 с квотой 20М, а временное табличное пространство будет tbs_temp_01.

Если вы хотите убедиться, что пользователь изменил свой пароль перед входом в базу данных, вы можете добавить опцию PASSWORD EXPIRE — это выглядит следующим образом:

CREATE USER smithj
IDENTIFIED BY pwd4smithj
DEFAULT TABLESPACE tbs_perm_01
TEMPORARY TABLESPACE tbs_temp_01
QUOTA 20M on tbs_perm_01
PASSWORD EXPIRE;

CREATE USER smithj

  IDENTIFIED BY pwd4smithj

  DEFAULT TABLESPACE tbs_perm_01

  TEMPORARY TABLESPACE tbs_temp_01

  QUOTA 20M on tbs_perm_01

  PASSWORD EXPIRE;

External Database User

Для создания внешнего пользователя базы данных, можно выполнить следующий оператор CREATE USER:

CREATE USER external_user1
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE tbs_perm_01
QUOTA 5M on tbs_perm_01
PROFILE external_user_profile;

CREATE USER external_user1

  IDENTIFIED EXTERNALLY

  DEFAULT TABLESPACE tbs_perm_01

  QUOTA 5M on tbs_perm_01

  PROFILE external_user_profile;

В этом примере оператор CREATE USER создаст внешнего пользователя базы данных с именем external_user1, табличное пространство по умолчанию будет tbs_perm_01 с квотой 5М, и ограниченными ресурсами базы данных, назначенных external_user_profile.

Для создания внешнего пользователя базы данных, который доступен только с помощью учетной записи операционной системы, вы можете запустить следующее предложение CREATE USER:

CREATE USER ops$external_user1
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE tbs_perm_01
QUOTA 5M on tbs_perm_01
PROFILE external_user_profile;

CREATE USER ops$external_user1

  IDENTIFIED EXTERNALLY

  DEFAULT TABLESPACE tbs_perm_01

  QUOTA 5M on tbs_perm_01

  PROFILE external_user_profile;

Обратите внимание, что единственное различие между этим примером CREATE USER и предыдущим является ops$ перед user_name.

Global Database User

Для создания глобального пользователя базы данных, можно выполнить следующий оператор CREATE USER:

CREATE USER global_user1
IDENTIFIED GLOBALLY AS ‘CN=manager, OU=division, O=oracle, C=US’
DEFAULT TABLESPACE tbs_perm_01
QUOTA 10M on tbs_perm_01;

CREATE USER global_user1

  IDENTIFIED GLOBALLY AS ‘CN=manager, OU=division, O=oracle, C=US’

  DEFAULT TABLESPACE tbs_perm_01

  QUOTA 10M on tbs_perm_01;

В этом примере CREATE USER создаст глобального пользователя базы данных под названием global_user1, у которого по умолчанию табличное пространство tbs_perm_01 с квотой 10М.

Oracle Directories Directory

Общие
Связанные объекты словаря данных
дир $

all_directories ку $ _directory_t

dba_directories ku $ _directory_view

Системные привилегии GRANT создать любой каталог TO ;
GRANT удалить любой каталог TO ;
GRANT создать любой каталог для uwclass;
GRANT удалить любой каталог TO uwclass;
Создать каталог
Создать каталог СОЗДАТЬ ИЛИ ЗАМЕНИТЬ КАТАЛОГ <имя_каталога> AS ‘<путь_операционной_системы>‘;
conn / as sysdba

desc dba_directories

установить размер строки 121
col формат владельца a15
col формат имени_каталога a20
col формат пути_каталога a70

SELECT *
FROM dba_directories;

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ КАТАЛОГ

ctemp AS ‘c: emp’;

ВЫБРАТЬ *
ИЗ dba_directories;

Предоставление привилегий каталогу
Грант на чтение в каталоге GRANT READ ON DIRECTORY TO
col формат предоставления a20
формат получателя a20
col формат таблицы_схемы a20
col формат имени_таблицы a20
формат привилегий col a10

SELECT правообладатель, получатель, table_schema, имя_таблицы, привилегия
FROM all_tab_privs
WHERE table_name = ‘CTEMP’;

GRANT READ ON DIRECTORY ctemp TO uwclass;

ВЫБРАТЬ правообладателя, получателя, table_schema, table_name, привилегии
FROM all_tab_privs
WHERE table_name = ‘CTEMP’;

Разрешить запись в каталог GRANT WRITE ON DIRECTORY TO
РАЗРЕШИТЬ ЗАПИСАТЬ В КАТАЛОГ ctemp TO
uwclass;

SELECT правообладатель, получатель, схема_таблицы, имя_таблицы, привилегия
FROM all_tab_privs
WHERE table_name = ‘CTEMP’;

Отменить чтение в каталоге ОТМЕНИТЬ ЧТЕНИЕ В КАТАЛОГЕ <имя_каталога> ИЗ <имя_схемы>
ОТМЕНИТЬ ЧТЕНИЕ НА ДИРЕКТОРИИ ctemp ОТ
uwclass;
Отменить запись в каталог ОТМЕНИТЬ ЗАПИСЬ В КАТАЛОГ <имя_каталога> ИЗ <имя_схемы>
ОТМЕНА ЗАПИСИ НА КАТАЛОГ ctemp ОТ uwclass;
Drop Directory
Удалить каталог DROP DIRECTORY <имя_каталога>;
ВЫБЕРИТЕ *
ИЗ dba_directories;

DROP DIRECTORY

ctemp;

ВЫБРАТЬ *
ИЗ dba_directories;

Учебное пособие: интеграция Azure Active Directory с Oracle Cloud Infrastructure Console

  • 7 минут на чтение

В этой статье

В этом руководстве вы узнаете, как интегрировать консоль Oracle Cloud Infrastructure Console с Azure Active Directory (Azure AD).При интеграции консоли Oracle Cloud Infrastructure Console с Azure AD вы можете:

  • Контроль в Azure AD, у которого есть доступ к Oracle Cloud Infrastructure Console.
  • Разрешите пользователям автоматически входить в Oracle Cloud Infrastructure Console с помощью своих учетных записей Azure AD.
  • Управляйте своими учетными записями в одном центральном месте — портале Azure.

Предварительные требования

Для начала вам понадобятся следующие предметы:

  • Подписка на Azure AD.Если у вас нет подписки, вы можете получить бесплатную учетную запись.
  • Подписка Oracle Cloud Infrastructure Console с поддержкой единого входа (SSO).

Описание сценария

В этом руководстве вы настраиваете и тестируете единый вход Azure AD в тестовой среде.

  • Oracle Cloud Infrastructure Console поддерживает единый вход, инициированный SP .

Добавление консоли Oracle Cloud Infrastructure из галереи

Чтобы настроить интеграцию Oracle Cloud Infrastructure Console в Azure AD, вам необходимо добавить Oracle Cloud Infrastructure Console из галереи в свой список управляемых приложений SaaS.

  1. Войдите на портал Azure, используя рабочую или учебную учетную запись или личную учетную запись Microsoft.
  2. На левой панели навигации выберите службу Azure Active Directory .
  3. Перейдите к Enterprise Applications и затем выберите All Applications .
  4. Чтобы добавить новое приложение, выберите Новое приложение .
  5. В разделе Add из галереи введите Oracle Cloud Infrastructure Console в поле поиска.
  6. Выберите Oracle Cloud Infrastructure Console на панели результатов и затем добавьте приложение. Подождите несколько секунд, пока приложение будет добавлено в ваш клиент.

Настройка и тестирование единого входа Azure AD

Настройте и протестируйте единый вход Azure AD с помощью Oracle Cloud Infrastructure Console, используя тестового пользователя с именем B. Simon . Для работы единого входа необходимо установить связь между пользователем Azure AD и связанным пользователем в Oracle Cloud Infrastructure Console.

Чтобы настроить и протестировать единый вход в Azure AD с помощью Oracle Cloud Infrastructure Console, выполните следующие действия:

  1. Настройте единый вход для Azure AD , чтобы пользователи могли использовать эту функцию.
    1. Создайте тестового пользователя Azure AD , чтобы протестировать единый вход в Azure AD с Б. Саймоном.
    2. Назначьте тестового пользователя Azure AD , чтобы Б. Саймон мог использовать единый вход в Azure AD.
  2. Настройте консоль Oracle Cloud Infrastructure для настройки параметров единого входа на стороне приложения.
    1. Создайте тестового пользователя консоли Oracle Cloud Infrastructure Console, чтобы иметь копию Б. Саймона в консоли Oracle Cloud Infrastructure Console, которая связана с представлением пользователя в Azure AD.
  3. Протестируйте SSO , чтобы проверить, работает ли конфигурация.

Настройка единого входа в Azure AD

Выполните следующие действия, чтобы включить единый вход Azure AD на портале Azure.

  1. На портале Azure на странице интеграции приложения Oracle Cloud Infrastructure Console найдите раздел Manage и выберите Single sign-on .

  2. На странице Выберите метод единого входа выберите SAML .

  3. На странице «Настройка единого входа с SAML » щелкните значок редактирования / пера для Базовая конфигурация SAML , чтобы изменить настройки.

  4. На странице Базовая конфигурация SAML введите значения в следующие поля:

    Примечание

    Вы получите файл метаданных поставщика услуг из раздела Настроить единый вход консоли Oracle Cloud Infrastructure Console данного руководства.

    1. Щелкните Загрузить файл метаданных .

    2. Щелкните логотип папки , чтобы выбрать файл метаданных, и щелкните Загрузить .

    3. После успешной загрузки файла метаданных значения Identifier и Reply URL автоматически заполняются в текстовом поле раздела Basic SAML Configuration .

      Примечание

      Если значения Identifier и Reply URL не обрабатываются автоматически, введите значения вручную в соответствии с вашими требованиями.

      В текстовом поле URL-адрес для входа введите URL-адрес, используя следующий шаблон:
      https: // console. .oraclecloud.com /

  5. На странице Настроить единый вход с помощью SAML в разделе Сертификат подписи SAML найдите Federation Metadata XML и выберите Загрузить , чтобы загрузить сертификат и сохранить его на своем компьютере.

  6. Приложение Oracle Cloud Infrastructure Console ожидает утверждения SAML в определенном формате, что требует добавления настраиваемых сопоставлений атрибутов в конфигурацию атрибутов токена SAML.На следующем снимке экрана показан список атрибутов по умолчанию. Щелкните значок Edit , чтобы открыть диалоговое окно User Attributes.

  7. В дополнение к вышесказанному, приложение Oracle Cloud Infrastructure Console ожидает, что в ответе SAML будет передано еще несколько атрибутов. В разделе User Attributes & Claims диалогового окна Group Claims (Preview) выполните следующие действия:

    1. Щелкните пером рядом с Значение идентификатора имени .

    2. Выберите Persistent как Выберите формат идентификатора имени .

    3. Щелкните Сохранить .

    4. Щелкните пером рядом с Группы, возвращенные в претензии .

    5. Выберите Группы безопасности из списка радио.

    6. Выберите Атрибут источника из ID группы .

    7. Проверка Настройте имя групповой заявки .

    8. В текстовом поле Name введите groupName .

    9. В текстовом поле Namespace (необязательно) введите https://auth.oraclecloud.com/saml/claims .

    10. Щелкните Сохранить .

  8. В разделе Set up Oracle Cloud Infrastructure Console скопируйте соответствующий URL-адрес в соответствии с вашими требованиями.

Создание тестового пользователя Azure AD

В этом разделе вы создадите тестового пользователя на портале Azure с именем B.Саймон.

  1. На левой панели портала Azure выберите Azure Active Directory , выберите Пользователи , а затем выберите Все пользователи .
  2. Выберите Новый пользователь вверху экрана.
  3. В свойствах Пользователь выполните следующие действия:
    1. В поле Name введите B. Simon .
    2. В поле Имя пользователя введите [email protected]. Например, Б[email protected] .
    3. Установите флажок Показать пароль , а затем запишите значение, которое отображается в поле Пароль .
    4. Щелкните Create .

Назначьте тестового пользователя Azure AD

В этом разделе вы разрешите Б. Саймону использовать единый вход в Azure, предоставив доступ к Oracle Cloud Infrastructure Console.

  1. На портале Azure выберите Корпоративные приложения , а затем выберите Все приложения .
  2. В списке приложений выберите Oracle Cloud Infrastructure Console .
  3. На странице обзора приложения найдите раздел Управление и выберите Пользователи и группы .
  4. Выберите Добавить пользователя , затем выберите Пользователи и группы в диалоговом окне Добавить назначение .
  5. В диалоговом окне « Пользователи и группы » выберите B. Simon из списка «Пользователи», затем нажмите кнопку « Выбрать » в нижней части экрана.
  6. Если вы ожидаете, что пользователям будет назначена роль, вы можете выбрать ее из раскрывающегося списка Выберите роль . Если для этого приложения не задана роль, вы увидите, что выбрана роль «Доступ по умолчанию».
  7. В диалоговом окне Добавить назначение нажмите кнопку Назначить .

Настройка консоли Oracle Cloud Infrastructure

  1. В другом окне веб-браузера войдите в Oracle Cloud Infrastructure Console как администратор.

  2. Щелкните в левой части меню и выберите Identity , затем перейдите к Federation .

  3. Сохраните файл метаданных поставщика услуг , щелкнув ссылку Загрузить этот документ и загрузив его в раздел Базовая конфигурация SAML портала Azure, а затем щелкните Добавить поставщика удостоверений .

  4. Во всплывающем окне Add Identity Provider выполните следующие действия:

    1. В текстовом поле ИМЯ введите свое имя.

    2. В текстовом поле DESCRIPTION введите свое описание.

    3. Выберите MICROSOFT ACTIVE DIRECTORY FEDERATION SERVICE (ADFS) ИЛИ SAML 2.0 COMPLIANT IDENTITY PROVIDER как TYPE .

    4. Щелкните Обзор , чтобы загрузить XML-файл метаданных федерации, который вы загрузили с портала Azure.

    5. Щелкните Продолжить и в разделе Edit Identity Provider выполните следующие действия:

    6. IDENTITY PROVIDER GROUP следует выбрать как идентификатор объекта группы Azure AD.ИДЕНТИФИКАТОР ГРУППЫ должен быть идентификатором GUID группы из Azure Active Directory. Группа должна быть сопоставлена ​​с соответствующей группой в поле OCI GROUP .

    7. Вы можете сопоставить несколько групп в соответствии с настройками на портале Azure и потребностями вашей организации. Щелкните + Добавить сопоставление , чтобы добавить столько групп, сколько вам нужно.

    8. Нажмите Отправить .

Создать тестового пользователя Oracle Cloud Infrastructure Console

Консоль

Oracle Cloud Infrastructure Console поддерживает своевременную подготовку, которая включена по умолчанию.В этом разделе для вас нет действий. Новый пользователь не создается во время попытки доступа, а также нет необходимости создавать пользователя.

Тест ССО

Когда вы выбираете плитку Oracle Cloud Infrastructure Console на панели доступа, вы будете перенаправлены на страницу входа в Oracle Cloud Infrastructure Console. Выберите IDENTITY PROVIDER в раскрывающемся меню и нажмите Продолжить , как показано ниже, для входа в систему. Для получения дополнительных сведений о панели доступа см. Введение в панель доступа.

Следующие шаги

После настройки Oracle Cloud Infrastructure Console вы можете задействовать элементы управления сеансом, которые защищают от кражи и проникновения конфиденциальных данных вашей организации в режиме реального времени. Управление сеансом происходит от условного доступа. Узнайте, как принудительно контролировать сеанс с помощью Microsoft Cloud App Security

7 шагов для создания новой базы данных Oracle из командной строки

Даже если вы системный администратор или разработчик Linux, иногда вы можете в конечном итоге управлять базой данных Oracle, работающей в вашей среде.

В этом случае важно понимать некоторые основные действия администратора баз данных Oracle. В этом руководстве мы объясним, как создать базу данных Oracle из командной строки.

Когда вы устанавливаете программное обеспечение Oracle, оно дает вам возможность создать новую базу данных из пользовательского интерфейса.

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

Чтобы создать базу данных Oracle, у вас есть два варианта:

  1. Воспользуйтесь помощником по настройке базы данных (DBCA) и создайте новую базу данных с помощью графического интерфейса пользователя.Это довольно просто.
  2. Используйте команду «Создать базу данных», чтобы создать новую базу данных Oracle из командной строки. Этот метод полезен, если у вас нет консольного доступа к серверу для запуска DBCA. Или, если на вашем сервере неправильно настроен Xterm, используйте этот метод.

1. Настройте соответствующие переменные среды Oracle

Во-первых, вы должны настроить соответствующую переменную среды Oracle на вашем сервере.

В этом примере предполагается, что oracle установлен в каталоге / u01 / app / oracle / product.Измените это значение в соответствии с вашей средой.

 экспорт ORACLE_BASE = / u01 / app / oracle
экспорт ORACLE_HOME = / u01 / app / oracle / product / 11.2.0
 

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

 экспорт ORACLE_SID = dev
 

2. Создайте файл Ini — initdev.ora

Затем создайте файл ora.ini для вашей новой базы данных. Это файл инициализации для новой базы данных.

В зависимости от версии вашего Oracle вы можете увидеть образец файла init.ora в $ ORACLE_HOME. Если он у вас есть, используйте его в качестве основы и соответствующим образом измените значения.

 кд $ ORACLE_HOME / dbs
cp init.ora initdev.ora
 

Примечание. Как показано выше, файл инициализации для этой новой базы данных должен иметь следующий формат: init {ORACLE_SID} .ora — Итак, в этом случае имя файла будет: initdev.ора

Если вы не видите шаблон init.ora по умолчанию в вашем $ ORACLE_HOME / dbs, используйте следующий пример.

 * .db_name = 'dev'
* .db_domain = ''
* .audit_file_dest = '/ u01 / app / oracle / admin / dev / adump'
* .audit_trail = 'db'
* .compatible = '11 .2.0.0.0 '
* .memory_target = 1 ГБ
* .control_files = '/ u01 / app / oracle / oradata / dev / control01.ctl', '/ home / oracle / u02 / oradata / dev / control02.ctl'
* .db_block_size = 8192
* .diagnostic_dest = '/ u01 / app / oracle / admin / dev'
* .open_cursors = 250
*.процессов = 100
* .remote_login_passwordfile = "ЭКСКЛЮЗИВ"
* .undo_tablespace = 'UNDOTS'
 

Несколько моментов, которые следует учитывать в приведенном выше файле:

  • В приведенном выше файле убедитесь, что вы установили db_name равным имени ORACLE_SID, которое вы установили на предыдущем шаге
  • Каким бы ни было имя undo_tablespace, которое мы указываем здесь, мы должны использовать точное имя во время команды CREATE DATABASE.
  • Измените местоположение каталога соответствующим образом в зависимости от вашей системы.Не забудьте заменить «dev» в указанном выше местоположении каталога на свое имя ORACLE_SID.

3. Создайте файл параметров обслуживания (spfile)

Файл

SP означает файл параметров сервера. В отличие от файла инициализации sp-файл — это двоичный файл, и вы не можете редактировать его вручную.

Файл

SP создается из текстового ini-файла. Преимущество файла SP заключается в том, что вы можете изменить значения параметров инициализации после запуска базы данных с помощью команды ALTER SYSTEM.

Другими словами, когда вы используете команду «ALTER SYSTEM» для изменения любого значения параметра, оно сохраняет их в файле SP.

Затем, когда база данных Oracle запускается, она сначала ищет файл SP для значения параметра. Если он не может найти какой-либо файл SP, он будет использовать текстовый Ini-файл.

Чтобы создать файл SP для нашей новой базы данных, используйте следующую команду.

Сначала используйте команду sqlplus и получите приглашение sysdba oracle, откуда мы будем создавать новую базу данных.

 $ sqlplus / as sysdba
Подключен к бездействующему экземпляру.
SQL>
 

Если вы заметили в приведенном выше выводе, он говорит: «Подключен к незанятому экземпляру.». Это потому, что для нашего текущего ORACLE_SID установлено значение dev, то есть новая база данных, которую мы еще не создали.

Итак, первый шаг — создать новый SP-файл на основе нашего Ini-файла. PFILE расшифровывается как Ini-файл. Следующая команда создаст новый SPFILE.

 SQL> СОЗДАТЬ SPFILE ИЗ PFILE;
Файл создан.
 

Как вы видите ниже, приведенная выше команда автоматически создала spfiledev.ora.

 $ ls -1 $ ORACLE_HOME / dbs /
initdev.ora
spfiledev.ора
 

4. Запустите неактивный экземпляр

Прежде чем мы создадим базу данных, мы должны запустить экземпляр для базы данных «dev» с помощью команды STARTUP NOMOUNT. Как вы уже догадались, эта команда не будет монтировать никакую базу данных. Это просто запуск нового пустого неактивного экземпляра с именем ORACLE_SID «dev».

 SQL> НОМЕР ЗАПУСКА;
Экземпляр ORACLE запущен.

Общая глобальная область системы 12582 байт
Фиксированный размер 1261564 байта
Размер переменной 520093700 байт
Буферы базы данных 721420288 байт
Буферы повтора 15515648 байт
 

Во время выполнения вышеуказанной команды он будет читать spfile по умолчанию с именем spfile {ORACLE_SID}.ora из расположения spfile по умолчанию $ ORACLE_HOME / dbs. Если spfile отсутствует, он будет использовать файл инициализации по умолчанию init {ORACLE_SID} .ora

По какой-то причине, если вы хотите самостоятельно указать расположение p-файла, вы можете сделать это, передав параметр PFILE, как показано ниже.

 SQL> НОМЕР ЗАПУСКА ФАЙЛА = / tmp / initdev.ora
 

Кроме того, вы можете получить следующие ORA-01078 и LRM-00109, если файл spfile или init отсутствует в расположении по умолчанию.

 SQL> НОМЕР ЗАПУСКА
ORA-01078: сбой в параметрах системы обработки
LRM-00109: не удалось открыть файл параметров '/ u01 / app / oracle / product / 11.2.0 / dbs / initdev.ora '
 

5. Создайте новую базу данных Oracle

Используйте следующую команду CREATE DATABASE, чтобы создать пустую базу данных.

 SQL> CREATE DATABASE dev
     ПОЛЬЗОВАТЕЛЬСКИЕ СИСТЕМЫ, ОПРЕДЕЛЕННЫЕ DevSysPass
     ПОЛЬЗОВАТЕЛЬСКАЯ СИСТЕМА, ИДЕНТИФИЦИРОВАННАЯ DevSystemPass
     ГРУППА ЛОГФАЙЛОВ 1 ('/home/oracle/u02/oradata/dev/redomed_01.log') РАЗМЕР 50M,
             ГРУППА 2 ('/home/oracle/u02/oradata/dev/redomed_02.log') РАЗМЕР 50M,
     MAXLOGFILES 5
     MAXLOGHISTORY 10
     MAXDATAFILES 50
     НАБОР ПЕРСОНАЖЕЙ US7ASCII
     НАБОР НАЦИОНАЛЬНЫХ ХАРАКТЕРОВ AL16UTF16
     ФАЙЛ ДАННЫХ '/ home / oracle / u02 / oradata / dev / system01.dbf 'РАЗМЕР 100M ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ
     SYSAUX DATAFILE '/home/oracle/u02/oradata/dev/sysaux01.dbf' РАЗМЕР 100M ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ
     ПОЛЬЗОВАТЕЛИ ТАБЛИЦЫ ПО УМОЛЧАНИЮ
       ФАЙЛ ДАННЫХ '/home/oracle/u02/oradata/dev/users01.dbf'
       РАЗМЕР 50M ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ АВТОРАСШИРЕНИЕ НА МАКСИМАЛЬНОМ РАЗМЕРЕ НЕОГРАНИЧЕННО
     ВРЕМЕННЫЕ ТАБЛИЦЫ ПО УМОЛЧАНИЮ
       TEMPFILE '/home/oracle/u02/oradata/dev/tempts01.dbf'
       РАЗМЕР 30M ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ
     ОТМЕНИТЬ ТОЧКИ В ТАБЛИЦЕ
       ФАЙЛ ДАННЫХ '/home/oracle/u02/oradata/dev/undots01.dbf'
       РАЗМЕР 100M ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ АВТОРАСШИРЕНИЕ НА МАКСИМАЛЬНОМ РАЗМЕРЕ НЕОГРАНИЧЕН;
 

В приведенной выше команде:

  • Команда Create database создаст базу данных Oracle с именем «dev»
  • Пароль, указанный во 2-й строке, будет назначен пользователю SYS
  • Пароль, указанный в 3-й строке, будет назначен пользователю СИСТЕМЫ
  • Мы создаем два файла журнала повторного выполнения размером 100 МБ каждый.
  • MAXLOGFILES — Максимальное количество файлов журнала повторения равно 5
  • MAXDATAFILES — указывает максимальное количество файлов данных Oracle, которые могут быть созданы для этой базы данных.
  • DATAFILE — Указывает файл данных, который будет использоваться табличным пространством SYSTEM
  • SYSAUX DATAFILE — указывает файл данных, который будет использоваться табличным пространством SYSAUX
  • Табличное пространство по умолчанию для этой базы данных установлено на ПОЛЬЗОВАТЕЛИ
  • Временное табличное пространство по умолчанию установлено на TEMPTS
  • Табличное пространство отмены установлено на UNDOTS

Если вы хотите создать дополнительное табличное пространство после создания БД, используйте следующее: 15 Примеры команд Oracle Tablespace и Datafile

Примечание. Если вы укажете DB_CREATE_FILE_DEST в своем файле инициализации для расположения каталога, тогда вам не нужно указывать точное расположение и имена файлов для всех файлов данных, oracle позаботится об этом за вас.

Например, если вы указали это в файле initdev.ora.

 # vi initdev.ora
DB_CREATE_FILE_DEST = '/ главная / оракул / u02 / oradata / dev'
 

В этом случае вы можете упростить команду CREATE DATBASE, как показано ниже.

 SQL> CREATE DATABASE dev
     ПОЛЬЗОВАТЕЛЬСКИЕ СИСТЕМЫ, ОПРЕДЕЛЕННЫЕ DevSysPass
     ПОЛЬЗОВАТЕЛЬСКАЯ СИСТЕМА, ИДЕНТИФИЦИРОВАННАЯ DevSystemPass
     MAXLOGFILES 5
     MAXLOGHISTORY 10
     MAXDATAFILES 50
     НАБОР ПЕРСОНАЖЕЙ US7ASCII
     НАБОР НАЦИОНАЛЬНЫХ ХАРАКТЕРОВ AL16UTF16
     ПОЛЬЗОВАТЕЛИ ТАБЛИЦЫ ПО УМОЛЧАНИЮ
     ВРЕМЕННЫЕ ТАБЛИЦЫ ПО УМОЛЧАНИЮ
     ОТМЕНИТЬ ТОЧКИ В ТАБЛИЦЕ
 

Вышеупомянутое создаст соответствующие файлы данных, необходимые для всех табличных пространств (отменить, временные и т. Д.) В местоположении, указанном в каталоге DB_CREATE_FILE_DEST.

Чтобы понять больше о табличном пространстве UNDO, это должно помочь: 10 примеров управления табличным пространством Oracle UNDO

6. Построение представлений словаря данных

В качестве последнего шага выполните catalog.sql и catproc.sql. Сценарий каталога создаст все словарные таблицы, представления, связанные с производительностью, необходимые общедоступные синонимы. Это также предоставит соответствующий доступ ко всем созданным синонимам. Сценарий catproc выполняет все сценарии, необходимые для работы PL / SQL.

 SQL> @? / Rdbms / admin / catalog.sql;
SQL> @? / Rdbms / admin / catproc.sql
 

Частичный вывод вышеуказанных команд.

 SQL> @? / Rdbms / admin / catalog.sql;
DOC> ######################################################################### ######################
DOC> ############################################# ######################
DOC> Следующий оператор вызовет "ORA-01722: недопустимый номер"
DOC> и завершите сеанс SQLPLUS, если пользователь не SYS.DOC> Отключите и снова подключитесь с AS SYSDBA.
DOC> ############################################# ######################
DOC> ############################################# ######################
ДОК> #
строки не выбраны
Пакет создан.
Тело пакета создано.
..
..
Синоним создан.
Гранту удалось.
Процедура PL / SQL успешно завершена.

SQL> @? / Rdbms / admin / catproc.sql
..
..
Комментарий создан.
Синоним создан.Гранту удалось.
Процедура PL / SQL успешно завершена.
 

Если вам интересно, вы можете посмотреть каталог и скрипт catproc, чтобы понять, что именно он делает.

 vi $ ORACLE_HOME / rdbms / admin / catalog.sql;
vi $ ORACLE_HOME / rdbms / admin / catproc.sql
 

7. Проверка — выключение и запуск

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

 $ sqlplus / as sysdba
SQL> НЕМЕДЛЕННОЕ ВЫКЛЮЧЕНИЕ;
База данных закрыта.База данных отключена.
Экземпляр ORACLE отключен.

SQL> ЗАПУСК;
Экземпляр ORACLE запущен.
Общая глобальная область системы 12582 байт
Фиксированный размер 1261564 байта
Размер переменной 520093700 байт
Буферы базы данных 721420288 байт
Буферы повтора 15515648 байт
База данных смонтирована.
 

Если вам понравилась эта статья, возможно, вам понравится ..

Как создать базу данных Oracle 11g вручную в Windows

Шаги ниже помогут вам создать 11.2.0.1 база данных Oracle вручную на платформе Windows. Эти шаги останутся одинаковыми для всех версий Windows, таких как XP, Vista и т. Д. Перед тем, как начать создание базы данных, убедитесь, что у вас установлены двоичные файлы Oracle Database.

1. Настройте переменные среды

C: \> установить ORACLE_HOME = c: \ oracle \ product \ 11.2.0 \ dbhome_1
C: \> установить PATH =% ORACLE_HOME% \ bin;% PATH%
C: \> установить ORACLE_SID = ORA11G
 

2. Создать необходимые каталоги

C: \> mkdir c: \ oracle \ db \ ora11g \ admin \ adump
C: \> mkdir c: \ oracle \ db \ ora11g \ admin \ dpdump
C: \> mkdir c: \ oracle \ db \ ora11g \ admin \ pfile
C: \> mkdir c: \ oracle \ db \ ora11g \ diag
C: \> mkdir c: \ oracle \ db \ ora11g \ flash_recovery_area
C: \> mkdir c: \ oracle \ db \ ora11g \ oradata
 

3.Создайте файл параметров
Создайте файл параметров с именем initORA11G.ora в каталоге ORACLE_HOME / database

db_name = 'ORA11G'
db_block_size = 8192
memory_target = 500 м
процессов = 100
open_cursors = 300
remote_login_passwordfile = 'ЭКСКЛЮЗИВНЫЙ'
undo_tablespace = 'UNDOTBS1'
совместимый = '11 .2.0 '
audit_trail = 'db'
db_recovery_file_dest_size = 5 г
db_recovery_file_dest = 'c: \ oracle \ db \ ora11g \ flash_recovery_area'
audit_file_dest = 'c: \ oracle \ db \ ora11g \ admin \ adump'
диагностический_дест = 'c: \ oracle \ db \ ora11g \ diag'
control_files = ('c: \ oracle \ db \ ora11g \ oradata \ control1.ctl ',' c: \ oracle \ db \ ora11g \ oradata \ control2.ctl ',' c: \ oracle \ db \ ora11g \ oradata \ control3.ctl ')
 

4. Создайте службу Windows
Создайте службу Windows для экземпляра Oracle и проверьте состояние службы.

C: \> oradim -NEW -SID ora11g -STARTMODE manual
Экземпляр создан.

C: \> запрос sc oracleserviceora11g

SERVICE_NAME: oracleserviceora11g
        ТИП: 10 WIN32_OWN_PROCESS
        СОСТОЯНИЕ: 4 РАБОТАЕТ
                                (ОСТАНОВИТЬ, ПРИОСТАНОВИТЬ, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE: 0 (0x0)
        SERVICE_EXIT_CODE: 0 (0x0)
        КОНТРОЛЬНАЯ ТОЧКА: 0x0
        WAIT_HINT: 0x0
 

5.Подключитесь к экземпляру и создайте SPFILE

C: \> sqlplus

SQL * Plus: выпуск 11.2.0.1.0, производство - среда, 23 мая, 07:39:54 2012 г.

Авторское право (c) 1982, 2010, Oracle. Все права защищены.

Введите имя пользователя: / как sysdba
Подключен к бездействующему экземпляру.

SQL> создать spfile из pfile;

Файл создан.
 

6. Запустите экземпляр в режиме NOMOUNT
Запустите базу данных с вновь созданным spfile.

SQL> номер запуска
Экземпляр ORACLE запущен.

Общая глобальная область системы 523108352 байта
Фиксированный размер 1375704 байта
Размер переменной 314573352 байта
Буферы базы данных 2013 26592 байта
Буферы повторения 5832704 байта
 

7. Выполните команду CREATE DATABASE

СОЗДАТЬ БАЗУ ДАННЫХ ORA11G
    ПОЛЬЗОВАТЕЛЬСКАЯ СИСТЕМА, ИДЕНТИФИЦИРОВАННАЯ sys
    ПОЛЬЗОВАТЕЛЬСКАЯ система, ОПРЕДЕЛЕННАЯ системой
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 200
    МАКСИНСТАНСЫ 1
    MAXLOGHISTORY 500
ЖУРНАЛЬНЫЙ ФАЙЛ
ГРУППА 1 (
'c: \ oracle \ db \ ora11g \ oradata \ redo01a.rdo ',
'c: \ oracle \ db \ ora11g \ oradata \ redo01b.rdo'
 ) РАЗМЕР 50М,
ГРУППА 2 (
'c: \ oracle \ db \ ora11g \ oradata \ redo02a.rdo',
'c: \ oracle \ db \ ora11g \ oradata \ redo02b.rdo'
) РАЗМЕР 50М,
ГРУППА 3 (
'c: \ oracle \ db \ ora11g \ oradata \ redo03a.rdo',
'c: \ oracle \ db \ ora11g \ oradata \ redo03b.rdo'
) РАЗМЕР 50M
ФАЙЛ ДАННЫХ 'c: \ oracle \ db \ ora11g \ oradata \ system01.dbf' РАЗМЕР 300M EXTENT MANAGEMENT LOCAL
ФАЙЛ ДАННЫХ SYSAUX 'c: \ oracle \ db \ ora11g \ oradata \ sysaux01.dbf' РАЗМЕР 200M
UNDO TABLESPACE UNDOTBS1 DATAFILE 'c: \ oracle \ db \ ora11g \ oradata \ undotbs01.dbf 'SIZE 300M AUTOEXTEND OFF
ПО УМОЛЧАНИЮ ВРЕМЕННАЯ ТАБЛИЦА ТЕМП.
НАБОР ХАРАКТЕРОВ WE8ISO8859P1
НАБОР НАЦИОНАЛЬНЫХ ХАРАКТЕРОВ UTF8;

 

8. Создание объектов словаря данных
Запустите сценарии catalog.sql и catproc.sql, чтобы создать объекты словаря.

SQL> @% ORACLE_HOME% \ rdbms \ admin \ catalog.sql
SQL> @% ORACLE_HOME% \ rdbms \ admin \ catproc.sql
SQL> подключить систему / систему
SQL> @% ORACLE_HOME% \ sqlplus \ admin \ pupbld.sql
 

9. Включить архивирование
Чтобы включить архивирование, выключите базу данных и запустите ее в состоянии монтирования. Включите архивирование, а затем откройте базу данных.

SQL> подключиться / как sysdba
SQL> немедленно закрыть
База данных закрыта.
База данных отключена.
Экземпляр ORACLE отключен.
SQL> автозагрузка
Экземпляр ORACLE запущен.

Общая глобальная область системы 523108352 байта
Фиксированный размер 1375704 байта
Размер переменной 314573352 байта
Буферы базы данных 2013 26592 байта
Буферы повторения 5832704 байта
База данных смонтирована.SQL> изменить архив базы данных;

База данных изменена.

SQL> открыть базу данных;

База данных изменена.

SQL> список архивных журналов
Режим журнала базы данных Режим архива
Автоматическое архивирование включено
Место назначения архива USE_DB_RECOVERY_FILE_DEST
Самая старая последовательность онлайн-журнала 12
Следующая последовательность журналов в архив 13
Последовательность текущего журнала 13
 

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

SQL> выберите comp_id, версию, статус из dba_registry;

СОСТОЯНИЕ ВЕРСИИ COMP_ID
------------------------------ -------------------- ---------- -----------
КАТАЛОГ 11.2.0.1.0 ДЕЙСТВИТЕЛЬНО
CATPROC 11.2.0.1.0 ДЕЙСТВИТЕЛЬНЫЙ

Выбрано 2 ряда.

SQL> выберите владельца, имя_объекта, тип_объекта из всех_объектов, где статус <> 'VALID';

строки не выбраны
 

Если будут обнаружены какие-либо инкрустированные компоненты или объекты, запустите utlrp.sql для их проверки.

SQL> @% ORACLE_HOME% / rdbms / admin / utlrp.sql
 

Нравится:

Нравится Загрузка…

Связанные

Как создать пользователя и предоставить разрешения в Oracle

Как всегда, начните с подключения к серверу, на котором размещен Oracle, затем подключитесь к самому Oracle как учетная запись SYSTEM .

Учетная запись SYSTEM — одна из нескольких предопределенных административных учетных записей, автоматически создаваемых при установке Oracle. СИСТЕМА может выполнять большинство административных задач, но задача, которая нас особенно интересует, — это управление учетной записью.

Создание пользователя

После подключения как SYSTEM просто введите команду CREATE USER , чтобы создать новую учетную запись.

  СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ books_admin, ОПРЕДЕЛЕННЫЙ MyPassword;
  

Здесь мы просто создаем учетную запись books_admin , которая имеет IDENTIFIED или аутентифицирована указанным паролем .

Заявление о гранте

Создав новую учетную запись books_admin , мы можем начать добавлять привилегии к учетной записи с помощью оператора GRANT . GRANT — очень мощный оператор с множеством возможных опций, но основная функциональность заключается в управлении привилегиями пользователей и ролей в базе данных.

Обеспечение ролей

Как правило, сначала нужно назначить права пользователю, привязав учетную запись к различным ролям, начиная с роли CONNECT :

  РАЗРЕШИТЬ ПОДКЛЮЧЕНИЕ К books_admin;
  

В некоторых случаях для создания более мощного пользователя вы также можете рассмотреть возможность добавления роли RESOURCE (позволяющей пользователю создавать именованные типы для настраиваемых схем) или даже роли DBA , которая позволяет пользователю не только создавать настраиваемые схемы. именованные типы, но также изменяют и уничтожают их.

  GRANT CONNECT, RESOURCE, DBA TO books_admin;
  

Назначение привилегий

Затем вам нужно убедиться, что у пользователя есть права на подключение к базе данных и создание сеанса с помощью GRANT CREATE SESSION . Мы также объединим это со всеми привилегиями, используя GRANT ANY PRIVILEGES .

  ПРЕДОСТАВЛЯТЬ СОЗДАНИЕ СЕССИИ ПРЕДОСТАВЛЯТЬ ЛЮБЫЕ ПРИВИЛЕГИИ ДЛЯ books_admin;
  

Нам также необходимо убедиться, что нашему новому пользователю выделено дисковое пространство в системе для фактического создания или изменения таблиц и данных, поэтому мы предоставим GRANT TABLESPACE следующим образом:

  ПРЕДОСТАВЛЯТЬ НЕОГРАНИЧЕННОЕ ТАБЛИЧНОЕ МЕСТО ДЛЯ books_admin;
  

Привилегии таблицы

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

Например, если мы хотим, чтобы наш пользователь books_admin имел возможность выполнять SELECT , UPDATE , INSERT и DELETE для таблицы books , мы могли бы выполнить следующие GRANT выписка:

  ГРАНТ
  ВЫБРАТЬ,
  ВСТАВИТЬ,
  ОБНОВИТЬ,
  УДАЛЯТЬ
НА
  schema.books
К
  books_admin;
  

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

3 Управление Oracle Homes

В следующих разделах описывается Home Selector, который устанавливается как часть OUI на компьютерах Windows.

Чтобы просмотреть Home Selector, щелкните вкладку Environment диалогового окна Inventory, которое появляется при нажатии кнопки Installed Products на нескольких экранах OUI.

Обзор Home Selector

Селектор дома является частью установочного программного обеспечения. Селектор Home Selector позволяет вам легко изменить ваш основной дом Oracle (тот, который появляется первым в переменной среды PATH).Если вам нужно переключить активную домашнюю страницу или выполнить пакетную работу, которая требует, чтобы была активна «домашняя страница по умолчанию», для изменения системных настроек Windows NT можно использовать средство выбора домашней страницы.

При использовании Home Selector, чтобы сделать конкретный $ ORACLE_HOME активным, соответствующая установка программного обеспечения перемещается в начало переменной PATH, что делает его первым каталогом, который будет сканироваться на предмет исполняемых файлов и файлов библиотеки.

Используйте графический интерфейс на вкладке Environment диалогового окна Inventory, чтобы установить порядок домов Oracle в переменной PATH.

Как работает селектор домов

Когда вы выполняете установку в системе, OUI запускает файл selectHome.bat , чтобы зарегистрировать выбранный вами дом Oracle. Первый $ ORACLE_HOME будет называться «DEFAULT_HOME» и зарегистрируется в реестре Windows NT под ключом:

 HKEY_LOCAL_MACHINE
 
 Программное обеспечение
 
 Оракул
 

Это куст реестра Windows NT по умолчанию, который содержит все «общие» параметры Oracle. Также регулируется переменная PATH, и каталог BIN в $ ORACLE_HOME добавляется к переменной среды.

Начиная с Oracle 8.0.4, первая версия с поддержкой нескольких $ ORACLE_HOME, некоторые дополнительные параметры также будут записаны в ключ:

 HKEY_LOCAL_MACHINE
 
 Программное обеспечение
 
 Оракул
 
 Дом0
 

С помощью OUI вы можете изменить имя «DEFAULT_HOME» на другое. Кроме того, он регистрирует все параметры Oracle в подразделе «Home0» ключа ORACLE.

Когда в систему добавляется дополнительный $ ORACLE_HOME, переменная PATH снова корректируется, чтобы добавить новый каталог BIN недавно установленного программного обеспечения Oracle.Переменные реестра записываются в ключ с именем «HOMEx», где X — следующее доступное число в ключе Oracle.

Когда установлено несколько $ ORACLE_HOME, все указанные исполняемые файлы находятся в первом каталоге $ ORACLE_HOME \ BIN переменной PATH. Если вы хотите изменить порядок переменной PATH, вы можете использовать переключатель Home Selector для переключения порядка $ ORACLE_HOME, установленных в системе.

Вместе с установкой и регистрацией программного обеспечения в реестре вторая серия переменных реестра записывается в следующем ключе:

 HKEY_LOCAL_MACHINE
 
 Программное обеспечение
 
 Оракул
 
 ALL_HOMES
 

Это отправная точка для списка всех установок $ ORACLE_HOME, выполненных в этой системе.

В этом ключе записаны следующие переменные:

  • HOME_COUNTER: количество домашних каталогов Oracle, уже имеющихся в системе. Этот счетчик представляет собой число, которое на 1 больше, чем последний имеющийся подключ идентификатора.

  • LAST_HOME: идентификационный номер текущего активного $ ORACLE_HOME

  • IDx: список разделов реестра, содержащих имя, номер и каталог установки этого ORACLE_HOME. Первая установка записана в ID0, следующая — в ID1 и т. Д.

Если Home Selector запущен в интерактивном режиме, будет прочитан куст реестра «ALL_HOMES», включая все подразделы, и отобразится диалоговое окно со всеми доступными установками. Как только вы выберете один, переменная PATH будет скорректирована на системном уровне.

Имя этого $ ORACLE_HOME — одно из имен, найденных в подразделах ID.

Оптимальная гибкая архитектура структуры каталогов (в UNIX)

Стандарт оптимальной гибкой архитектуры (OFA) — это набор рекомендаций по настройке быстрых и надежных баз данных Oracle, не требующих минимального обслуживания.

OFA предназначен для:

  • Сохраняйте большие объемы сложного программного обеспечения и данных на диске, чтобы избежать узких мест в устройстве и снижения производительности

  • Облегчение рутинных административных задач, таких как функции резервного копирования программного обеспечения и данных, которые часто уязвимы для повреждения данных

  • Упрощение переключения между несколькими базами данных Oracle

  • Адекватное управление и администрирование роста базы данных

  • Помогите устранить фрагментацию свободного места в словаре данных, изолировать другую фрагментацию и минимизировать конфликт ресурсов.

Структура каталогов OFA описана ниже.

ORACLE_BASE Справочник

ORACLE_BASE определяет БАЗУ структуры каталогов Oracle для OFA-совместимых баз данных. Типичная структура каталогов ORACLE_BASE описана в таблице 3-3. При установке базы данных, совместимой с OFA, с использованием OUI, ORACLE_BASE по умолчанию имеет значение / pm / app / oracle .

Таблица 3-3 Пример структуры и содержимого каталога ORACLE_BASE

Справочник Содержимое
admin Административные файлы
doc онлайн-документация
местный Поддерево для локального программного обеспечения Oracle
продукт Программное обеспечение Oracle

ORACLE_HOME Справочник

Ниже приведен пример установки Oracle Server.

Если вы устанавливаете сервер Oracle, совместимый с OFA, каталог ORACLE_HOME — / mount_point / app / oracle / product / release_number . Структура и содержимое каталогов ORACLE_HOME описаны в таблице 3-4. В UNIX каталог ORACLE_HOME может содержать следующие подкаталоги, а также подкаталог для каждого выбранного продукта Oracle.

Примечание:

Примеры в этой таблице — это всего лишь образцы.Каталоги, которые появляются в вашем собственном доме Oracle, будут зависеть от того, установлены ли соответствующие продукты, и от версии базы данных Oracle, которую вы используете.

Таблица 3-4 Пример структуры и содержимого домашнего каталога Oracle

Справочник Содержание
помощники Ассистенты конфигурации
bin двоичных файлов для всех продуктов
ctx картридж interMedia Text
dbs инициализация sid .ora , lk sid
установить установить связанные файлы
lib Библиотеки продуктов Oracle
jlib классы Java
md Пространственный картридж
мл x Xerox Stemmer (для картриджа interMedia Text)
сеть Net8
nlsrtl Загружаемые данные времени выполнения NLS
oобщий общие файлы для всех продуктов
odg сборщик данных
opsm Компоненты диспетчера параллельного сервера
oracore основные библиотеки
ord картриджи данных
otrace Oracle TRACE
plsql PL / SQL
предварительная обработка прекомпиляторы
rdbms серверных файлов и библиотек, необходимых для базы данных
slax Парсер SLAX
sqlplus SQL * Plus

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *