Sysdba oracle что это
Существует два способа подключения к Oracle в качестве администратора с использованием sqlplus:
- sqlplus sys as sysdba
- sqlplus system/manager
Полагаю, эти учетные записи должны использоваться для разных целей.
Для каких задач предназначены эти две схемы? Когда я должен использовать один или другой среди них?
- Автоматически создается при установке базы данных Oracle
- Автоматически предоставляется DBA роль
- Имеет пароль по умолчанию: CHANGE_ON_INSTALL (убедитесь, что вы изменили его)
- Владеет базовыми таблицами и представлениями для словаря данных базы данных.
- Схема по умолчанию при подключении как SYSDBA
Таблицы в SYS схеме управляются только базой данных. Они никогда не должны быть изменены любым пользователем или администратором базы данных, и никто не должен создавать никаких таблиц в схеме пользователя SYS . Пользователи базы данных не должны подключаться к базе данных Oracle, используя SYS учетную запись.
- Автоматически создается при установке базы данных Oracle
- Автоматически предоставляется DBA роль
- Имеет пароль по умолчанию: MANAGER (убедитесь, что вы изменили его)
- Используется для создания дополнительных таблиц и представлений, которые отображают административную информацию
- Используется для создания внутренних таблиц и представлений, используемых различными опциями и инструментами базы данных Oracle
Никогда не используйте SYSTEM схему для хранения таблиц, представляющих интерес для пользователей без прав администратора.
На практике каждый администратор баз данных занимается sqlplus / as sysdba повседневной работой - за 15 лет работы с десятками опытных администраторов баз данных я никогда не сталкивался с кем-то, кто беспокоится об SYSTEM учетной записи.
SYS AND SYSTEM Пользователи
Следующие учетные записи администраторов создаются автоматически при установке Oracle Database. Оба они созданы с паролем, который вы указали при установке, и им автоматически предоставляется роль DBA.
Эта учетная запись может выполнять все административные функции. Все базовые (базовые) таблицы и представления для словаря данных базы данных хранятся в схеме SYS. Эти базовые таблицы и представления имеют решающее значение для работы базы данных Oracle. Для обеспечения целостности словаря данных таблицы в схеме SYS управляются только базой данных. Они никогда не должны быть изменены любым пользователем или администратором базы данных. Вы не должны создавать таблицы в схеме SYS.
Пользователю SYS предоставляется привилегия SYSDBA, которая позволяет пользователю выполнять высокоуровневые административные задачи, такие как резервное копирование и восстановление.
Эта учетная запись может выполнять все административные функции, кроме следующих:
Резервное копирование и восстановление
Обновление базы данных
Хотя эту учетную запись можно использовать для выполнения повседневных административных задач, Oracle настоятельно рекомендует создать учетную запись именованных пользователей для администрирования базы данных Oracle, чтобы включить мониторинг активности базы данных.
Системные привилегии SYSDBA и SYSOPER
SYSDBA и SYSOPER - это административные привилегии, необходимые для выполнения административных операций высокого уровня, таких как создание, запуск, завершение работы, резервное копирование или восстановление базы данных. Системная привилегия SYSDBA предназначена для полностью уполномоченных администраторов баз данных, а системная привилегия SYSOPER позволяет пользователю выполнять основные операционные задачи, но без возможности просматривать пользовательские данные.
Системные привилегии SYSDBA и SYSOPER разрешают доступ к экземпляру базы данных, даже если база данных не открыта. Таким образом, контроль над этими привилегиями полностью находится за пределами самой базы данных. Этот элемент управления позволяет администратору, которому предоставлена одна из этих привилегий, подключаться к экземпляру базы данных для запуска базы данных.
Вы также можете рассматривать привилегии SYSDBA и SYSOPER как типы соединений, которые позволяют вам выполнять определенные операции с базой данных, для которых привилегии не могут быть предоставлены каким-либо другим способом. Например, если у вас есть привилегия SYSDBA, вы можете подключиться к базе данных, используя AS SYSDBA.
Пользователь SYS автоматически получает привилегию SYSDBA при установке. Когда вы входите в систему как пользователь SYS, вы должны подключиться к базе данных как SYSDBA или SYSOPER. Подключение в качестве пользователя SYSDBA вызывает привилегию SYSDBA; соединение как SYSOPER вызывает привилегию SYSOPER. Oracle Enterprise Manager Database Control не позволяет вам входить в систему как пользователь SYS, не подключаясь как SYSDBA или SYSOPER.
При подключении с привилегией SYSDBA или SYSOPER вы подключаетесь со схемой по умолчанию, а не со схемой, которая обычно связана с вашим именем пользователя. Для SYSDBA это схема SYS; для SYSOPER схема является ОБЩЕСТВЕННОЙ.
Пример существенного различия между SYS (или любым другим соединением SYSDBA) и любым другим пользователем: SYS не может выполнять последовательное чтение . Одним из следствий этого (есть и другие) является то, что вы не можете выполнить экспорт CONSISTENT = Y как SYS, используя старую утилиту exp.
Сотрудник и эксперт Oracle Том Кайт считает, что вам редко следует использовать какой-либо из них . Что касается SYS, он указывает, что он работает по-другому, как показывает пример выше, но в более общем плане он считает, что они «принадлежат» корпорации Oracle. Если вы вносите изменения или добавляете что-либо в любую из схем, и возникает проблема (например, сбой обновления базы данных), я подозреваю, что ответ службы поддержки Oracle будет: «Вы не должны были этого делать».
Это звучит так, как будто на плакате написано, что есть только два способа подключения:
«Существует два способа подключения к Oracle в качестве администратора с использованием sqlplus:
Учетная запись администратора - это любая учетная запись пользователя Oracle с привилегией SYSDBA или ролью DBA. SYS - предопределенный пользователь с SYSDBA, а SYSTEM - предопределенный пользователь с DBA. Если в базе данных есть n учетных записей администраторов, то есть n пользователей, которые могут подключиться с правами администратора (по определению) - их не просто две.
Еще один момент касается SQL * Plus. Вы можете подключиться как SYS, используя аутентификацию ОС по приглашению ОС: sqlplus / as sysdba. Вы также можете запустить SQL * Plus, а затем CONNECT / AS SYSDBA. Вы можете указать пароль в командной строке ОС, в операторе CONNECT или попросить SQL * Plus запросить его. Вы можете использовать сетевое имя сервиса. Вы можете (и должны) изменить системный пароль. И так далее.
Я думаю, что автор хотел сказать, что в базе данных Oracle есть как минимум две учетные записи администратора, и если в SYSTEM установлен пароль по умолчанию и если установлена аутентификация ОС, то это два (из многих) примеров как SYS и SYSTEM могут войти в базу данных, используя SQL * Plus.
Начинающий разработчики часто путают SYSDBA и DBA между собой. Поэтому столь необходимо осветить различие между ними. Вкратце, SYSDBA – это системная привилегия, а DBA – это роль.
SYSDBA и SYSOPER – это специальные привилегии администратора, которые позволяют выполнять базовые задачи администрирования: запуск или остановка истанса; создание, удаление, открытие или монтирования базы и др. Роль DBA не включает SYSDBA или SYSOPER.
О системной привилегии SYSDBA
Привилегии SYSDBA и SYSOPER позволяют получать доступ к базе данных, даже если база не открыта. Контроль этих привилегий находится за пределами компетенции самой базы данных. SYSDBA и SYSOPER могут также быть расценены как тип подключения, который позволяет выполнять определённые операции для которых привилегии не могут быть назначены другим способом.
Обзор возможностей каждой из привилегий:
- Выполнять STARTUP и SHUTDOWN операции
- ALTER DATABASE: open, mount, back up, or change character set
- CREATE DATABASE
- DROP DATABASE
- CREATE SPFILE
- ALTER DATABASE ARCHIVELOG
- ALTER DATABASE RECOVER
- Включает привилегию RESTRICTED SESSION
- ALTER DATABASE RECOVER
- Позволяет подключаться как пользователь SYS
- Выполнять STARTUP и SHUTDOWN операции
- CREATE SPFILE
- ALTER DATABASE OPEN/MOUNT/BACKUP
- ALTER DATABASE ARCHIVELOG
- ALTER DATABASE RECOVER (Только полное восстановление. Другие формы восстановления, такие как UNTIL TIME|CHANGE|CANCEL|CONTROLFILE требуют SYSDBA.)
- Включает привелегию RESTRICTED SESSION
- Позволяет выполнять базовые операции, но без возможности просмотра данных пользователя
Выборка пользователей, которые имеют SYSDBA или SYSOPER привилегии:
SQL>column sysdba format a10
SQL>column sysdba format a10
SQL>select * from v$pwfile_users;
USERNAME SYSDBA SYSOPER
———- ——– ———-
SYS TRUE TRUE
SCOTT TRUE FALSE
О DBA роли
Роль DBA – это предопределённая роль, которая автоматически создаётся для каждой базы данных Oracle. Эта роль содержит все системные привилегии, кроме SYSDBA и SYSOPER. Поэтому она очень мощная и должна назначаться только администраторам, которым требуется полный доступ.
Выборка всех ролей с базы данных:
SQL> select role from dba_roles;
ROLE
———–
CONNECT
RESOURCE
DBA
…..
Выборка всех пользователей, которым назначена DBA роль:
SQL>select * from dba_role_privs where granted_role = ‘DBA’
GRANTEE GRANTED_ROLE ADM DEF
———– ——————- —– ——
SYS DBA YES YES
SYSMAN DBA NO YES
LETS DBA NO YES
SYSTEM DBA YES YES
Замечание: вы не можете назначить привелегию SYSDBA для роли. Это приводит к ошибке:
ORA-01931: cannot grant SYSDBA to a role
Для пользователя базы данных могут быть назначены роль DBA и привилегия SYSDBA:
SQL> select * from dba_role_privs where granted_role = ‘DBA’
GRANTEE GRANTED_ROLE ADM DEF
———- ——————- —— —–
SYS DBA YES YES
SCOTT DBA NO YES
SYSMAN DBA NO YES
LETS DBA NO YES
SYSTEM DBA YES YES
Начинающий разработчики часто путают SYSDBA и DBA между собой. Поэтому столь необходимо осветить различие между ними. Вкратце, SYSDBA – это системная привилегия, а DBA – это роль.
SYSDBA и SYSOPER – это специальные привилегии администратора, которые позволяют выполнять базовые задачи администрирования: запуск или остановка истанса; создание, удаление, открытие или монтирования базы и др. Роль DBA не включает SYSDBA или SYSOPER.
О системной привилегии SYSDBA
Привилегии SYSDBA и SYSOPER позволяют получать доступ к базе данных, даже если база не открыта. Контроль этих привилегий находится за пределами компетенции самой базы данных. SYSDBA и SYSOPER могут также быть расценены как тип подключения, который позволяет выполнять определённые операции для которых привилегии не могут быть назначены другим способом.
Обзор возможностей каждой из привилегий:
- Выполнять STARTUP и SHUTDOWN операции
- ALTER DATABASE: open, mount, back up, or change character set
- CREATE DATABASE
- DROP DATABASE
- CREATE SPFILE
- ALTER DATABASE ARCHIVELOG
- ALTER DATABASE RECOVER
- Включает привилегию RESTRICTED SESSION
- ALTER DATABASE RECOVER
- Позволяет подключаться как пользователь SYS
- Выполнять STARTUP и SHUTDOWN операции
- CREATE SPFILE
- ALTER DATABASE OPEN/MOUNT/BACKUP
- ALTER DATABASE ARCHIVELOG
- ALTER DATABASE RECOVER (Только полное восстановление. Другие формы восстановления, такие как UNTIL TIME|CHANGE|CANCEL|CONTROLFILE требуют SYSDBA.)
- Включает привелегию RESTRICTED SESSION
- Позволяет выполнять базовые операции, но без возможности просмотра данных пользователя
Выборка пользователей, которые имеют SYSDBA или SYSOPER привилегии:
SQL>column sysdba format a10
SQL>column sysdba format a10
SQL>select * from v$pwfile_users;
USERNAME SYSDBA SYSOPER
———- ——– ———-
SYS TRUE TRUE
SCOTT TRUE FALSE
О DBA роли
Роль DBA – это предопределённая роль, которая автоматически создаётся для каждой базы данных Oracle. Эта роль содержит все системные привилегии, кроме SYSDBA и SYSOPER. Поэтому она очень мощная и должна назначаться только администраторам, которым требуется полный доступ.
Выборка всех ролей с базы данных:
SQL> select role from dba_roles;
ROLE
———–
CONNECT
RESOURCE
DBA
…..
Выборка всех пользователей, которым назначена DBA роль:
SQL>select * from dba_role_privs where granted_role = ‘DBA’
GRANTEE GRANTED_ROLE ADM DEF
———– ——————- —– ——
SYS DBA YES YES
SYSMAN DBA NO YES
LETS DBA NO YES
SYSTEM DBA YES YES
Замечание: вы не можете назначить привелегию SYSDBA для роли. Это приводит к ошибке:
ORA-01931: cannot grant SYSDBA to a role
Для пользователя базы данных могут быть назначены роль DBA и привилегия SYSDBA:
SQL> select * from dba_role_privs where granted_role = ‘DBA’
GRANTEE GRANTED_ROLE ADM DEF
———- ——————- —— —–
SYS DBA YES YES
SCOTT DBA NO YES
SYSMAN DBA NO YES
LETS DBA NO YES
SYSTEM DBA YES YES
Подключаться и работать с базами данных Oracle можно многими способами.Однако чаще всего для этого применяется предлагаемый в Oracle интерфейс и набор команд SQL*Plus. Интерфейс SQL*Plus, по сути, открывает окно в базу данных Oracle и потому очень широко используется разработчиками Oracle для создания программных единиц SQL и PL/SQL. Для администраторов баз данных Oracle этот интерфейс тоже является очень ценным инструментом по следующим причинам.
- Он позволяет выполнять запросы на языке SQL и блоки кода на языке PL/SQL (который представляет собой предлагаемую в Oracle расширенную процедурную версию языка SQL) и получать результаты.
- Он позволяет выполнять команды, связанные с администрированием баз данных,и автоматизировать их.
- Он позволяет запускать и завершать работу базы данных.
- Он предоставляет удобный способ для создания отчетов по администрированию баз данных.
В этой статье я начинаю рассказывать о том, как использовать SQL*Plus для выполнения типичных задач по администрированию баз данных Oracle, о важных командах SQL*Plus, а также, вкратце, о том, как с помощью SQL*Plus создавать отчеты. Возможно, применять интерфейс SQL*Plus для создания большинства отчетов и не придется, но знать,как работают его многочисленные средства для генерации отчетов, совершенно не помешает.
Настройка среды
Перед вызовом SQL*Plus потребуется сначала правильно настроить среду Oracle.В частности, необходимо установить значения для таких переменных среды, как ORACLE_SID, ORACLE_HOME и LD_LIBRARY_PATH. Помимо этого иногда нужно установить значения и для таких переменных среды, как NLS_LANG и ORA_NLS11.
В случае не установки правильных значений для необходимых переменных среды будет возникать ошибка. Например, не установка надлежащего значения для переменной ORACLE_HOME перед запуском SQL*Plus будет приводить к появлению следующей ошибки:
В случае получения показной выше ошибки достаточно установить значение для переменной среды ORACLE_HOME:
Запуск сеанса SQL*Plus
Интерфейс SQL*Plus представляет собой утилиту, которая чаще всего применяется для подключения и работы с базами данных Oracle. Он поставляется в составе как серверного программного обеспечения Oracle Database 11g, так и клиентского программного обеспечения Oracle Client, а также нового программного обеспечения Oracle Instant Client.
После установки SQL*Plus на сервере или клиентской машине процесс подключения к серверу или клиенту и запуска сеанса SQL*Plus выглядит очень просто. Из-за того, что каждый сеанс SQL*Plus подразумевает установку соединения с базой данных (если только не применяется параметр /NOLOG), все, что требуется для запуска SQL*Plus и подключения к базе данных — это действительное имя пользователя и пароль.
Запуск сеанса SQL*Plus из командной строки
Прежде чем подключаться к сеансу SQL*Plus, необходимо сначала правильно настроить среду и указать, с какой базой данных на сервере должно устанавливаться соединение по умолчанию. Делается это с помощью переменной среды ORACLE_SID.
После указания базы данных, которая должна использоваться по умолчанию (в приведенном примере это orcl) в переменной среды ORACLE_SID, можно получать доступ к SQL*Plus из приглашения командной строки, просто вводя команду sqlplus безо имени пользователя и пароля. SQL*Plus предложит ввести имя пользователя и пароль. В случае предоставления имени пользователя вместе с командой (например: sqlplus salapati),SQL*Plus будет приглашать ввести только пароль. Администратор баз данных должен входить от имени одной из административных учетных записей.
На заметку! На серверах UNIX ввод должен обязательно выполняться в нижнем регистре. В Windows интерфейс не чувствителен к регистру символов. За исключением этой небольшой детали, во всем остальном командный интерфейс SQL*Plus работает одинаково и на платформе Windows, и на всех вариантах платформ UNIX и Linux.
Разумеется, вводить имя пользователя и пароль можно и непосредственно при вызове SQL*Plus, но тогда пароль будет виден другим при его вводе. Ниже приведен пример:
Приглашение SQL (SQL>) означает, что соединение с SQL*Plus инициировано, и можно начинать вводить команды и операторы SQL, PL/SQL и SQL*Plus.
Для того чтобы подключиться к другой базе данных, а не той, что установлена по умолчанию, нужно использовать следующую команду:
Определенные операции, например запуск и завершение работы, разрешено выполнять только в случае подключения к SQL*Plus с привилегиями SYSDBA или SYSOPER. При наличии привилегий SYSDBA (или SYSOPER) подключаться к SQL*Plus можно следующим образом:
Конструкция AS позволяет устанавливать привилегированные подключения пользователям, которым были выданы системные привилегии SYSDBA или SYSOPER.
Если в базе данных была создана учетная запись аутентифицированного пользователя операционной системы (ранее называвшаяся OPS$имя; см. главу 12), устанавливать подключение можно и просто указанием символа косой черты (/), как показано ниже:
Можно также подключаться через метод аутентификации операционной системы, за счет включения владельца программного обеспечения Oracle в группу администраторов баз данных (DBA):
Обратите внимание, что во всех предыдущих примерах имя базы данных при подключении через SLQ*Plus не указывалось. Объясняется это тем, что подключение устанавливалось к принятому по умолчанию экземпляру, т.е. к базе данных, на которую указывает значение переменной среды ORACLE_SID. Указывать имя базы данных при использовании SQL*Plus для подключения к принятой по умолчанию базе данных не обязательно. Для подключения к другой базе данных, доступной по сети, нужно обязательно использовать идентификатор подключения (имя сетевой службы).
На заметку! Имя экземпляра, имя базы данных и имя службы могут как совпадать, так и отличаться.
С теоретической точки зрения, подключаться к базе данных можно с использованием полного синтаксиса идентификатора подключения, как показано в следующем примере, где для подключения к базе данных orcl применяется весь адрес целиком:
Однако за счет использования имени сетевой службы, определенного в сетевом файле tnsnames.ora, можно подключаться к базе данных более простым образом:
Кроме того, для подключения к базе данных можно применять простой метод подключения. Синтаксис простого метода подключения выглядит так:
Например, вот как подключиться с помощью этого метода к базе данных orcl:
Обратите внимание, что в случае применения простого метода подключения сетевой файл (tnsnames.ora) не нужен.
Какой бы из перечисленных методов не использовался, в конечном итоге будет обязательно успешно устанавливаться сеанс SQL*Plus либо с базой данных по умолчанию,либо с той, что была указана в идентификаторе подключения.
Подключение к SQL*Plus через графический интерфейс Windows
В случае использования графического интерфейса SQL*Plus на машине Windows для запуска сеанса SQL*Plus достаточно щелкнуть на пиктограмме SQL*Plus и на экране появится приглашение ввести имя пользователя. При условии, что соединение с базой данных устанавливается через соответствующие сущности в файле tnsnames.ora , после ввода имени пользователя можно приступать к работе с интерфейсом SQL*Plus.
Работать с утилитой SQL*Plus можно как в ручном, так и в сценарном не интерактивном режиме. Само собой разумеется, что уязвимые административные задачи, вроде восстановления базы данных, лучше выполнять в интерактивном режиме. Что же касается рутинных операций по обработке SQL, то их выполнение лучше автоматизировать с помощью сценариев. И в том и в другой случае сами команды будут выглядеть одинаково — отличаться будет лишь режим, в котором они будут выполняться.
Ниже показан синтаксис команды подключения к SQL*Plus:
На заметку! В Oracle Database 11g команда SQLPLUS поддерживает новый аргумент -F, позволяющий SQL*Plus получать от базы данных RAC события FAN (Fast Application Notification — быстрое уведомление приложений).
Подключаться от имени пользователя с привилегиями SYSOPER, SYSDBA или SYSASM необходимо для выполнения привилегированных операций, вроде завершения работы и запуска базы данных или резервного копирования либо восстановления базы данных.Привилегия SYSAM является новой в Oracle Database 11g и предназначена для разделения обычных операций по администрированию баз данных и операций автоматического управления памятью (Automatic Storage Management — ASM).
Установка подключения с помощью команды CONNECT
В SQL*Plus поддерживается команда CONNECT, которая позволяет после входа в SQL*Plus выполнять подключение от имени другого пользователя. Кроме того, она позволяет после подключения к одной базе данных подключаться к другой базе данных.Ниже приведен пример использования команды CONNECT для выполнения подключения от имени другого пользователя:
Следующий пример демонстрирует, как в SQL*Plus подключаться к другой базе данных за счет предоставления идентификатора подключения в виде части команды CONNECT:
Перед подключением к другой базе данных необходимо проверять, что в файле tnsnames.ora присутствует необходимая информация о подключении к удаленной базе данных.
Команду CONNECT можно использовать в SQL*Plus вместе с синтаксисом / AS SYSDBA и / AS SYSOPER, как показано ниже:
Работа в SQL*Plus
После подключения к интерфейсу SQL*Plus можно начинать вводить в нем любые команды SQL*Plus, SQL или PL/SQL. Как будет объясняться позже в этой главе, операторы SQL оканчиваются либо символом точки с запятой (;), либо символом косой черты (/), а блоки кода PL/SQL — только символом косой черты (/). Вывод можно как просматривать на экране, так и при желании записывать в файл. Команды SQL*Plus всегда оканчиваются символов новой строки. При вводе команды SQL*Plus клиентская программа SQL*Plus анализирует ее, и если та представляет собой оператор SQL или PL/SQL, отправляет ее серверу баз данных для обработки.
В качестве символа продолжения можно использовать дефис (-), хотя при окончании первой строки применять символ продолжения вовсе не обязательно. В каждой строке SQL можно вводить любое количество символов или слов и затем просто нажимать клавишу для продолжения на следующей строке. SQL*Plus будет автоматически добавлять перед каждой строкой ее номер.В некоторых случаях, однако, символ продолжения (-) оказывается полезным, как в следующем примере, где требуется ввести SQL-оператор SELECT 200 - 100 FROM dual:
В этом примере из-за перехода на вторую строку после дефиса (-), который еще так же является и знаком минус, утилита SQL*Plus автоматически интерпретировала его как символ продолжения и выдала ошибку, потому что оператор получился синтаксически некорректным (select 200 100 from dual). Избежать этой проблемы можно за счет использования в конце первой строки второго дефиса (знака минус) для выполнения роли символа продолжения:
В Oracle для выполнения определенных запросов необходимо использовать таблицу DUAL, поскольку в поддерживаемом Oracle синтаксисе SQL наличие конструкции FROM в операторе SELECT является обязательным (например, SELECT sysdate FROM dual;).В базах данных Microsoft SQL Server, с другой стороны, использовать таблицу DUAL не требуется, потому что в синтаксисе SQL Server допускается применение операторов SELECT без конструкции FROM.
Запуск сеанса SQL*Plus без установки подключения к базе данных с помощью параметра /NOLOG
Сеанс SQL*Plus можно также запускать и без установки подключения к базе данных,счет указав вместе с командой sqlplus параметр /NOLOG. В подобном может возникать необходимость, например, при запуске базе данных или просто для использования доступных в SQL*Plus команд для записи или редактирования сценариев. После запуска сеанса SQL*Plus для подключения к базе данных всегда можно применить команду CONNECT.
Ниже приведен пример использования параметра /NOLOG:
About User Accounts
A user account is identified by a user name and defines the user's att ributes, including the following:
Password for database authentication
Privileges and roles
Default tablespace for database objects
Default temporary tablespace for query processing work space
When you create a user, you are also implicitly creating a sch ema for that user. A schema is a logical container for the database objects (such as tables, views, triggers, and so on) that the user creates. The schema name is the same as the user name, and can be used to unambiguously refer to objects owned by the user. For example, HR.EMPLOYEES refers to the table named EMPLOYEES in the HR schema. (The EMPLOYEES table is owned by HR .) The terms database object and schema object are used interchangeably.
When you dro p (delete) a user, you must either first drop all the user's schema objects, or use the cascade feature of the drop operation, which simultaneously drops a user and all of that user's schema objects.
This section contains these topics:
User Privil eges and Roles
When creating a user, you grant privileges to enable the user to connect to the database, to run queries and make updates, and to create schema objects. There are two main type s of user privileges:
System privileges —A sys tem privilege is the right to perform a particular action, or to perform an action on any schema objects of a particular type. For example, the privileges to create tables and to delete the rows of any table in a database are system privileges.
Object privileges —An obje ct privilege is a right to perform a particular action on a specific schema object. Different object privileges are available for different types of schema objects. The privilege to delete rows from the DEPARTMENTS table is an example of an object privilege.
Mana ging and controlling privileges is made easier by using roles , which are named groups of related privileges. You create roles, grant system and object privileges to the roles, and then grant roles to users. Unlike schema objects, roles are not contained in any schema.
Oracle Database Express Edition comes with some predefined roles:
The DBA role enables a user to perform most administrative functions, including creating users and granting privileges; creating and granting roles; creating and dropping schema objects in other users' schemas; and more. It grants all system privileges, but does not include the privileges to start up or shut down the database. It is by default granted to user SYSTEM. You should be very cautious about assigning the DBA role to any other database users.
Use of the CONNECT and RESOURCE roles is discouraged. Instead, grant only those privileges that the specific user will need. For example:
Oracle Database Security Guide for more information on privileges and roles
Oracle Database SQL Language Reference for tables of system privileges, object privileges, and predefined roles.
Завершение сеанса SQL*Plus
Завершается сеанс SQL*Plus вводом команды EXIT, причем как в нижнем, так и в верхнем регистре. С помощью команды QUIT осуществляется выход в операционную систему (регистр символов тоже роли не играет).
Внимание! В случае выполнения аккуратного выхода из SQL*Plus по команде EXIT (или QUIT) будет немедленно происходить фиксация всех транзакций. Если не нужно, чтобы происходила фиксация транзакций, перед выходом потребуется выполнить команду rollback.
Users access Oracle Database Express Edition through database user accounts. Some of these accounts are automatically created administrative accounts—accounts with database administration privileges. You log in to these administrative accounts to create and manage other user accounts, maint ain database security, and perform other database administration tasks.
This section contains the following topics:
Программное обеспечение SQL*Plus Instant Client
Для использования SQL*Plus инсталлировать полностью все серверное программное обеспечение Oracle Database вовсе не обязательно. Если нужно взаимодействовать через интерфейс SQL*Plus с базой данных, которая находится на другом сервере,вполне хватит и программного обеспечения SQL*Plus Instant Client. С помощью этого программного обеспечения к любой базе данных Oracle, функционирующей под управлением любой операционной системы, можно подключаться удаленным образом за счет указания ее имени и применения идентификатора сетевого подключения Oracle.Единственным требованием для подключения к удаленной базе данных подобным образом является указание имени удаленной базы данных в файле tnsnames.ora. Именно поэтому для SQL*Plus Instant Client требуется задавать переменную среды ORACLE_HOME.Существует также метод, который не требует применения на клиентском сервере файла tnsnames.ora. Называется он методом простого подключения (easy connect). Ниже приведен пример, показывающий, как с помощью идентификатора простого подключения установить от имени пользователя OE подключение к базе данных testdb, расположенной на сервере myserver:
В этом примере 1521 — это порт, используемый слушателем для получения запросов на установку подключения.
Читайте также: