Oracle Exadata Administration Guide
1. Overview of Administration Tasks
Oracle Exadata administration involves the following key responsibilities:
System Monitoring and Health Checks
Performance Optimization
Backup and Recovery Management
Patch Management
User and Security Management
Troubleshooting
2. Daily System Monitoring
2.1 Check Hardware Status
1. Log in to the ILOM (Integrated Lights Out Manager):
o ssh root@<ILOM_IP>
2. Check hardware health:
o show /System/health
3. Verify storage and compute nodes:
Use dcli to check the status of all nodes:
o dcli -g /opt/oracle.cellos/host_group -l root uptime
4. Check InfiniBand network health:
o ibqueryerrors
o ibstat
2.2 Monitor Database and Storage
1. Check ASM Disk Groups:
o asmcmd lsdg
2. Monitor cell server status:
o cellcli -e "LIST CELLS"
3. Check I/O performance:
o cellcli -e "LIST METRICS WHERE name = 'IOPS'"
4. Verify storage usage:
o cellcli -e "LIST GRIDDISK"
3. Performance Optimization
3.1 Tuning SQL Performance
1. Generate AWR (Automatic Workload Repository) Reports:
o @?/rdbms/admin/awrrpt.sql
Analyze the report for slow SQL queries and resource bottlenecks.
2. Use SQL Tuning Advisor:
o exec dbms_sqltune.create_tuning_task(sql_id => '<SQL_ID>');
3. Enable Exadata Smart Scan:
Ensure your queries are optimized to leverage Smart Scan by minimizing complex joins and using full table
scans where appropriate.
3.2 Managing Workload Resources
1. Configure IORM (I/O Resource Management):
Create or update an IORM plan to prioritize critical workloads:
o cellcli -e "alter iormplan dbplan='Database1:75,Database2:25'"
2. Monitor resource usage:
o cellcli -e "LIST METRICS"
Confidential – Oracle Internal
4. Backup and Recovery
4.1 Schedule RMAN Backups
1. Create RMAN backup scripts:
o RUN {
o BACKUP DATABASE PLUS ARCHIVELOG;
o DELETE OBSOLETE;
o }
2. Schedule backups using cron jobs:
o crontab -e
Example entry:
0 2 * * * /home/oracle/scripts/backup.sh
3. Validate backups:
o RMAN> VALIDATE BACKUP;
4.2 Configure Data Guard for Disaster Recovery
1. Set up a Data Guard environment for standby databases.
Configure the primary and standby databases using DGMGRL:
o dgmgrl sys/<password>
Add the standby database:
o add database 'StandbyDB' as connect identifier is '<connect_string>';
5. Patch Management
5.1 Check for Available Patches
1. Log in to Oracle Support:
o Identify the latest patches for your Exadata version.
2. Download the patch bundle.
5.2 Apply Patches
1. Check the current software version:
o cellcli -e "LIST CELL detail"
2. Run patching pre-checks:
o dbnodeupdate.sh –-precheck
3. Apply patches using opatch:
o opatchauto apply /path/to/patch
4. Verify patch status:
o opatch lsinventory
6. User and Security Management
6.1 User Management
1. Create Database Users:
o CREATE USER username IDENTIFIED BY password;
o GRANT CONNECT, RESOURCE TO username;
2. Grant system privileges:
o GRANT DBA TO username;
3. Monitor user sessions:
o SELECT username, status FROM v$session;
6.2 Enable Transparent Data Encryption (TDE)
1. Create a Wallet:
o mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/wallet
2. sqlplus / as sysdba
o ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/path/to/wallet' IDENTIFIED BY "password";
3. Set up encryption for a tablespace:
o ALTER TABLESPACE users ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
Confidential – Oracle Internal
7. Troubleshooting
7.1 Diagnostic Tools
1. Run ExaCheck for configuration validation:
o ./exachk
2. Check database logs:
o tail -f /u01/app/oracle/diag/rdbms/<dbname>/alert_<SID>.log
3. Use cellcli to troubleshoot storage issues:
o cellcli -e "LIST ALERTHISTORY"
8. Automation and Scripts
8.1 Automate Health Checks
Use shell scripts to monitor and report the status of key components like ASM, storage cells, and database
sessions.
8.2 Schedule Regular Reports
Automate AWR and ADDM report generation for periodic performance reviews:
o sqlplus / as sysdba @?/rdbms/admin/awrrpt.sql
Confidential – Oracle Internal
Oracle Exadata Update and Upgrade Guide
1. Pre-Upgrade and Update Checklist
1.1 Planning
Identify the Current Versions:
o Collect the current versions of Exadata software, firmware, and Oracle Database:
imageinfo
cellcli -e "list cell detail"
opatch lsinventory
Review Oracle Support Documentation:
o Check the Oracle Exadata Deployment and Patch Matrix on My Oracle Support.
o Identify the latest compatible patches or updates.
Schedule Maintenance Window:
o Plan for downtime, as certain components like database nodes or storage cells may need to be
restarted during the update.
1.2 Backup and Preparation
Backup Critical Data:
o Use RMAN to perform a full backup:
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
o Ensure Oracle Recovery Manager (RMAN) backups are tested and valid.
Check Storage and Free Space:
o Validate that there is sufficient free space on ASM disk groups and file systems.
Download Required Patches:
o Download the latest patch bundles for Exadata Storage Server (cell), InfiniBand switches, and
compute nodes from Oracle Support.
Install Prerequisites:
o Install any required utilities like dbnodeupdate.sh or patchmgr.
2. Updating Exadata Software
2.1 Update Compute Nodes
1. Run Pre-Check on Compute Nodes:
o dbnodeupdate.sh --precheck
2. Apply Updates to Compute Nodes:
o Run the update script with root privileges:
dbnodeupdate.sh --update --patchdir /path/to/patch
3. Verify Compute Node Status:
o Check the version after the update:
Imageinfo
2.2 Update Storage Cells
1. Run Pre-Check on Storage Cells:
o cellcli -e "LIST CELLS"
o cellcli -e "LIST METRICS"
2. Apply the Patch to Storage Cells:
o Use the patchmgr utility to update all storage cells:
o patchmgr -cells cell_group_file -patch /path/to/patch
3. Verify Storage Cell Update:
o cellcli -e "LIST CELL detail"
2.3 Update InfiniBand Switches
1. Backup Current Configuration:
o ibswitches > /path/to/backup/switch_config.txt
2. Apply the Firmware Patch:
o patchmgr -ibswitch /path/to/patch
3. Verify Switch Update:
o Ibswitches
o ibstat
Confidential – Oracle Internal
3. Upgrading Oracle Database
3.1 Prepare for Database Upgrade
1. Check Current Version:
o SELECT * FROM v$version;
2. Run Pre-Upgrade Checks:
o $ORACLE_HOME/rdbms/admin/preupgrd.sql
3. Backup the Database:
o Take a full backup using RMAN or Data Pump export.
3.2 Perform the Database Upgrade
1. Install New Oracle Home:
o Download and install the target Oracle Database version.
2. Upgrade the Database Using DBUA:
o dbua
o Follow the GUI prompts to upgrade the database.
3. Post-Upgrade Steps:
o Run the post-upgrade script:
$ORACLE_HOME/rdbms/admin/utluptst.sql
4. Verify Database Upgrade:
o SELECT * FROM dba_registry;
4. Validating the Update/Upgrade
4.1 System-Level Validation
1. Verify Services:
o srvctl status database -d <dbname>
2. Check Storage Health:
o cellcli -e "LIST GRIDDISK"
3. Monitor Database Performance:
o Generate an AWR report and check for anomalies:
i. @?/rdbms/admin/awrrpt.sql
4.2 Application Testing
1. Conduct application-level testing to ensure connectivity and performance are unaffected.
2. Validate batch jobs, transactions, and reports for accuracy.
5. Post-Upgrade Maintenance
5.1 Update Documentation
o Record new version numbers, configuration changes, and patch details.
5.2 Enable Monitoring
o Ensure Oracle Enterprise Manager (OEM) is monitoring the updated system.
o Set thresholds for key metrics.
5.3 Schedule Regular Updates
o Plan periodic patching using Oracle’s quarterly patch cycle.
o Automate health checks using tools like exachk:
./exachk
6. Troubleshooting Common Issues
1. Storage Cell Update Fails:
a. Check the patch logs in /var/log/cellos/patchmgr.
2. Database Upgrade Fails:
a. Review the upgrade log in $ORACLE_HOME/upgrade/log.
3. InfiniBand Errors:
a. Use ibqueryerrors to identify and resolve InfiniBand connectivity issues.
Confidential – Oracle Internal
Oracle Exadata Installation process
Pre-Installation Requirements
1. Verify Hardware and Software Compatibility:
o Confirm that the Exadata model meets your database workload and storage requirements.
o Obtain necessary licenses for Oracle Database and Exadata features.
2. Plan Network and Storage Configuration:
o Design the IP addressing scheme for management, InfiniBand (IB), and client networks.
o Determine storage requirements and redundancy (e.g., high redundancy or normal redundancy).
3. Prepare Environment:
o Ensure proper power, cooling, and rack space in the data center.
o Establish secure network connectivity between the Exadata system and external clients.
4. Obtain Necessary Files:
o Download Oracle Exadata software, patches, and related tools from the Oracle Support portal.
Installation Process
Step 1: Rack and Hardware Setup
1. Unpack and Rack the Exadata Machine:
o Install the Exadata hardware into the data center rack.
o Connect power and network cables as per Oracle’s hardware installation guide.
2. Power On the Servers:
o Connect to the Integrated Lights Out Manager (ILOM) of each server using a serial console or
management network.
o Use the ILOM command to power on:
start /System
3. Verify Hardware Health:
o Use the ILOM CLI or Oracle Hardware Management Pack to confirm all components are operational:
show /System/health
Step 2: Network Configuration
1. Assign Management IPs:
o Configure IP addresses for the ILOM and management ports.
o Access the ILOM to configure the network settings:
set /SP/network pendingipaddress=<IP>
set /SP/network pendingipnetmask=<Netmask>
set /SP/network pendingipgateway=<Gateway>
set /SP/network commitpending=true
2. Set Up InfiniBand:
o Log in to each compute and storage node and configure the IB switches for interconnect
communication using ibstat:
ibswitches
ibhosts
3. Configure Public and Private Networks:
o Assign public and private IPs to compute nodes for database and storage servers.
Step 3: Install Exadata Storage Server Software
1. Access the Storage Servers:
o Connect to the first storage server via SSH.
2. Run the Configuration Utility:
o Use the dbmcli tool to configure storage:
dbmcli -e "LIST CELLS"
3. Set Up Disk Groups:
o Use Oracle Automatic Storage Management (ASM) to configure the required disk groups:
asmcmd ls
4. Apply Patches:
o Update storage server software with Oracle-supplied patches using the cellcli tool:
cellcli -e "alter cell patch apply '<patch_file>'"
Confidential – Oracle Internal
Step 4: Install Database Servers
1. Access Compute Nodes:
o SSH into the compute node to configure the Oracle Database software.
2. Install Oracle Grid Infrastructure:
o Run the Oracle Grid Infrastructure installer:
./gridSetup.sh
o Follow the prompts to configure Oracle Automatic Storage Management (ASM) and high availability.
3. Install Oracle Database:
o Run the Oracle Database installer:
./runInstaller
o Configure the database as per workload requirements.
Step 5: Configure and Validate Exadata
1. Create and Configure Databases:
o Use the Database Configuration Assistant (DBCA) to create new databases:
dbca
2. Validate Installation:
o Run Exadata validation tools like exachk:
./exachk -v
3. Configure Resource Management:
o Use I/O Resource Manager (IORM) to set up policies:
cellcli -e "alter iormplan <policy_name>"
4. Test the Setup:
o Test database connectivity and performance by running sample workloads.
Step 6: Enable Monitoring and Maintenance
1. Enable Automatic Monitoring:
o Set up Oracle Enterprise Manager to monitor Exadata performance.
2. Schedule Maintenance Tasks:
o Automate backups and patches using tools like RMAN and Oracle Data Guard.
3. Regular Health Checks:
o Periodically run tools like exachk and dcli to ensure system health:
dcli -g dbs_group -l root "df -h"
Post-Installation Checklist
Verify all hardware components are functional.
Ensure databases are operational and meet performance expectations.
Securely store configuration files and backup plans.
Confidential – Oracle Internal
Comandos Más Utilizados en la Administración de Oracle Exadata
1. Comandos para Monitoreo y Verificación
1.1 Monitoreo General
1. Verificar la versión de software en nodos de cómputo:
imageinfo
2. Obtener detalles de hardware y firmware:
lshw
3. Consultar estado de los nodos:
dcli -g /opt/oracle.cellos/host_group -l root uptime
4. Listar las métricas activas en los nodos de almacenamiento:
cellcli -e "LIST METRICS"
5. Verificar el estado del clúster RAC:
crsctl status cluster
6. Validar conectividad de InfiniBand:
ibstat
1.2 Validación de Alertas
1. Listar alertas en nodos de almacenamiento:
cellcli -e "LIST ALERTHISTORY"
2. Verificar el archivo de alertas del nodo de base de datos:
tail -f /u01/app/oracle/diag/rdbms/<db_name>/<db_unique_name>/alert_<SID>.log
3. Ejecutar ExaCheck para validar configuración:
./exachk
2. Comandos de Almacenamiento
2.1 ASM (Automatic Storage Management)
1. Listar los discos ASM:
asmcmd lsdg
2. Consultar el estado de los discos ASM:
asmcmd lsdisks
3. Verificar espacio disponible en los grupos de discos ASM:
asmcmd spc
2.2 Nodos de Almacenamiento
1. Verificar los discos lógicos (griddisks):
cellcli -e "LIST GRIDDISK"
2. Obtener información de los discos físicos:
cellcli -e "LIST PHYSICALDISK"
3. Revisar el estado de los nodos de almacenamiento:
cellcli -e "LIST CELL detail"
4. Verificar el rendimiento de I/O:
cellcli -e "LIST METRICS WHERE name='IOPS'"
3. Comandos de Red y Conectividad
3.1 InfiniBand
1. Revisar estado de los switches InfiniBand:
ibswitches
2. Consultar errores de InfiniBand:
ibqueryerrors
3. Diagnosticar conexiones InfiniBand:
iblinkinfo
4. Comandos para Gestión de Usuarios y Seguridad
4.1 Administración de Usuarios
1. Crear un usuario en la base de datos:
CREATE USER user_name IDENTIFIED BY password;
GRANT CONNECT, RESOURCE TO user_name;
2. Revocar privilegios de un usuario:
Confidential – Oracle Internal
REVOKE CONNECT FROM user_name;
3. Eliminar un usuario:
DROP USER user_name CASCADE;
4.2 Configuración de Seguridad
1. Habilitar cifrado TDE (Transparent Data Encryption):
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "password";
ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY "password";
2. Cifrar una tabla o tablespace:
ALTER TABLESPACE users ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
3. Validar auditoría en la base de datos:
SELECT * FROM dba_audit_trail;
5. Comandos de Respaldo y Recuperación
1. Realizar un respaldo completo con RMAN:
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
2. Validar los respaldos:
RMAN> VALIDATE BACKUP;
3. Restaurar una base de datos desde un respaldo:
RMAN> RESTORE DATABASE;
4. Consultar el catálogo de respaldos:
RMAN> LIST BACKUP;
6. Comandos de Rendimiento y Optimización
6.1 Análisis de Consultas
1. Obtener el plan de ejecución de una consulta:
EXPLAIN PLAN FOR <query>;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
2. Ejecutar el SQL Tuning Advisor:
EXEC DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id => '<SQL_ID>');
6.2 Gestión de Recursos
1. Configurar IORM (I/O Resource Management):
cellcli -e "ALTER IORMPLAN OBJECTIVE='AUTO'";
2. Monitorear el uso de recursos:
cellcli -e "LIST METRICS WHERE name LIKE 'IO%'";
7. Comandos de Actualización y Parches
7.1 Validación Pre-Patch
1. Realizar un pre-check en un nodo de cómputo:
dbnodeupdate.sh --precheck
2. Revisar la compatibilidad de versiones:
cellcli -e "LIST CELL detail"
7.2 Aplicar Parches
1. Actualizar un nodo de cómputo:
dbnodeupdate.sh --update --patchdir /path/to/patch
2. Actualizar nodos de almacenamiento:
patchmgr -cells cell_group_file -patch /path/to/patch
3. Verificar el inventario de parches:
opatch lsinventory
Confidential – Oracle Internal