Duration: 4 Days
Technology: SQL Server
Delivery Method: Instructor-led
Software Assurance Value:
This four-day instructor-led course provides students with the knowledge and skills to capitalize on their skills and experience as an Oracle DBA to manage a Microsoft SQL Server system. This workshop provides a quick start for the Oracle DBA to map, compare, and contrast the realm of Oracle database management to SQL Server database management. Each module also provides demos.
After completing this course, students will be able to:
This course is intended for experienced Oracle database administrators (DBAs) who work in an enterprise-level environment and require the skills to begin supporting and maintaining a SQL Server database.
Module 1: Database and Instance
This module provides an understanding of the two major components of a database system. The database constitutes the files that store data, and the instance is the collection of server resources that provide a powerful, high performance interface to the data. It also illustrates how the two interact to provide data requested by the clients. Viewing the database and the instance as two separate interactive components of the RDBMS helps us to divide-and-conquer the vast set of topics covered in this workshop.
Defining a Database and an Instance
Introducing Microsoft’s and Oracle’s implementation of a database and an instance
Understanding client interaction
Key database and instance limitations
After completing this module, students will be able to:
Clearly define a database and an instance within the context of this course.
Introduce some key differences and similarities in how Microsoft and Oracle implement the database and instance in their product solutions.
Understand client interaction between a database and an instance.
Recognize some key limitations of the database and instance components within Oracle Database and SQL Server products.
Module 2: Database Architecture
This module goes in-depth into structure, components, and contents of the files that constitute the database. To be able to manage hundreds of gigabytes, terabytes, or even petabytes of data, it is important to learn the techniques by which storage is viewed (physical and logical) and allocated. Databases use various hierarchies of storage structures such as blocks, extents, segments, and tablespaces to control storage allocation. The definition of schema and the objects that comprise the schema are introduced here. SQL Server uses similar techniques as Oracle; however, the differentiation from Oracle is in the functionality.
Schema and Data Structure (Objects)
Lab : Database Architecture
Working with Filegroups
Understand schema and schema objects.
Identify logical and physical structures using storage organization.
Explain the architecture of data storage components and their hierarchy and relationships.
Manage storage structures.
Understand how to build the database using physical and logical definitions storage structures.
Comprehend the transaction logging model employed to perform transaction recovery and rollback.
Distinguish major differences between the construction of the data dictionary in Oracle and SQL Server.
Module 3: Instance Architecture
This module discusses the memory and process architectures that are key to a database’s performance. The module goes into the details of the hierarchy of memory areas of an instance and its configuration. This module also describes how the various functions of the RDBMS are accomplished by the different processes running in the background. Finally, in this module, we look at the changes Oracle has made in its internal architecture on Microsoft Windows platform between 9i and 10g to exploit the advantages offered by the operating system mechanisms and how they compare to SQL Server’s implementation.
Configure a Database server
Memory Architecture Overview
Memory Areas and Their Functions
Process and Thread Architecture
Controlling Resources in SQL Server 2008
Client and RDBMS Interactions
Background Processes/Threads and Their Functions
Lab : Instance Architecture
Using the Resource Governor
View Multi-Instances Shared Resources
Configure a database server.
Identify key database memory structures.
Identify memory areas inside the Oracle SGA and their SQL Server equivalents.
Process-based and thread-based architecture relevant to RDBMS.
Control Resources in SQL Server.
Detail client interaction with database server.
Understand Background Processes/Threads.
Module 4: Data Objects
This module examines in greater detail the schema objects introduced in Module 2. While all schema objects are mentioned, of particular interest are tables, the type of data they can hold, and their storage layout. A proper understanding of data types and storage architecture of tables and indexes is useful in many aspects of database design and administration, such as fragmentation, capacity planning, and so on. A mapping of the native data types from Oracle to SQL Server provides the student with a very good reference on what data types are compatible and what are not.
Tables are the main objects that store data
Indexes, views, stored programs, and other objects are the support structures
Various table types compared based on data organization
Various index types compared
Native and non-native data type support
Block-level storage architecture
Lab : Data Objects
Create a Partitioned Table
Working with Constraints and Triggers
After completing this module, students will understand:
The organization of data in tables and the various forms of data.
The supporting schema objects.
Types of data that can be stored in tables.
Organization and presentation of data in complex real-world forms.
Storage organization of the schema objects.
Module 5: Data Access
This module focuses on how data is accessed and manipulated by the clients. Important concepts such as transaction, session, and so on are discussed here. This module describes the various commands available through SQL for manipulating data, metadata, transactions, sessions, and instances. An overview of procedural extensions to the SQL language available in Oracle (PL/SQL) and SQL Server (Transact-SQL) is given in this module. Cursors, which are data structures used to convey results of user transactions, are discussed as well to provide insight into what SQL Server supports and how they are used compared to Oracle.
Introduce database components involved in data access
Introduce concepts of Transact-SQL and Procedural SQL as tools to access and manipulate data
Discuss transactional management concepts
Lab : Data Access
Concatenation and SQL Injection
Identify the components of the relational engine and their roles in processing SQL.
Understand the basic concepts of Structured Query Language (SQL).
Define procedural SQL constructs and their mechanisms.
Identify query optimization by the relational engine and user overrides.
Understand transaction management.
Module 6: Data Protection
This module fulfills the twin tasks of protecting data against unauthorized access (database security) and also from the destructive interaction between authorized users working concurrently (concurrency control). Under security, the various features for securing and auditing the database are discussed. Under concurrency control, the most important topic is locking. Understanding the differences in the concurrency models utilized by Oracle and SQL Server is important in order to design and manage systems that can support a large user population, great performance, and scalability.
Protecting data from unauthorized users and authorized users
Using locking modes to achieve concurrency and consistency
Implementing database security features
Using auditing features to monitor database activity
Lab : Data Protection
Working with SQL Server security
Applying Permissions in a SQL Server Database
Understand the issues of concurrency and consistency of a multi-user environment.
Explain how different levels of isolation are achieved using different types of locks.
Implement security using the in the hierarchical structure of each.
Monitor database activity with auditing.
Module 7: Basic Administration
This module contains discussion on planning and installation of SQL Server. While basic duties such a creating, starting, and shutting down a database are common to all databases, the options available for these functions are the key differences. True to the words “Knowledge is Power,” familiarity with the data dictionary and the different ways a SQL Server DBA uses it compared to an Oracle DBA is an invaluable skill for any database administrator.
Planning and preparatory steps for a SQL Server environment
Creation and configuration of an instance of SQL Server and databases
Characteristics of a database
Basic database maintenance tasks
Lab : Creating Databases and Setting Configuration Parameters
Defining a User Database
Setting Configuration Parameters
Plan and install SQL Server software.
Create and configure an instance.
Plan and create a database.
Identify the various states in which a database can exist.
Understand the data dictionary.
Module 8: Server Management
This module discusses the administration of various types of resources such as system resources (such as memory, processes, storage, and so on) as well as low-level database resources (such as lock, latches, queues, and so on). As these resources are consumed by transactions, it is pertinent to be able to relate user sessions to the transactions they are running and to the resources they are consuming or requesting. Given the significant difference in how resources are managed and utilized in SQL Server compared to Oracle, it is important for the Oracle DBA to get a firm understanding of what is under the SQL Server hood in order to appreciate and best leverage the technology.
Server-level and instance-level resources such as memory and processes
User sessions and their activity
Lab : Resource Utilization
Configure and measure memory usage of a database instance and its components.
Configure and monitor database processes.
Understand storage management at various levels of the storage hierarchy.
Identify resource utilization by sessions and transactions.
View utilization data on storage structures.
Module 9: Managing Schema Objects
This module provides the administrative aspect of schema objects described in Module 4. The discussion covers planning, creation, and maintenance of many key schema objects. Choices in terms of table and index types, column types, and storage greatly influence the database growth, scalability, performance, and maintainability.
Naming guidelines for identifiers in schema object definitions
Storage and structure of schema objects
Implementing data integrity using constraints
Implementing business rules at the database level
Lab : Managing Schema Objects
Creating Tables and Associated Objects
Creating Indexed Views
Understand identifier and naming conventions.
Manage tables and indexes.
Select storage parameters.
Manage constraints and triggers.
Manage views and sequences/identity columns.
Review dependencies within the database.
Module 10: Database Security
This module continues the discussion of data protection initiated in Module 6. This module examines the various features available for providing security such as logins, roles, profiles, and privileges. The topics such as encryption and auditing are also briefly discussed in this module.
Manage access to database through user accounts
Control access to data through privileges and roles
Manage access to server using login accounts
Lab : Database Security
Create Logins and Users
Create and maintain login accounts.
Create and maintain user accounts.
Create and maintain user defined roles.
Manage privileges for users and roles.
Module 11: Data Transport
This module examines the non-transactional mechanisms for moving data into and out of a database. The functionality varies based on homogeneous and heterogeneous databases. One key feature in SQL Server is SQL Server Integration Services (SSIS). SSIS provides users with the capabilities beyond complex ETL and high performance data movement from heterogeneous data sources. It also adds data mining capability to the process and more, all of which will be discussed in this module. Other approaches to bulk data movement will also be covered in this module and guidelines will be provided on which tools are appropriate for what scenarios.
Tools and functionality in Oracle and their equivalents in SQL Server in data transport out and into the database
Tools and functionality in SQL Server for data transport within SQL Server and across multiple data sources and destinations
Lab : Transferring Data
Use SQL Server Integration Services (SSIS) to Migrate Data Into a Flat File
Use SQL Server Integration Services (SSIS) to Import Data from a Business Partner’s Flat File
Understand the tools and functionality in Oracle and their equivalents in SQL Server for data transport in and out of the database.
Understand the tools and functionality in SQL Server for data transport into, out of, within a database, and across multiple databases, multiple file formats, and other data sources and destinations.
Module 12: Backup and Recovery
This module lists the types of errors encountered in a database and the various mechanisms that are available to safeguard against these errors. This module discusses various types of backups and recovery methods available. This module also covers Oracle’s Recovery Manager (RMAN) and the equivalent functionality available in SQL Server Management Studio.
Backup and recovery methods available in Oracle and SQL Server 2008
Types of failure
Types of recovery
Lab : Create and Execute a Maintenance Plan for Backup
Create and Execute a Maintenance Plan for Backup
Modify, Back up, and Restore a database
Identify database errors and various types of failure.
Understand the various backup methods.
Obtain a high-level understanding of recovery methods.
Identify RDBMS native tools used for backup and recovery.
Vendor solutions for backup and redundancy.
Module 13: Performance Tuning
This module is divided into two sections: tuning an instance and tuning an application. Tuning the instance involves taking steps to ensure that system resources such as memory, CPU, and I/O are used efficiently. Tuning an application starts with the design and architecture of the application and involves tuning database operations and access paths.
Performance tuning methodologies
Tools and techniques for performance analysis and tuning
Lab : Distributed Replay
Capture a SQL Trace for use with Distributed Replay
Prepare Trace Data for use with Distributed Replay
Replay Trace data using Distributed Replay
Create a methodology to develop an application and the related database with optimal performance.
Understand the methodologies involved in tuning a running instance.
Identify key elements in instance, database, and application tuning.
Module 14: Scalability and High Availability
This module provides a high-level overview of the scalability and high availability features available in each RDBMS. Oracle and SQL Server are both enterprise class RDBMS, therefore the topics of scalability and high availability are deemed important. However, due to the scope of the course the discussion here is at a conceptual level and does not go beyond the concepts. The features discussed include parallel query, replication, clustering, table partitioning, database mirroring, and database snapshots.
Key high availability features available in Oracle and SQL Server
Key scalability features available in Oracle and SQL Server
Understand high availability definition and requirements.
Compare high availability features in Oracle and SQL Server.
Define scalability and understand its requirements.
Compare scalability features in Oracle and SQL Server.
Module 15: Monitoring
This module shows the mechanisms by which the database can be monitored for availability, errors, and performance. Statistics that can be captured for both proactive and reactive administration of the databases are reviewed here.
Formulate requirements and identify resources to monitor database
Types of monitoring
Tools for monitoring
Lab : Integrating Performance Monitor Data in SQL Profiler
Integrating Performance Monitor Data
After completing this module, students will be able to identify:
The monitoring requirements of a database.
Sources of information on server, database, and instance activity.
Server and database components that can be monitored.
SQL Server Tools for monitoring.
Module 16: SQL Server Migration Assistant (SSMA)
This module focuses on automating the process of migrating from Oracle to SQL Server. This module presents an overview of the SSMA and will cover schema conversion, data migration, business logic conversion, validation, integration, and performance analysis.
Sources of information on server, database and instance activity.
Before attending this course, students must have: