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

Обновлено: 02.07.2024

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

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

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

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

Здесь мы просто создаем учетную запись books_admin, которая ИДЕНТИФИЦИРОВАНА или аутентифицирована с помощью указанного пароля.

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

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

Предоставление ролей

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

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

Назначение прав

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

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

Права доступа к таблице

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

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

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

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

Этот оператор можно выполнить в кластере Oracle Automatic Storage Management (Oracle ASM), чтобы добавить комбинацию пользователя и пароля в файл паролей, локальный для экземпляра Oracle ASM текущего узла. Экземпляр Oracle ASM каждого узла может использовать этот оператор для обновления собственного файла паролей. Сам файл паролей должен быть создан утилитой ORAPWD.

Вы можете разрешить пользователю подключаться к базе данных через прокси-приложение или сервер приложений. Синтаксис и обсуждение см. в разделе ALTER USER.

У вас должна быть системная привилегия CREATE USER. Когда вы создаете пользователя с помощью инструкции CREATE USER, домен привилегий пользователя пуст. Чтобы войти в базу данных Oracle, пользователь должен иметь системную привилегию CREATE SESSION. Следовательно, после создания пользователя вы должны предоставить ему как минимум системную привилегию CREATE SESSION. Дополнительную информацию см. в разделе GRANT.

Только пользователь, прошедший проверку подлинности AS SYSASM, может выполнить эту команду для изменения файла паролей экземпляра Oracle ASM.

Чтобы указать предложение CONTAINER, необходимо подключиться к многопользовательской контейнерной базе данных (CDB). Чтобы указать CONTAINER = ALL , текущий контейнер должен быть корневым. Чтобы указать CONTAINER = CURRENT , текущий контейнер должен быть подключаемой базой данных (PDB).

Укажите имя создаваемого пользователя. Это имя может содержать только символы из набора символов вашей базы данных и должно соответствовать правилам, описанным в разделе «Правила именования объектов базы данных». Oracle рекомендует, чтобы имя пользователя содержало по крайней мере один однобайтовый символ независимо от того, содержит ли набор символов базы данных многобайтовые символы.

В CDB требования к имени пользователя следующие:

Начиная с Oracle Database 12c версии 1 (12.1.0.2):

Oracle рекомендует кодировать имена пользователей и пароли только символами ASCII или EBCDIC, в зависимости от вашей платформы.

Предложение IDENTIFIED позволяет указать, как Oracle Database аутентифицирует пользователя.

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

Пароли должны соответствовать правилам, описанным в разделе «Правила именования объектов базы данных», если только вы не используете одну из трех процедур проверки сложности пароля базы данных Oracle. Эти подпрограммы требуют более сложной комбинации символов, чем позволяют обычные правила именования. Вы реализуете эти подпрограммы с помощью сценария UTLPWDMG.SQL, который подробно описан в Руководстве по безопасности баз данных Oracle.

Oracle рекомендует кодировать имена пользователей и пароли только символами ASCII или EBCDIC, в зависимости от вашей платформы.

Руководство по безопасности баз данных Oracle для подробного обсуждения управления паролями и защиты

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

AS ' certificate_DN ' Это условие требуется и используется только для внешних пользователей с SSL-аутентификацией. DN_сертификата — это различающееся имя в сертификате PKI пользователя в бумажнике пользователя. Максимальная длина DN_сертификата – 1024 символа.

AS ' kerberos_principal_name ' Это условие требуется и используется только для внешних пользователей, прошедших проверку подлинности Kerberos. Максимальная длина kerberos_principal_name – 1024 символа.

Oracle настоятельно рекомендует не использовать IDENTIFIED EXTERNALLY с операционными системами, которые изначально имеют слабую безопасность входа.

Ограничения на создание внешних пользователей Следующие ограничения применяются к созданию внешних пользователей:

Пользователь SYS не может быть внешним пользователем.

Oracle ASM не поддерживает создание внешних пользователей.

