Tutorial HK: Configuring Oracle on Linux For Peak Performance Roger Schrag Database Specialists, Inc. www.dbspecialists.com LinuxWorld Conference & Expo.

Slides:



Advertisements
Similar presentations
Get Oracle 8i Running on Your Linux Server Straight Away! Roger Schrag Database Specialists, Inc. Oracle Open World 2000 Paper #276.
Advertisements

CHAPTER 4 Tablespaces and Datafiles. Introduction After installing the binaries, creating a database, and configuring your environment, the next logical.
ITEC474 INTRODUCTION.
2 Copyright © 2005, Oracle. All rights reserved. Installing the Oracle Database Software.
Acknowledgments Byron Bush, Scott S. Hilpert and Lee, JeongKyu
Overview of Database Administrator (DBA) Tools
Oracle9i Database Administrator: Implementation and Administration 1 Chapter 2 Overview of Database Administrator (DBA) Tools.
Oracle Architecture. Instances and Databases (1/2)
Page Footer Keed Education Oracle Database Administration Basic Copyright 2009 Keed Education BV Version Concept.
INTRODUCTION TO ORACLE DATABASE ADMINISTRATION Lynnwood Brown System Managers LLC Introduction – Lecture 1 Copyright System Managers LLC 2007 all rights.
INTRODUCTION TO ORACLE Lynnwood Brown System Managers LLC Installation – Lecture 2 Copyright System Managers LLC 2007 all rights reserved.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
File Management Systems
Oracle Database Administration
Oracle Database Administration
1 - Oracle Server Architecture Overview
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Harvard University Oracle Database Administration Session 2 System Level.
Harvard University Oracle Database Administration Session 5 Data Storage.
Advanced Databases Basic Database Administration Guide to Oracle 10g 1.
2 Copyright © 2009, Oracle. All rights reserved. Installing your Oracle Software.
A Guide to Oracle9i1 Introduction to Oracle9i Database Administration Chapter 11.
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
1 Copyright © 2009, Oracle. All rights reserved. Exploring the Oracle Database Architecture.
Oracle Database Administration
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Managing the Oracle RDBMS Today you will look at the basics, including: –Setting up Enterprise Manager –Using Enterprise Manager –Using Server Manager.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
M ODULE 2 D ATABASE I NSTALLATION AND C ONFIGURATION Section 1: DBMS Installation 1 ITEC 450 Fall 2012.
CHAPTER 2 Implementing a Database. Introduction to Creating Databases After you’ve installed the Oracle software, the next logical step is to create a.
Chapter Oracle Server An Oracle Server consists of an Oracle database (stored data, control and log files.) The Server will support SQL to define.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
■ Decide on the local database name, and which domain will contain this database. These names are set in the initialization parameters DB_NAME and DB_DOMAIN.
1Introduction Objectives 1-2 Course Objectives 1-3 Oracle Products 1-4 Relational Database Systems 1-5 How the Data Is Organized 1-6 Integrity Constraints.
CSE 781 – DATABASE MANAGEMENT SYSTEMS Introduction To Oracle 10g Rajika Tandon.
7202ICT Database Administration Lecture 7 Managing Database Storage Part 2 Orale Concept Manuel Chapter 3 & 4.
ORACLE
The protection of the DB against intentional or unintentional threats using computer-based or non- computer-based controls. Database Security – Part 2.
Oracle Tuning Ashok Kapur Hawkeye Technology, Inc.
An Oracle server:  Is a database management system that provides an open, comprehensive, integrated approach to information management.  Consists.
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
A Guide to Oracle9i1 Database Instance startup and shutdown.
Anton TopurovIT-DB 23 April 2013 Introduction to Oracle2.
Oracle9i Performance Tuning Chapter 12 Tuning Tools.
Database structure and space Management. Database Structure An ORACLE database has both a physical and logical structure. By separating physical and logical.
Introduction to Oracle. Oracle History 1979 Oracle Release client/server relational database 1989 Oracle Oracle 8 (object relational) 1999.
Process Architecture Process Architecture - A portion of a program that can run independently of and concurrently with other portions of the program. Some.
14 Copyright © 2005, Oracle. All rights reserved. Backup and Recovery Concepts.
44 Creating a Database. 4-2 Objectives Preparing the operating system Preparing the parameter file Creating the database Preparing the operating system.
INTRODUCTION TO ORACLE DATABASE ADMINISTRATION Lynnwood Brown President System Managers LLC Introduction – Lecture 1 Copyright System Managers LLC 2003.
Oracle 10g Database Administrator: Implementation and Administration Chapter 5 Basic Storage Concepts and Settings.
Week 2 Lecture 1 Creating an Oracle Instance. Learning Objectives  Learn the steps for creating a database  Understand the prerequisites for creating.
Chapter 1Oracle9i DBA II: Backup/Recovery and Network Administration 1 Chapter 1 Backup and Recovery Overview MSCD642 Backup and Recovery.
Introduction to Active Directory
Oracle Architecture - Structure. Oracle Architecture - Structure The Oracle Server architecture 1. Structures are well-defined objects that store the.
14 Copyright © 2005, Oracle. All rights reserved. Backup and Recovery Concepts.
I NTRODUCTION OF W EEK 2  Assignment Discussion  Due this week:  1-1 (Exam Proctor): everyone including in TLC  1-2 (SQL Review): review SQL  Review.
14 Copyright © 2007, Oracle. All rights reserved. Backup and Recovery Concepts.
9 Copyright © 2004, Oracle. All rights reserved. Getting Started with Oracle Migration Workbench.
Oracle Database Architectural Components
Oracle 10g Administration Database Architecture, Creation and Interfaces Copyright ©2006, Custom Training Institute.
Unit 2 Preparing the Database Environment.
Creating an Oracle Database
Get Oracle 8i Running on Your Linux Server Straight Away!
Introduction of Week 3 Assignment Discussion
Oracle Architecture Overview
Index Index.
Database administration
Presentation transcript:

