Tải bản đầy đủ (.pdf) (10 trang)

Oracle Database Administration for Microsoft SQL Server DBAs part 2 pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (158.15 KB, 10 trang )

3 Oracle Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Windows Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Useful Linux/Unix Commands . . . . . . . . . . . . . . . . . . . . . . 48
Linux Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Storage Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Disk Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Storage Management with ASM . . . . . . . . . . . . . . . . . . . . . 57
Oracle Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Oracle Database Components . . . . . . . . . . . . . . . . . . . . . . 63
Oracle Software Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Using a Response File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Removing Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Upgrading the Database . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Applying Patches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4 Database Definitions and Setup . . . . . . . . . . . . . . . . . . . . . . . . . 73
Servers, Databases, Instances, and Schemas . . . . . . . . . . . . . . . . 74
SQL Server Setup Versus Oracle Setup . . . . . . . . . . . . . . . . . . . . 77
Creating Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Using the DBCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Duplicating Databases with Templates and Scripts . . . . . . 83
Creating the Listener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Choosing a Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Permissions for the Server . . . . . . . . . . . . . . . . . . . . . . . . . 95
Permissions for Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . 98
DBA Roles and Responsibilities Revisited . . . . . . . . . . . . . 101
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5 DBA Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Overview of Tools for Typical Database Tasks . . . . . . . . . . . . . . . 104


Oracle Enterprise Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
OEM Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Storage Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Database Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Oracle Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Statistics and Resource Management . . . . . . . . . . . . . . . . . 109
vi
Oracle Database Administration for Microsoft SQL Server DBAs
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Enterprise Manager Configuration . . . . . . . . . . . . . . . . . . . 111
SQL*Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
SQL Developer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Client Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Client Connection Configuration . . . . . . . . . . . . . . . . . . . . 120
JDBC Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
My Oracle Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6 Database Backup, Restore, and Recovery . . . . . . . . . . . . . . . . . . 127
Backing Up Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Backup Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Backup and Restore Commands . . . . . . . . . . . . . . . . . . . . 129
RMAN Configuration for Backups . . . . . . . . . . . . . . . . . . . 131
Backup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Backup Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
OEM Backup Jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Restoring and Recovering Databases . . . . . . . . . . . . . . . . . . . . . . 141
What Can Go Wrong? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Restore and Recover Options . . . . . . . . . . . . . . . . . . . . . . . 143
Data Recovery Advisor . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Copying the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Managing Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Viewing Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Purging Obsolete Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Backing Up and Restoring Objects . . . . . . . . . . . . . . . . . . . . . . . 156
Copying Objects at the Table and Schema Level . . . . . . . 156
Using Data Pump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Protecting Users from Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Recycle Bin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Flashback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
7 Database Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Maintenance Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Consistency Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Health Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Contents
vii
viii
Oracle Database Administration for Microsoft SQL Server DBAs
Update Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
System Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Object Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Object Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Index Rebuild . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Table Reorganization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Invalid Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Grants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Synonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
Job Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Creating a Job in Oracle Scheduler . . . . . . . . . . . . . . . . . . 191

Using DBMS_SCHEDULER . . . . . . . . . . . . . . . . . . . . . . . . 194
Setting Up System and User Jobs . . . . . . . . . . . . . . . . . . . . 196
File Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Shrinking and Resizing Files . . . . . . . . . . . . . . . . . . . . . . . 197
Tablespace Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Error Logs, Alert Logs, and Trace Files . . . . . . . . . . . . . . . . 203
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
8 Performance and Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Better-Performing Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Index Monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Index Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Current Activity Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Current Sessions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Activity Monitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Waits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
SQL Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Viewing Explain Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Tuning Using Explain Plans . . . . . . . . . . . . . . . . . . . . . . . . 228
Automatic Workload Repository . . . . . . . . . . . . . . . . . . . . . . . . . 233
AWR Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Active Session History View . . . . . . . . . . . . . . . . . . . . . . . 236
Library Cache for SQL Statements . . . . . . . . . . . . . . . . . . . 236
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
9 PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Database Coding Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Packages and Package Bodies . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Contents
ix

Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Updates and Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Beginning a Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Defining Commits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Cursor Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Processing with FORALL . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Debugging Procedures and Unit Testing . . . . . . . . . . . . . . . . . . . 262
Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Error Handling Packages . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Standard Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Using DBMS Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10 High-Availability Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Options for High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Clustering with RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Configuring RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Testing RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Setting Up Client Failover . . . . . . . . . . . . . . . . . . . . . . . . . 283
Setting Up RAC Listeners . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Patching RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Deploying RAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Configuring and Monitoring RAC Instances . . . . . . . . . . . . 287
Primary and Standby Databases . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Using Active Standby Databases . . . . . . . . . . . . . . . . . . . . 290
Setting Up a Standby Database . . . . . . . . . . . . . . . . . . . . . 292
ASM in an RAC Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Managing ASM Disk Groups . . . . . . . . . . . . . . . . . . . . . . . 297
Viewing ASM Information . . . . . . . . . . . . . . . . . . . . . . . . . 302