Предложение GLOBALY позволяет создать глобального пользователя. Такой пользователь должен быть авторизован корпоративной службой каталогов (Oracle Internet Directory).

Строка directory_DN может принимать одну из двух форм:

Имя X.509 в корпоративной службе каталогов, которое идентифицирует этого пользователя. Он должен иметь форму CN= имя_пользователя,другие_атрибуты , где другие_атрибуты — остальная часть отличительного имени пользователя (DN) в каталоге. Эта форма создает частную глобальную схему.

Нулевая строка (' '), указывающая, что служба корпоративных каталогов сопоставит аутентифицированных глобальных пользователей с этой схемой базы данных с соответствующими ролями. Эта форма аналогична указанию одного ключевого слова GLOBALLY и создает общую глобальную схему .

Максимальная длина directory_DN – 1024 символа.

Вы можете контролировать способность сервера приложений подключаться от имени указанного пользователя и активировать роли этого пользователя с помощью инструкции ALTER USER.

Ограничение на создание глобальных пользователей Oracle ASM не поддерживает создание глобальных пользователей.

Руководство по безопасности базы данных Oracle для получения дополнительной информации о глобальных пользователях

Предложение DEFAULT TABLESPACE

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

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

CREATE TABLESPACE для получения дополнительной информации о табличных пространствах в целом и табличных пространствах отмены в частности

Руководство по безопасности базы данных Oracle для получения дополнительной информации о назначении пользователям табличных пространств по умолчанию

Предложение TEMPORARY TABLESPACE

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

Укажите табличное пространство, чтобы указать временное табличное пространство пользователя. Если вы подключены к CDB, вы можете указать CDB$DEFAULT для использования временного табличного пространства CDB по умолчанию по умолчанию.

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

Ограничения для временного табличного пространства На этот пункт распространяются следующие ограничения:

Табличное пространство должно быть временным и иметь стандартный размер блока.

Табличное пространство не может быть табличным пространством отмены или табличным пространством с автоматическим управлением пространством сегментов.

Руководство администратора базы данных Oracle для получения информации о группах табличных пространств и Руководство по безопасности базы данных Oracle для информации о назначении временных табличных пространств пользователям

CREATE TABLESPACE для получения дополнительной информации о табличных пространствах отмены и управлении сегментами

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

Инструкция CREATE USER может содержать несколько предложений QUOTA для нескольких табличных пространств.

UNLIMITED позволяет пользователю неограниченно распределять пространство в табличном пространстве.

Максимальный объем пространства, который вы можете указать, составляет 2 терабайта (ТБ). Если вам нужно больше места, укажите UNLIMITED .

Ограничение на предложение QUOTA Вы не можете указать это предложение для временного табличного пространства.

size_clause для получения информации об этом предложении и Oracle Database Security Guide для получения дополнительной информации о назначении квот табличного пространства

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

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

Срок действия ПАРОЛЯ

Укажите PASSWORD EXPIRE, если вы хотите, чтобы срок действия пароля пользователя истек. Этот параметр заставляет пользователя или администратора баз данных изменить пароль, прежде чем пользователь сможет войти в базу данных.

Укажите БЛОКИРОВКА АККАУНТА, чтобы заблокировать учетную запись пользователя и отключить доступ. Укажите ACCOUNT UNLOCK, чтобы разблокировать учетную запись пользователя и разрешить доступ к учетной записи. По умолчанию используется РАЗБЛОКИРОВКА АККАУНТА .

Этот пункт необратим. Укажите ENABLE EDITIONS, чтобы разрешить пользователю создавать несколько версий редактируемых объектов в этой схеме с использованием редакций. Редактируемые объекты в схемах, для которых не поддерживаются редакции, не могут быть изменены.

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

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

Чтобы создать общего пользователя, вы должны быть подключены к корневому каталогу. При желании вы можете указать CONTAINER = ALL , что является значением по умолчанию, когда вы подключены к корневому каталогу.

Чтобы создать локального пользователя, необходимо подключиться к PDB. При желании вы можете указать CONTAINER = CURRENT , что используется по умолчанию при подключении к PDB.

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