Tutorial HK: Configuring Oracle on Linux For Peak Performance Roger Schrag Database Specialists, Inc. LinuxWorld Conference & Expo August 10, 1999

Today’s Presentation Introduction to Oracle technology Installing Oracle Managing your database Optimizing your database Where to get more information

About The Author 10+ years experience with Oracle technology Lots of Oracle DBA experience on Unix platforms Mostly e-business and ERP systems Presenter at Oracle user groups and conferences Author of various white papers Linux believer

Today’s Goals Get a basic understanding of “How Oracle Works” Learn the proper way to install Oracle Gain access to accurate information

Oracle Quick Start Learn basic Oracle concepts Install Oracle software Create a default database Make the default database usable Create application schema Develop application Big picture issues (backups, capacity planning…)

An Introduction to Oracle Technology Platform independence Database terminology Important files Oracle process architecture Environment variables Optimal flexible architecture Interacting with a database

Platform Independence Abstraction of platform-specific issues Generic and platform-specific documentation Oracle skills transfer well from one platform to another

Database Terminology Key fundamentals Learn them correctly Many “Oracle-isms” Terminology

DBA Stands for “database administrator” Involved in logical design of a database Performs the physical design and implementation Assists developers with difficult database issues Responsible for ensuring good performance, proper security, as well as backup and recovery strategies Terminology

Database A collection of operating system files that make up one physical data store or node Many different types of data, each with its own attributes, can be stored in one database Terminology

Database Name Every Oracle database has a name Eight characters or less Default global domain name is “.WORLD” Best to give each database a unique name and use one common domain Terminology

Instance A set of operating system processes and shared memory structures which allow an application to access data in a database Terminology

Instance Name Also known as SID (System Identifier) Applications identify which instance they wish to access by name The convention is to give an instance the same name as the database it accesses Terminology

Stands for System Global Area A collection of shared memory structures created by an Oracle instance Each process of the instance attaches itself to the SGA upon startup SGA Terminology

Starting the Database Opening a database so that applications may access it Done by starting up an instance and mounting it to the database Terminology

Net8 or SQL*NET Networking infrastructure that allows applications to access databases on remote servers Was called SQL*Net before Oracle8 Renamed to Net8 Terminology

Client/Server Oracle internally uses a client/server architecture The application accessing Oracle is seen as the client, the Oracle server process is a server Terminology

Username Each user in an Oracle database has a unique name up to 30 characters in length Separate usernames in the database do not need to map to separate real-life users Terminology

Schema A separate namespace for database objects such as tables, indexes and stored procedures Every database object resides in one schema Each database user has one schema with the same name as their username Username = schema Terminology

Data Dictionary Repository of information indicating all of the users defined in the database and all of the objects they own A set of database tables with names like user$ and tab$ Terminology

SYS and SYSTEM SYS user owns all of the internal structures that make up the data dictionary for the database SYS user has all privileges on the database SYSTEM user has DBA privileges also Terminology

Control Files, Data Files, Redo Logs and Parameter Files The physical files that make up an Oracle database Terminology

Tablespace A named collection of one or more physical files used for storing database objects Mask certain implementation details from application developers Terminology

Extent One contiguous chunk of physical storage within a tablespace Can range in size from 2 Kb to 2 Gb, but must be contiguous Terminology

Segment A collection of extents that belong to one object Physical storage used to hold the data for an object Most hold the contents of a table or index, but there are other types of segments as well Terminology

Rollback Segment Stores “undo” information for a transaction that is still in progress Allows Oracle to back out the transaction if the application requests a rollback Enables one session to update data while another is querying the same data Terminology

