pro oracle database 12c administration, 2nd edition

746 8.9K 2
pro oracle database 12c administration, 2nd edition

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

www.it-ebooks.info For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.it-ebooks.info v Contents at a Glance About the Author ����������������������������������������������������������������������������������������������������������� xxxiii About the Technical Reviewers �������������������������������������������������������������������������������������� xxxv Acknowledgments �������������������������������������������������������������������������������������������������������� xxxvii Introduction ������������������������������������������������������������������������������������������������������������������� xxxix Chapter 1: Installing the Oracle Binaries ■ ���������������������������������������������������������������������������1 Chapter 2: Implementing a Database ■ ������������������������������������������������������������������������������25 Chapter 3: Configuring an Efficient Environment ■ ������������������������������������������������������������55 Chapter 4: Tablespaces and Data Files ■ ����������������������������������������������������������������������������77 Chapter 5: Managing Control Files, Online Redo Logs, and Archiving ■ �����������������������������99 Chapter 6: Users and Basic Security ■ �����������������������������������������������������������������������������127 Chapter 7: Tables and Constraints ■ ���������������������������������������������������������������������������������153 Chapter 8: Indexes ■ ���������������������������������������������������������������������������������������������������������205 Chapter 9: Views, Synonyms, and Sequences ■ ���������������������������������������������������������������237 Chapter 10: Data Dictionary Fundamentals ■ �������������������������������������������������������������������259 Chapter 11: Large Objects ■ ���������������������������������������������������������������������������������������������277 Chapter 12: Partitioning: Divide and Conquer ■ ���������������������������������������������������������������303 Chapter 13: Data Pump ■ ��������������������������������������������������������������������������������������������������343 Chapter 14: External Tables ■ �������������������������������������������������������������������������������������������387 Chapter 15: Materialized Views ■ �������������������������������������������������������������������������������������403 Chapter 16: User-Managed Backup and Recovery ■ ��������������������������������������������������������451 www.it-ebooks.info ■ Contents at a GlanCe vi Chapter 17: Configuring RMAN ■ ��������������������������������������������������������������������������������������483 Chapter 18: RMAN Backups and Reporting ■ �������������������������������������������������������������������511 Chapter 19: RMAN Restore and Recovery ■ ���������������������������������������������������������������������539 Chapter 20: Oracle Secure Backup ■ ��������������������������������������������������������������������������������585 Chapter 21: Automating Jobs ■ ����������������������������������������������������������������������������������������613 Chapter 22: Database Troubleshooting ■ ��������������������������������������������������������������������������637 Chapter 23: Pluggable Databases ■ ���������������������������������������������������������������������������������667 Index ���������������������������������������������������������������������������������������������������������������������������������699 www.it-ebooks.info xxxix Introduction Many companies, large and small, use Oracle products. At the heart of this technology is an Oracle database. Businesses use the technology to store and manage mission critical data. is information is the basis for making smart business decisions. Companies that eectively transform data into business intelligence quickly gain a competitive edge in the marketplace. Oracle database administrators (DBAs) play a pivotal role in implementing and leveraging Oracle database technology. DBAs add value by ensuring that databases are created in an ecient manner and optimally maintained. DBAs are often queried for architectural advice on features, implementation, data migration, replication, SQL coding, tuning, and so on. DBAs ll the role of the go-to person for anything related to Oracle. e job of an Oracle DBA is frequently complex and challenging. is book focuses on practical examples and techniques for providing a smoothly operating database environment. e content is drawn from years of experience working with Oracle technology. e book shows you from the ground up how a senior DBA manages a multifaceted database environment. I try to focus on demonstrating how to correctly implement features, with scalability and maintainability in mind. I hope you nd the material in this book useful. e goal is to elevate you to a professional level as a DBA. Being a DBA doesn’t have to be constantly painful. e key is to correctly implement the technology the rst time, not paint yourself into a corner with a badly implemented feature, and proactively manage your surroundings. is book doesn’t show you the most complex and sophisticated techniques used in database administration. I try to keep my techniques as simple as possible, yet robust enough to manage any level of chaos and complexity. You should be able to take the concepts elucidated in this book and build on them to help you manage any type of database environment. Who This Book Is For is book is for DBAs who want real-world guidance on how to eciently congure and maintain complex database environments. Whether you are a novice or an expert, this book contains practical examples of how to implement Oracle database technology. is book is for those who want advice from a real DBA on how Oracle database technology is eectively implemented and maintained. How This Book Is Structured e book is divided into several sections, each covering a logical group of database administration topics, as follows: Part 1 concentrates on creating a working environment. is includes installing the Oracle software and creating databases. Part 2 deals with managing critical database les. Topics explored are tablespaces, data les, control les, and online redo log les. Part 3 discusses conguring users and database objects, such as tables, constraints, indexes, views, synonyms, sequences, and so on. www.it-ebooks.info ■ IntroduCtIon xl Part 4 details how to create and maintain large database objects and partitioned tables and indexes. Part 5 shows how DBAs use tools such as Data Pump, external tables, and materialized views to manage and distribute large amounts of data. Part 6 takes a deep dive into backup-and-recovery (B&R) concepts. Both user-managed backups and Oracle Recovery Manager (RMAN) B&R are presented in detail. Part 7 focuses on techniques used to automate database jobs and how to troubleshoot typical problems that DBAs encounter. Part 8 describes how to implement and manage container and pluggable databases. Conventions e following typographical conventions are used in this book: $ is used to denote Linux/Unix commands that can be run by the operating system (OS) owner • of the Oracle binaries (usually named oracle). # is used to denote Linux/Unix commands that should be run as the root OS user.• SQL > is used to denote one-line SQL*Plus statements.• • Monospaced font is used for code examples, utility names, le names, URLs, and directory paths. • Italic is used to highlight a new concept or term. • UPPERCASE indicates names of database objects, such as views, tables, and corresponding column names. < > is used where you need to provide input, such as a le name or password.• Downloading the Code e code for the examples shown in this book is available on the Apress web site (www.apress.com). A link can be found on the book’s information page, under the Source Code/Downloads tab. is tab is located beneath the Related Titles section of the page. Contacting the Author If you have any questions regarding the book, please feel free to contact me directly at the following e-mail address: darl.kuhn@gmail.com. www.it-ebooks.info 1 Chapter 1 Installing the Oracle Binaries Oracle installations can be large, complex, and cumbersome. This is one reason you usually ask an Oracle database administrator (DBA) to install the software. You want someone who has previously performed installations and who knows how to troubleshoot when problems arise. Accordingly, installing the Oracle software (binaries) is a task at which every DBA must be proficient. Tip ■ If you’re fairly new to Oracle, this chapter may seem like an overwhelming way to start a book on database administration. Don’t worry too much about this. If you’re already working in an Oracle environment, chances are that another DBA has probably already installed the Oracle binaries. If you don’t need to install the Oracle binaries, make sure you read the following section, “Understanding the Optimal Flexible Architecture,” and then feel free to proceed to Chapter 2. Many DBAs don’t use techniques for automating installations. Some are unaware of these methods; others perceive them as unreliable. Therefore, most DBAs typically use the graphical mode of the Oracle Universal Installer (OUI). Although the graphical installer is a good tool, it doesn’t lend itself to repeatability and automation. Running the graphical installer is a manual process during which you’re presented with options to choose from on multiple screens. Even if you know which options to select, you may still inadvertently click an undesired choice. The graphical installer can also be problematic when you’re performing remote installations, and the network bandwidth is insufficient. In these situations you can find yourself waiting for dozens of minutes for a screen to repaint itself on your local screen. You need a different technique for efficient installation on remote servers. This chapter focuses on techniques for installing Oracle in an efficient and repeatable manner. This includes silent installations, which rely on a response file. A response file is a text file in which you assign values to variables that govern the installation. DBAs often don’t realize the powerful repeatability and efficiency that can be achieved by using response files. Note ■ This chapter only covers installing the Oracle software. The task of creating a database is covered in Chapter 2. Understanding the OFA Before you install Oracle and start creating databases, you must understand Oracle’s Optimal Flexible Architecture (OFA) standard. This standard is widely employed for specifying consistent directory structures and the file-naming conventions used when installing and creating Oracle databases. www.it-ebooks.info CHAPTER 1 ■ INSTALLING THE ORACLE BINARIES 2 Note ■ One irony of this ubiquitous OFA “standard” is that almost every DBA, in some manner, customizes it to fit the unique requirements of his or her environment. Because most shops implement a form of the OFA standard, understanding this structure is critical. Figure 1-1 shows the directory structure and file names used with the OFA standard. Not all the directories and files found in an Oracle environment appear in this figure (there isn’t enough room). However, the critical and most frequently used directories and files are displayed. oraInst.loc oratab oraset 10g diagnostic info (old databases) Fast Recovery Area (optional FRA) 12c diagnostic info / root directory /etc /home oracle ORACLE_BASE cfgtoollogs diag product 12.1.0 (version) db_1 ORACLE_HOME /u01…/u0N oradata dbname1 app oracle HOME network admin TNS_ADMIN dbs bin binaries: oracle, sqlplus, rman , lsnrctl, expdp, oraenv, checkpoints rdbms dbuname1 instname1 ADR_HOME trace alert_instname1.log oraInventory ContentsXML logs inventory.xml datafiles, online redo logs, controlfiles: tbspNN .dbf, redoNN.log, control.ctl admin alert incident log.xml listener.ora sqlnet .ora tnsnames .ora spfile or init.ora orapw pwd file diagnostic_dest (init parameter) dbname1 adump bdump cdump udump .bash_profile .bashrc .profile installActions<date>.log scripts db_recovery_file_dest (init parameter) dbname1 YYYY_MM_DD control file online redo log backup piece backupset controlfile log_archive_dest_N (init parameter) archivelog archive redo log YYYY_MM_DD onlinelog autobackup YYYY_MM_DD backup piece archive redo log alert_dbname1.log flashback flashback log datafile image copy audit rdbms *.aud admin sql files tnslsnr host lsname alert log.xml /var/opt/oracle (Solaris) oraInst.loc oratab oraset Figure 1-1. Oracle’s OFA standard The OFA standard includes several directories that you should be familiar with: Oracle inventory directory• Oracle base directory (• ORACLE_BASE) Oracle home directory (• ORACLE_HOME) Oracle network files directory (• TNS_ADMIN) Automatic Diagnostic Repository (• ADR_HOME) These directories are discussed in the following sections. www.it-ebooks.info CHAPTER 1 ■ INSTALLING THE ORACLE BINARIES 3 Oracle Inventory Directory The Oracle inventory directory stores the inventory of Oracle software installed on the server. This directory is required and is shared among all installations of Oracle software on a server. When you first install Oracle, the installer checks to see whether there is an existing OFA-compliant directory structure in the format /u[01–09]/app. If such a directory exists, then the installer creates an Oracle inventory directory, such as /u01/app/oraInventory If the ORACLE_BASE variable is defined for the oracle operating system (OS) user, then the installer creates a directory for the location of Oracle inventory, as follows: ORACLE_BASE/ /oraInventory For example, if ORACLE_BASE is defined as /ora01/app/oracle, then the installer defines the location of Oracle inventory as /ora01/app/oraInventory If the installer doesn’t find a recognizable OFA-compliant directory structure or an ORACLE_BASE variable, then the location for Oracle inventory is created under the HOME directory of the oracle user. For instance, if the HOME directory is /home/oracle, then the location of Oracle inventory is /home/oracle/oraInventory Oracle Base Directory The Oracle base directory is the topmost directory for Oracle software installation. You can install one or more versions of the Oracle software beneath this directory. The OFA standard for the Oracle base directory is as follows: /<mount_point>/app/<software_owner> Typical names for the mount point include /u01, /ora01, /oracle, and /oracle01. You can name the mount point according to whatever your standard is for your environment. I prefer to use a mount-point name such as /ora01. It’s short, and when I look at the mount points on a database server, I can immediately tell which are used for the Oracle database. Also, a short mount-point name is easier to use when you’re querying the data dictionary to report on the physical aspects of your database. Additionally, a shorter mount-point name makes for less typing when you’re navigating through directories via OS commands. The software owner is typically named oracle. This is the OS user you use to install the Oracle software (binaries). Listed next is an example of a fully formed Oracle base directory path: /u01/app/oracle Oracle Home Directory The Oracle home directory defines the installation location of software for a particular product, such as Oracle Database 12c or Oracle Database 11g. You must install different products or different releases of a product in separate Oracle homes. The recommended OFA-compliant Oracle home directory is as follows: ORACLE_BASE/product/<version>/<install_name> www.it-ebooks.info CHAPTER 1 ■ INSTALLING THE ORACLE BINARIES 4 In the previous line of code, possible versions include 12.1.0.1 and 11.2.0.3. Possible install_name values include db_1, devdb1, test2, and prod1. Here is an example of an Oracle home name for a 12.1 database: /u01/app/oracle/product/12.1.0.1/db_1 Note ■ Some DBAs dislike the db_1 string on the end of the ORACLE_HOME directory and see no need for it. The reason for the db_1 is that you may have two separate installations of binaries: a development installation and a test installation. If you don’t require that configuration in your environment, feel free to drop the extra string (db_1). Oracle Network Files Directory Some Oracle utilities use the value TNS_ADMIN to locate network configuration files. This directory is defined as ORACLE_HOME/network/admin. It typically contains the tnsnames.ora and listener.ora Oracle Net files. Tip ■ Sometimes DBAs will set TNS_ADMIN to point at one central directory location (such as /etc or /var/opt/oracle). This allows them to maintain one set of Oracle network files (instead of one for each ORACLE_HOME). This approach also has the advantage of not requiring the copying or moving of files when a database upgrade occurs, potentially changing the location of ORACLE_HOME. Automatic Diagnostic Repository Starting with Oracle Database 11g, the ADR_HOME directory specifies the location of the diagnostic files related to Oracle. These files are crucial for troubleshooting problems with the Oracle database. This directory is defined as ORACLE_BASE/diag/rdbms/lower(db_unique_name)/instance_name. You can query the V$PARAMETER view to get the values of db_unique_name and instance_name. For example, in the next line, the lowercase database unique name is o12c, and the instance name is O12C: /u01/app/oracle/diag/rdbms/o12c/O12C You can verify the location of the ADR_HOME directory via this query: SQL> select value from v$diag_info where name='ADR Home'; Here is some sample output: VALUE /u01/app/oracle/diag/rdbms/o12c/O12C Now that you understand the OFA standard, you’ll next see how it’s used when installing the Oracle binaries. For instance, you’ll need to specify directory values for the ORACLE_BASE and ORACLE_HOME directories when running the Oracle installer. www.it-ebooks.info [...]... oracle. install.responseFileVersion= /oracle/ install/rspfmt_dbinstall_response_schema_v12.1.0 oracle. install.option=INSTALL_DB_SWONLY ORACLE_ HOSTNAME=oraserv1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home /oracle/ orainst/12.1.0.1 /database/ stage/products.xml SELECTED_LANGUAGES=en ORACLE_ HOME=/u01/app /oracle/ product/12.1.0.1/db_1 ORACLE_ BASE=/u01/app /oracle oracle.install.db.InstallEdition=EE oracle. install.db.DBA_GROUP=dba oracle. install.db.OPER_GROUP=oper oracle. install.db.BACKUPDBA_GROUP=dba... appropriate directory, and unzip them there:   $ mv linux _12c _database_ 1of2.zip /home /oracle/ orainst/12.1.0.1 $ mv linux _12c _database_ 2of2.zip /home /oracle/ orainst/12.1.0.1   Use the unzip command for unbundling zipped files The Oracle Database 11g Release 2 software is unzipped, as shown:   $ unzip linux_12cR1 _database_ 1of2.zip $ unzip linux_12cR1 _database_ 2of2.zip ■■Tip  On some installations of Oracle, ... INVENTORY_LOCATION=/ora01/orainst/11.2.0.1 /database/ stage/products.xml SELECTED_LANGUAGES=en ORACLE_ HOME= /oracle/ app /oracle/ product/11.2.0/db_1 ORACLE_ BASE= /oracle/ app /oracle DECLINE_SECURITY_UPDATES=true oracle. install.db.InstallEdition=EE oracle. install.db.isCustomInstall=true   Be sure to modify the appropriate parameters for your environment If you’re unsure what to set the ORACLE_ HOME and ORACLE_ BASE values to, see the section “Understanding the... Implementing a Database fi # export ORACLE_ SID=$HOLD_SID export ORACLE_ HOME=$(egrep -v '#|\*' $OTAB|grep -w $ORACLE_ SID:|cut -f2 -d:) export ORACLE_ BASE=$ {ORACLE_ HOME%%/product*} export TNS_ADMIN= $ORACLE_ HOME/network/admin export ADR_BASE= $ORACLE_ BASE/diag export PATH= $ORACLE_ HOME/bin:/usr/ccs/bin:/opt/SENSsshc/bin/\ :/bin:/usr/bin:.:/var/opt /oracle: /usr/sbin export LD_LIBRARY_PATH=/usr/lib: $ORACLE_ HOME/lib... You’re prompted for ORACLE_ SID and ORACLE_ HOME values: ORACLE_ SID = [oracle] ? ORACLE_ HOME = [/home /oracle] ? You can also run the oraenv utility in a noninteractive way by setting OS variables before you run it This is useful for scripting when you don’t want to be prompted for input: $ export ORACLE_ SID=o12c $ export ORAENV_ASK=NO $ oraenv 27 www.it-ebooks.info Chapter 2 ■ Implementing a Database. .. with a pound sign (#) Here is a typical oratab file entry: o12c:/u01/app /oracle/ product/12.1.0.1/db_1:N rcat:/u01/app /oracle/ product/12.1.0.1/db_1:N The names of the databases on the previous lines are o12c and rcat The path of each database s Oracle home directory is next on the line (separated from the database name by a colon [:]) Several Oracle- supplied utilities use the oratab file: • oraenv uses... critical as a DBA to be an expert in Oracle installation procedures If the Oracle installation software isn’t correctly installed, you won’t be able to successfully create a database Once you have properly installed Oracle, you can go on to the next step of starting the background processes and creating a database The topics of starting Oracle and issuing and creating a database are discussed next, in Chapter... This process involves several steps: 1 Create the appropriate OS groups In Oracle Database 12c there are several OS groups that you can form and use to manage the level of granularity of SYSDBA permissions Minimally, you’ll need to create an OS dba group and the OS oracle user 2 Ensure that the OS is configured adequately for an Oracle database 3 Obtain the database installation software from Oracle. .. permissions of some of the Oracle executables (such as the nmo executable) Some v ­ ersions of root.sh prompt you as to whether you want to accept the default values Usually, it’s suitable to do so Oracle Database 12c Release 1 Scenario Navigate to the database directory, and issue the find command to locate sample response files Here are the response files provided with an Oracle Database 12c Release 1 on a...   oracle. install.responseFileVersion= /oracle/ install/rspfmt_dbinstall_response_schema_v11_2_0 oracle. install.option=INSTALL_DB_SWONLY 10 www.it-ebooks.info Chapter 1 ■ Installing the Oracle Binaries ORACLE_ HOSTNAME=ora03 UNIX_GROUP_NAME=dba oracle. install.db.DBA_GROUP=dba oracle. install.db.OPER_GROUP=dba INVENTORY_LOCATION=/ora01/orainst/11.2.0.1 /database/ stage/products.xml SELECTED_LANGUAGES=en ORACLE_ HOME= /oracle/ app /oracle/ product/11.2.0/db_1 . oracle. install.responseFileVersion= /oracle/ install/rspfmt_dbinstall_response_schema_v12.1.0 oracle. install.option=INSTALL_DB_SWONLY ORACLE_ HOSTNAME=oraserv1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/home /oracle/ orainst/12.1.0.1 /database/ stage/products.xml SELECTED_LANGUAGES=en ORACLE_ HOME=/u01/app /oracle/ product/12.1.0.1/db_1 ORACLE_ BASE=/u01/app /oracle oracle.install.db.InstallEdition=EE oracle. install.db.DBA_GROUP=dba oracle. install.db.OPER_GROUP=oper oracle. install.db.BACKUPDBA_GROUP=dba oracle. install.db.DGDBA_GROUP=dba oracle. install.db.KMDBA_GROUP=dba DECLINE_SECURITY_UPDATES=true . BINARIES 11 ORACLE_ HOSTNAME=ora03 UNIX_GROUP_NAME=dba oracle. install.db.DBA_GROUP=dba oracle. install.db.OPER_GROUP=dba INVENTORY_LOCATION=/ora01/orainst/11.2.0.1 /database/ stage/products.xml SELECTED_LANGUAGES=en ORACLE_ HOME= /oracle/ app /oracle/ product/11.2.0/db_1 ORACLE_ BASE= /oracle/ app /oracle DECLINE_SECURITY_UPDATES=true oracle. install.db.InstallEdition=EE oracle. install.db.isCustomInstall=true . product, such as Oracle Database 12c or Oracle Database 11g. You must install different products or different releases of a product in separate Oracle homes. The recommended OFA-compliant Oracle

Ngày đăng: 28/04/2014, 16:47

Từ khóa liên quan

Mục lục

  • Pro Oracle Database 12c Administration

    • Contents at a Glance

    • Contents

    • About the Author

    • About the Technical Reviewers

    • Acknowledgments

    • Introduction

    • Chapter 1: Installing the Oracle Binaries

      • Understanding the OFA

        • Oracle Inventory Directory

        • Oracle Base Directory

        • Oracle Home Directory

        • Oracle Network Files Directory

        • Automatic Diagnostic Repository

        • Installing Oracle

          • Step 1. Create the OS Groups and User

          • Step 2. Ensure That the OS Is Adequately Configured

          • Step 3. Obtain the Oracle Installation Software

          • Step 4. Unzip the Files

          • Step 5: Creating oraInst.loc File

          • Step 6. Configure the Response File, and Run the Installer

            • Oracle Database 11g Release 2 Scenario

            • Oracle Database 12c Release 1 Scenario

            • Step 7. Troubleshoot Any Issues

            • Installing with a Copy of an Existing Installation

              • Step 1. Copy the Binaries, Using an OS Utility

Tài liệu cùng người dùng

Tài liệu liên quan