Если эти объекты не существуют во всех контейнерах, инструкция CREATE USER завершается ошибкой.

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

Создание пользователя базы данных: пример Если вы создаете нового пользователя с PASSWORD EXPIRE , то пароль пользователя должен быть изменен до того, как пользователь попытается войти в базу данных. Вы можете создать пользователя sidney, выполнив следующую инструкцию:

Пользователь sidney имеет следующие характеристики:

Пароль out_standing1

Пример табличного пространства по умолчанию с квотой 10 мегабайт

Временная температура табличного пространства

Доступ к табличному пространству SYSTEM с квотой 5 мегабайт

Ограничения на ресурсы базы данных, определенные профилем app_user (который был создан в разделе «Создание профиля: пример»)

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

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

Пользователь app_user1 имеет следующие дополнительные характеристики:

Пример табличного пространства по умолчанию

Пример временного табличного пространства по умолчанию

5M пространства в примере табличного пространства и неограниченная квота на временное табличное пространство базы данных

Ограничения на ресурсы базы данных, определенные профилем app_user

Чтобы создать другого пользователя, доступного только для учетной записи операционной системы, добавьте перед именем пользователя значение параметра инициализации OS_AUTHENT_PREFIX . Например, если это значение " ops$ ", вы можете создать внешнего идентифицированного пользователя external_user с помощью следующего оператора:

Создание глобального пользователя базы данных: пример В следующем примере создается глобальный пользователь. При создании глобального пользователя можно указать имя X.509, которое идентифицирует этого пользователя на корпоративном сервере каталогов:

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

Этот оператор можно выполнить в кластере Oracle Automatic Storage Management (Oracle ASM), чтобы добавить комбинацию пользователя и пароля в файл паролей, локальный для экземпляра Oracle ASM текущего узла. Экземпляр Oracle ASM каждого узла может использовать этот оператор для обновления собственного файла паролей. Сам файл паролей должен быть создан утилитой ORAPWD.

Вы можете разрешить пользователю подключаться к базе данных через прокси-приложение или сервер приложений. Синтаксис и обсуждение см. в разделе ALTER USER.

У вас должна быть системная привилегия CREATE USER. Когда вы создаете пользователя с помощью инструкции CREATE USER, домен привилегий пользователя пуст. Чтобы войти в базу данных Oracle, пользователь должен иметь системную привилегию CREATE SESSION. Следовательно, после создания пользователя вы должны предоставить ему как минимум системную привилегию CREATE SESSION. Дополнительную информацию см. в разделе GRANT.

Только пользователь, прошедший проверку подлинности AS SYSASM, может выполнить эту команду для изменения файла паролей экземпляра Oracle ASM.

Чтобы указать предложение CONTAINER, необходимо подключиться к многопользовательской контейнерной базе данных (CDB). Чтобы указать CONTAINER = ALL , текущий контейнер должен быть корневым. Чтобы указать CONTAINER = CURRENT , текущий контейнер должен быть подключаемой базой данных (PDB).

Укажите имя создаваемого пользователя. Это имя может содержать только символы из набора символов вашей базы данных и должно соответствовать правилам, описанным в разделе «Правила именования объектов базы данных». Oracle рекомендует, чтобы имя пользователя содержало по крайней мере один однобайтовый символ независимо от того, содержит ли набор символов базы данных многобайтовые символы.

В CDB требования к имени пользователя следующие:

Oracle рекомендует кодировать имена пользователей и пароли только символами ASCII или EBCDIC, в зависимости от вашей платформы.

Предложение IDENTIFIED позволяет указать, как Oracle Database аутентифицирует пользователя.

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

Пароли должны соответствовать правилам, описанным в разделе «Правила именования объектов базы данных», если только вы не используете одну из трех процедур проверки сложности пароля базы данных Oracle. Эти подпрограммы требуют более сложной комбинации символов, чем позволяют обычные правила именования. Вы реализуете эти подпрограммы с помощью сценария UTLPWDMG.SQL, который подробно описан в Руководстве по безопасности баз данных Oracle.