Streams and Advanced Replication . . . . . . . . . . . . . . . . . . . . . . . 304
Oracle Streams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Advanced Replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
This page intentionally left blank
Acknowledgments
It is because I have been able to share this experience with my family,
friends, and coworkers that I have felt such a sense of accomplishment in
completing this book. I truly would like to thank all of them, and I am glad
that they share in different aspects of my life.
Thanks to my junior DBAs, Emily and Mandy, who have also heard what
an Oracle SGA is as I have read some pages to them for bedtime stories.
Thanks for listening to me even without understanding, and now we can
get back to other bedtime stories. Thanks to my husband, Bernd, for his
understanding as I pursue new challenges.
Thanks to my technical editor, Kim Floss, for reviewing and making the
book even better. Thanks to my sister, Carrie Steyer, for being available as
a sounding board for some of my ideas.
Thanks to the awesome DBA team at DRW, which I am proud to be a
part of—Laura Culley, Randy Swanson, and Henry Treftz—and for their help
in testing some of the examples contained in this book.
Thanks to the IOUG Board of Directors, Ian Abramson, Judi Doolittle,
Andy Flower, Kent Hinckley, Steve Lemme, John Matelski, Todd Sheetz,
Jon Wolfe, and my mentors in the user group community, who have
encouraged me to share my ideas and have provided me with opportunities
to grow and develop in my career.
xi
This page intentionally left blank

Introduction
Database environments are constantly growing. There is definitely not a
shortage of data, and many companies need their systems to be constantly
up and available. For various reasons, companies may have different
database platforms that they use for storing the data. This means that DBAs
need the skills to support mixed environments.
Oracle database solutions are a large part of a robust enterprise database
environment. Oracle provides high-availability solutions, efficient ways to
manage very large databases, and configurations for better performance.
New features in Oracle Database 11
g
have simplified some of the
configurations and maintenance for the database. However, even with
some of the areas being automated and easier to manage, there is still much
to learn about Oracle and the different options and components of Oracle
databases.
Some database concepts, such as data modeling and database backup
and recovery plans, carry across different platforms. Also, there are common
tasks that DBAs perform to maintain any database environment.
This book covers tasks in Oracle as they relate to the SQL Server ways of
doing things, providing translations between the two platforms. It compares
some of the standard practices and looks at how the internals of the
database require some different maintenance and health checks. The point
is not to say that one platform’s feature is better than the other’s, but to help
you learn how to use and implement both similar features and different
features. Each chapter includes comparison tables listing the SQL Server and
Oracle commands or components related to the topic. This makes it easy for
those who are familiar with how to do something in SQL Server to find the
information they need for working with Oracle.
xiii

The book covers a broad range of topics related to administering
databases, including the following:

The internals of Oracle and system information that is available to
configure the database settings

Installations, including some basic Linux commands and details that
are needed for the installation on Linux

Database creation and the different terminology and security
associated with Oracle databases

The tools available to perform administrative tasks, such as Oracle
Enterprise Manager and SQL Developer

Backup and restore planning and procedures

Management of statistics and database objects, and performance
tuning
■ Use of PL/SQL, including how it varies from Transact-SQL
■ High-availability solutions for the architecture and design of the
database system
This book is designed to help DBAs leverage the skill set they’ve already
developed on another database platform and advance that knowledge to the
Oracle database systems. The goal is to ease your transition to Oracle and
show you how to effectively administer the Oracle database system.
xiv
Oracle Database Administration for Microsoft SQL Server DBAs
CHAPTER
1

The Database
Administrator

×