Title: 🗃️ Oracle Database Group: Databases Icon: 🗃️ Order: 10 # Oracle DB Sysadmin Cheatsheet > **Context:** Oracle Database is a multi-model database management system. / Oracle Database - это мультимодельная система управления базами данных. > **Role:** Sysadmin / DBA > **Version:** 19c+ --- ## 📚 Table of Contents / Содержание 1. [Environment & Connection](#environment--connection--окружение-и-подключение) 2. [Listener Management](#listener-management--управление-прослушивателем) 3. [Core Management](#core-management--базовое-управление) 4. [Sysadmin Operations](#sysadmin-operations--операции-сисадмина) 5. [Security](#security--безопасность) 6. [Maintenance & Troubleshooting](#maintenance--troubleshooting--обслуживание-и-проблемы) --- ## 1. Environment & Connection / Окружение и подключение ### Essential Info / Основная информация ```bash # Default Port: 1521 (TCP) # Default User: SYS, SYSTEM # Service Name: or ``` ### Environment Variables / Переменные окружения Always ensure these are set before running commands. / Всегда проверяйте их перед запуском команд. ```bash export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 export ORACLE_SID= export PATH=$ORACLE_HOME/bin:$PATH ``` ### SQL*Plus Connection / Подключение SQL*Plus ```bash # Connect as SYSDBA (OS Auth) / Подключение как SYSDBA (OS Auth) sqlplus / as sysdba # Connect via Network / Подключение по сети sqlplus /@//:1521/ # Silent mode (for scripts) / Тихий режим (для скриптов) sqlplus -s / as sysdba ``` --- ## 2. Listener Management / Управление прослушивателем ### lsnrctl Commands / Команды lsnrctl ```bash # Check Status / Проверить статус lsnrctl status # Start Listener / Запустить lsnrctl start # Stop Listener / Остановить lsnrctl stop # Reload Config (listener.ora) / Перечитать конфиг lsnrctl reload ``` --- ## 3. Core Management / Базовое управление ### Startup & Shutdown / Запуск и Остановка ```sql -- Startup / Запуск STARTUP; -- Shutdown Immediate (Safe) / Безопасная остановка SHUTDOWN IMMEDIATE; -- Shutdown Abort (Kill, requires recovery) / Жесткая остановка SHUTDOWN ABORT; ``` ### User Management / Управление пользователями ```sql -- Create User / Создать пользователя CREATE USER IDENTIFIED BY ; -- Grant Connect & Resource / Дать права на подключение и ресурсы GRANT CONNECT, RESOURCE TO ; -- Unlock Account / Разблокировать аккаунт ALTER USER ACCOUNT UNLOCK; -- Change Password / Сменить пароль ALTER USER IDENTIFIED BY ; ``` --- ## 4. Sysadmin Operations / Операции сисадмина ### Tablespaces / Табличные пространства ```sql -- List Tablespaces / Список табличных пространств SELECT tablespace_name, status, contents FROM dba_tablespaces; -- Check Free Space / Проверка свободного места SELECT tablespace_name, used_percent FROM dba_tablespace_usage_metrics; -- Add Datafile / Добавить файл данных ALTER TABLESPACE ADD DATAFILE '/u01/oradata//.dbf' SIZE 1G AUTOEXTEND ON; ``` ### Sessions / Сессии ```sql -- Active Sessions / Активные сессии SELECT sid, serial#, username, status, program FROM v$session WHERE status = 'ACTIVE' AND username IS NOT NULL; -- Kill Session / Убить сессию ALTER SYSTEM KILL SESSION ','; ``` --- ## 5. Security / Безопасность ### Password Expiry / Срок действия пароля ```sql -- Check Expiry Date / Проверка даты истечения SELECT username, expiry_date FROM dba_users WHERE username = ''; -- Set Profile to Unlimited Password Life / Установить профиль с вечным паролем ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` --- ## 6. Maintenance & Troubleshooting / Обслуживание и проблемы ### Alert Log / Лог алертов ```bash # Alert Log Path: $ORACLE_BASE/diag/rdbms///trace/alert_.log ``` ```bash tail -f $ORACLE_BASE/diag/rdbms///trace/alert_.log ``` ### Common Issues / Частые проблемы **ORA-12541: TNS:no listener / Нет прослушивателя:** ```bash lsnrctl status # Check if listener is running / Проверить прослушиватель lsnrctl start # Start listener / Запустить прослушиватель ``` **ORA-01034: ORACLE not available / Oracle недоступен:** ```sql STARTUP; -- Connect as sysdba and run / Запустить ``` **Locked Account / Заблокированный аккаунт:** ```sql ALTER USER ACCOUNT UNLOCK; -- Unlock account / Разблокировать аккаунт ``` ### RMAN (Backup Basics) / RMAN (Основы бэкапа) ```bash # Connect to target / Подключение к цели rman target / # Backup Database / Бэкап БД RMAN> BACKUP DATABASE PLUS ARCHIVELOG; # Delete Obsolete Backups / Удалить устаревшие бэкапы RMAN> DELETE OBSOLETE; ```