Oracle рекомендует кодировать имена пользователей и пароли только символами ASCII или EBCDIC, в зависимости от вашей платформы.

Руководство по безопасности баз данных Oracle для подробного обсуждения управления паролями и защиты

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

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

Это условие требуется и используется только для внешних пользователей, прошедших проверку подлинности SSL. DN_сертификата — это различающееся имя в сертификате PKI пользователя в бумажнике пользователя. Максимальная длина DN_сертификата – 1024 символа.

Это условие требуется и используется только для внешних пользователей, прошедших проверку подлинности Kerberos. Максимальная длина kerberos_principal_name – 1024 символа.

Oracle настоятельно рекомендует не использовать IDENTIFIED EXTERNALLY с операционными системами, которые изначально имеют слабую безопасность входа.

Ограничение на создание внешних пользователей

Oracle ASM не поддерживает создание внешних пользователей.

Предложение GLOBALY позволяет создать глобального пользователя. Такой пользователь должен быть авторизован корпоративной службой каталогов (Oracle Internet Directory).

Строка directory_DN может принимать одну из двух форм:

Имя X.509 в корпоративной службе каталогов, которое идентифицирует этого пользователя. Он должен иметь форму CN= имя_пользователя,другие_атрибуты , где другие_атрибуты — остальная часть отличительного имени пользователя (DN) в каталоге. Эта форма использует формат обмена данными LDAP (LDIF) и создает частную глобальную схему.

Нулевая строка (' '), указывающая, что служба корпоративных каталогов сопоставит аутентифицированных глобальных пользователей с этой схемой базы данных с соответствующими ролями. Эта форма аналогична указанию одного ключевого слова GLOBALLY и создает общую глобальную схему .

Максимальная длина directory_DN – 1024 символа.

Вы можете контролировать способность сервера приложений подключаться от имени указанного пользователя и активировать роли этого пользователя с помощью инструкции ALTER USER.

Ограничение на создание глобальных пользователей

Oracle ASM не поддерживает создание глобальных пользователей.

Руководство по безопасности базы данных Oracle для получения дополнительной информации о глобальных пользователях

Условие НЕТ АУТЕНТИФИКАЦИИ

Используйте предложение NO AUTHENTICATION, чтобы создать схему, не имеющую пароля и не позволяющую войти в систему. Это предназначено только для учетных записей схемы и сокращает объем обслуживания за счет удаления паролей по умолчанию и любых требований по смене пароля.

Оговорка DEFAULT COLLATION

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

Для collation_name укажите допустимое именованное сопоставление или псевдосопоставление.

Если вы опустите это предложение, то сопоставление по умолчанию для схемы, принадлежащей пользователю, будет установлено на псевдосопоставление USING_NLS_COMP.

Вы можете переопределить это предложение и назначить другую сортировку по умолчанию для конкретной таблицы, материализованного представления или представления, указав условие DEFAULT COLLATION оператора CREATE или ALTER для таблицы, материализованного представления или представления. Вы также можете переопределить параметры сортировки по умолчанию для всех схем на время сеанса базы данных, установив параметры сортировки по умолчанию для сеанса. Дополнительные сведения см. в разделе DEFAULT_COLLATION команды ALTER SESSION.

Вы можете указать предложение DEFAULT COLLATION, только если для параметра инициализации COMPATIBLE установлено значение 12.2 или выше, а для параметра инициализации MAX_STRING_SIZE установлено значение EXTENDED .

Предложение DEFAULT TABLESPACE

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

Ограничение для табличных пространств по умолчанию

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

CREATE TABLESPACE для получения дополнительной информации о табличных пространствах в целом и табличных пространствах отмены в частности

Руководство по безопасности базы данных Oracle для получения дополнительной информации о назначении пользователям табличных пространств по умолчанию

Предложение [LOCAL] TEMPORARY TABLESPACE

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

Укажите табличное пространство, чтобы указать временное табличное пространство пользователя. Укажите TEMPORARY TABLESPACE, чтобы указать общее временное табличное пространство. Укажите LOCAL TEMPORARY TABLESPACE, чтобы указать локальное временное табличное пространство. Если вы подключены к CDB, вы можете указать CDB$DEFAULT для использования временного табличного пространства CDB по умолчанию по умолчанию.

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

Ограничения для временного табличного пространства

На этот пункт распространяются следующие ограничения:

Табличное пространство должно быть временным и иметь стандартный размер блока.

Табличное пространство не может быть табличным пространством отмены или табличным пространством с автоматическим управлением пространством сегментов.

Руководство администратора базы данных Oracle для получения информации о группах табличных пространств и Руководство по безопасности базы данных Oracle для информации о назначении временных табличных пространств пользователям

CREATE TABLESPACE для получения дополнительной информации о табличных пространствах отмены и управлении сегментами

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

Инструкция CREATE USER может содержать несколько предложений QUOTA для нескольких табличных пространств.

UNLIMITED позволяет пользователю неограниченно распределять пространство в табличном пространстве.

Максимальный объем пространства, который вы можете указать, составляет 2 терабайта (ТБ). Если вам нужно больше места, укажите UNLIMITED .

Ограничение пункта QUOTA

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

size_clause для получения информации об этом предложении и Oracle Database Security Guide для получения дополнительной информации о назначении квот табличного пространства

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

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

Срок действия ПАРОЛЯ

Укажите PASSWORD EXPIRE, если вы хотите, чтобы срок действия пароля пользователя истек. Этот параметр заставляет пользователя или администратора баз данных изменить пароль, прежде чем пользователь сможет войти в базу данных.

Укажите БЛОКИРОВКА АККАУНТА, чтобы заблокировать учетную запись пользователя и отключить доступ. Укажите ACCOUNT UNLOCK, чтобы разблокировать учетную запись пользователя и разрешить доступ к учетной записи. По умолчанию используется РАЗБЛОКИРОВКА АККАУНТА .

Этот пункт необратим. Укажите ENABLE EDITIONS, чтобы разрешить пользователю создавать несколько версий редактируемых объектов в этой схеме с использованием редакций. Редактируемые объекты в схемах, для которых не поддерживаются редакции, не могут быть изменены.

Перед включением выпусков с помощью ALTER USER обратите внимание на следующее:

Включение выпусков не является оперативной операцией.

При обновлении базы данных с версии 11.2 до версии 12.1 пользователи, которым были разрешены выпуски в базе данных до обновления, получают доступ к выпускам в базе данных после обновления, а типы объектов схемы по умолчанию доступны для редактирования в их схемах. Типы объектов схемы по умолчанию отображаются представлением статического словаря данных DBA_EDITIONED_TYPES. Пользователи, которым не были разрешены выпуски в базе данных до обновления, не включены в выпуски в базе данных после обновления, и в их схемах нет доступных для редактирования типов объектов схемы.

Чтобы узнать, для каких пользователей уже включены выпуски, см. столбец EDITIONS_ENABLED представления словаря статических данных DBA_USERS или USER_USERS .

Ограничение на включение редакций

Предложение FOR игнорируется при использовании с ENABLE EDITIONS . Это относится только к оператору CREATE USER, а не к оператору ALTER USER.

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

Справочник по базе данных Oracle для получения дополнительной информации о динамическом представлении производительности V$EDITIONABLE_TYPES

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

Чтобы создать общего пользователя, вы должны быть подключены к корневому каталогу. При желании вы можете указать CONTAINER = ALL , что является значением по умолчанию, когда вы подключены к корневому каталогу.

Чтобы создать локального пользователя, необходимо подключиться к PDB. При желании вы можете указать CONTAINER = CURRENT , что используется по умолчанию при подключении к PDB.

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

Если эти объекты не существуют во всех контейнерах, инструкция CREATE USER завершается ошибкой.

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

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

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

Пользователь sidney имеет следующие характеристики:

Пароль out_standing1