Temporary Segment Holds a partial result set when too much data is involved to complete the operation in memory Commonly used when sorting data for ordering, grouping, or building an index Terminology

Identifier Most are limited to 30 bytes in length and are case-insensitive Unless quoted, identifiers must start with a letter and may include letters, digits and certain special characters like _, $, and # Terminology

The Files That Control an Oracle Instance Parameter file Password file

The Files That Make Up a Database Control files Data files Online redo logs Archived redo logs

The Oracle Process Architecture Database Instance Net8 Applications

The Oracle Instance Shared global area (SGA) Daemon processes Server processes

Oracle Daemons

Oracle Process Architecture

Making an Oracle Database Available 1. Start an instance 2. Mount the database 3. Open the database

Accessing a Local Database 1. Application forks an Oracle server process 2. Environment variable indicates which local database to access 3. setuid bit allows server process to attach to SGA, read data files 4. Application communicates with server process via IPC

Accessing a Remote Database 1. Net8 client resolves alias to hostname, port, and instance name (in the case of TCP/IP protocol; other protocols supported) 2. Net8 client sends a request to the Net8 listener on the database server 3. Net8 listener on database server forks an Oracle server process 4. Application communicates with server process using any supported protocol

Environment Variables ORACLE_HOME LD_LIBRARY_PATH PATH ORACLE_SID TWO_TASK NLS_LANG ORA_NLS33 ORACLE_BASE DBA

$ORACLE_HOME Location of Oracle software installation For example: /u01/app/oracle/product/8.0.5 Always required

$LD_LIBRARY_PATH Location of Oracle shared libraries Must include $ORACLE_HOME/lib For example: /u01/app/oracle/product/8.0.5/lib Always required

$PATH Location of Oracle executables Must include $ORACLE_HOME/bin For example: /u01/app/oracle/product/8.0.5/bin Always required

$ORACLE_SID Name of local Oracle instance to access For example: MYDB Overridden if application specifies Net8 alias or if $TWO_TASK is set Required if application does not specify Net8 alias and $TWO_TASK is not set

$TWO_TASK Net8 alias for local or remote Oracle instance to access For example: MYDB Overridden if application specifies Net8 alias explicitly Optional

$NLS_LANG Language and character set of client application Format is language_territory.CHARSETNAME For example: american_america.US7ASCII See platform-specific installation guide for a list of supported settings Required when default character set is not being used

$ORA_NLS33 Location of Oracle client NLS character set data Typically $ORACLE_HOME/ocommon/nls/admin/data For example: /u01/app/oracle/product/8.0.5/ocommon/nls/admin/data Required when default character set is not being used

$ORACLE_BASE Location of OFA directory structure For example: /u01/app/oracle An optional convenience

$DBA Location of instance-related administrative files For example: /u01/app/oracle/admin An optional convenience

Optimal Flexible Architecture A set of best practices for installing Oracle Developed by Oracle Consulting and refined over the years Observed reasonably well by the Oracle Installer See platform-specific administrator’s reference for complete OFA specification

OFA Guidelines Assigning and naming mount points Directory hierarchies Naming conventions for all files Naming conventions for tablespaces Policies for assigning segments to tablespaces

OFA Benefits A standardized methodology A good naming convention Files organized in an easy-to-find manner Support for multiple databases or Oracle releases on one server Separation of Oracle software and database files Ability to distribute I/O across many physical devices

Key Directories in an OFA-Compliant Installation $ORACLE_BASE $ORACLE_BASE/product/ $ORACLE_BASE/admin/$ORACLE_SID –pfile –bdump –cdump –udump –create /oradata/

Accessing an Oracle Database (as a DBA) SQL*Plus Server Manager Enterprise Manager

Installing Oracle Prepare the server Install the Oracle software Create a database Complete the server configuration

Our Installation Environment Oracle Standard Edition Red Hat Linux 5.2 You are welcome to use other versions of Oracle or other distributions of Linux, but you may need to deviate from these steps

Oracle 8i Just became available in late July Installs very differently than Oracle Released too late to include in this presentation

Prepare the Server 1. Meet the software requirements 2. Meet the hardware requirements 3. Meet the kernel parameter requirements 4. Create a Linux group for DBAs 5. Create a software owner Linux account 6. Create mount points 7. Choose a local bin directory

Prepare the Server (continued) 8. Mount the CD ROM 9. Create the /etc/oratab file

Install the Oracle Software 1. Edit software owner’s login script 2. Log out and back in to set environment 3. Verify that TCP/IP is working 4. Ensure there is enough storage space available

Install the Oracle Software (continued) 5. Run the Oracle Installer to install software a. Choose a custom install b. Choose to install software without creating a database c. Choose a language for database messages d. Choose the products to install e. Choose the DBA and osoper groups

Install the Oracle Software (continued) 6. Add enhancements to the oraenv script 7. Add enhancements to the dbshut script 8. Perform certain steps as the root user 9. Double check file permissions

Create a Database 1. Choose a database block size 2. Tweak an Installer script to get the desired block size

Create a Database (continued) 3. Run the Oracle Installer to create a database a. Choose a custom install b. Choose to create database objects c. Choose relevant products for database creation d. Choose to create a filesystem-based database e. Specify the mount point for the database f. Choose the character sets for the database g. Choose database passwords h. Choose whether to load SQL*Plus help and demo

Create a Database (continued) 4.Configure the Net8 listener 5. Prepare a tnsnames.ora file 6. Improve the parameter file 7. Relocate data files and redo logs to balance I/O 8. Configure the temporary tablespace 9. Configure rollback segments 10.Create application tablespaces 11.Create application schemas and roles

Complete the Server Configuration 1. Update the /etc/oratab file 2. Remove hardcoding from software owner’s login script 3. Create separate Linux accounts for database users 4. Configure automatic database start on server reboot

Managing Your Database Starting and stopping Connectivity and troubleshooting Schemas and users Tablespaces and segments Fault tolerance and backups

Opening and Closing a Database Invoking Server Manager Authentication STARTUP SHUTDOWN

Starting and Stopping the Net8 Listener Invoking the listener control tool START STOP RELOAD

Logs and Trace Files Instance alert log Trace files for daemons Trace files for server processes Net8 logs

Net8 Connectivity Problems TNS: could not resolve service name TNS: unable to connect to destination TNS: no listener ORACLE not available TNS: listener could not resolve SID given in connect descriptor

Schemas and Users Application owner schemas –Contain application schema objects –Not used by end users Individual Oracle users –Database authenticates end users –Synonyms reference application objects –Privileges to access application objects –Commonly used in client/server systems

Schemas and Users (continued) Generic Oracle users –Application authenticates end users –Synonyms reference application objects –Privileges to access application objects –Commonly used in web-based systems

Tablespace Functions

Assigning Application Segments to Tablespaces Use separate tablespaces for each application Place tables and indexes in separate tablespaces Separate segments that grow or shrink rapidly from more static ones Separate segments that are created and dropped frequently from longer lived ones Give large segments their own tablespace

Segment Storage Parameters

Choosing Storage Parameters For Segments to Maximize Performance and Minimize Fragmentation Set the default storage clause for each tablespace as follows: INITIAL128k, 4m, or 128m NEXTSame as INITIAL MINEXTENTS1 MAXEXTENTS1024 PCTINCREASE0

Choosing Storage Parameters For Segments to Maximize Performance and Minimize Fragmentation (continued) When creating segments, assign them to a tablespace but do note specify storage parameters Optimizing storage parameters was much more complicated with earlier versions of Oracle, but starting with Oracle 7.3 this task became greatly simplified.

Make Your Database Fault Tolerant Store multiple control files on separate devices Store multiple members of each online redo log group on separate devices Store data files on RAID filesystems Eliminate single points of failure wherever possible.

Backing Up an Oracle Database Export Cold Backups Hot Backups Recovery Manager

Optimizing Your Database Tuning applications Sizing the SGA Balancing I/O Tuning sorts Configuring rollback segments

Tuning Database Applications Use bind variables to reduce parsing Tune queries so Oracle can run them efficiently –Use tools like EXPLAIN PLAN and TKPROF –Look inside the SGA while application is running Tune application logic to make the most of SQL and PL/SQL Application tuning usually gives the biggest bang for the buck when optimizing Oracle systems. Reducing running time from 18 hours to ten minutes by changing one line of code is not uncommon.

Sizing the SGA Size the buffer cache –Set the db_block_buffers parameter –Query v$sysstat to check hit ratio –Consider checking extended LRU statistics Size the shared SQL area –Set the shared_pool_size_parameter –Consider use of bind variables and PL/SQL when sizing Maximize cache hit ratios while keeping the entire SGA in physical memory at all times.

Balancing I/O Assign segments to tablespaces carefully Distribute data files across physical devices Query v$filestat to check I/O counts Adjust file placement as needed

Tuning Sorts Set sort_area_size parameter Assign all users a temporary tablespace Set content type of temporary tablespace to TEMPORARY Set storage parameters on temporary tablespace

Configuring Rollback Segments Lots of small segments for OLTP A few large segments for batch Usually, need to mix the two

Where To Get More Information Oracle documentation Other publications Oracle Technology Network Oracle user groups Free web resources

Slide Show and Tutorial Are Available in Soft Copy Visit for this presentation

Contact Information Roger Schrag Database Specialists, Inc. 388 Market Street, Suite 400 San Francisco, CA