Пример табличного пространства по умолчанию с квотой 10 мегабайт

Временная температура табличного пространства

Доступ к табличному пространству SYSTEM с квотой 5 мегабайт

Ограничения на ресурсы базы данных, определенные профилем app_user (который был создан в разделе "Создание профиля: пример")

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

Создание пользователей внешней базы данных: примеры

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

Пользователь app_user1 имеет следующие дополнительные характеристики:

Пример табличного пространства по умолчанию

Пример временного табличного пространства по умолчанию

5M пространства в примере табличного пространства и неограниченная квота на временное табличное пространство базы данных

Ограничения на ресурсы базы данных, определенные профилем app_user

Чтобы создать другого пользователя, доступного только для учетной записи операционной системы, добавьте перед именем пользователя значение параметра инициализации OS_AUTHENT_PREFIX . Например, если это значение " ops$ ", вы можете создать внешнего идентифицированного пользователя external_user с помощью следующего оператора:

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

В следующем примере создается глобальный пользователь. При создании глобального пользователя можно указать имя X.509, которое идентифицирует этого пользователя на корпоративном сервере каталогов:

Создание обычного пользователя в CDB

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

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

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

Синтаксис Oracle CREATE USER

Чтобы создать нового пользователя в Oracle, вы должны быть администратором баз данных или иметь системную привилегию CREATE USER.

Синтаксис

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

Oracle CREATE USER атрибуты

< tr>
АтрибутОписание Значение по умолчанию
ИДЕНТИФИКАЦИЯ разрешает Oracle для аутентификации пользователя с помощью пароля, чтобы предоставить ему доступ к базе данныхН/Д
ТАБЛИЧНОЕ ПРОСТРАНСТВО ПО УМОЛЧАНИЮ указывает сегменты табличного пространства, в которых Oracle хранит пользовательские данные пользователи
TEMPORARY TABLESPACE указывает сегменты временного табличного пространства для пользователя temp
QUOTA позволяет пользователю хранить свои данные в других табличных пространствах с -определенная квота, в дополнение к его собственному табличному пространству НЕОГРАНИЧЕННО (для собственного табличного пространства пользователя)
ПРОФИЛЬ профиль базы данных, который вы хотите назначить пользователю ПО УМОЛЧАНИЮ
Срок действия ПАРОЛЯ заставляет пользователя изменить свой пароль перед тем, как Oracle предоставит ему доступ к базе данныхЕсли опущено, пароль не истекает
БЛОКИРОВКА УЧЕТНОЙ ЗАПИСИ|РАЗБЛОКИРОВАТЬ сообщает Oracle, может ли пользователь получить доступ к его учетной записи или нет РАЗБЛОКИРОВАТЬ

Примеры Oracle CREATE USER

Давайте проиллюстрируем несколько примеров.

Пример 1:

В следующем примере создается учетная запись пользователя базы данных alekciss с паролем OraclE19$ .

База данных Oracle Создать пользователя — простой режим

Примечание. Любой отсутствующий атрибут принимает значение по умолчанию.

Пример 2:

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

Oracle Database Create User - Расширенный режим

Теперь попробуем подключиться к базе данных с помощью пользователя aciss .

Попытка входа в базу данных

Попытка входа в базу данных возвращает следующее сообщение об ошибке:

ORA-01045: в имени пользователя отсутствует CREATE SESSION PRIVILEGE; вход запрещен.

Давайте быстро это исправим.

Предоставление прав пользователю

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

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

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

Пример:

После создания пользователя вы можете предоставить ему привилегию CREATE SESSION для входа в сеанс базы данных.

Предоставить пользователю право на создание сеанса

Попробуем еще раз подключиться к базе данных с пользователем aciss .

Попытка входа 2

Изменение пользователя в базе данных Oracle

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

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

Удаление пользователя в базе данных Oracle

В некоторых случаях может потребоваться удалить учетную запись пользователя из базы данных. Для этого у вас должна быть системная привилегия DROP USER.

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

Читайте также: