This course helps Oracle database administrators (DBAs) leverage their skills and experience as an Oracle DBA to manage a SQL Server 2012 system. This Microsoft SQL Training workshop provides a quick start for the Oracle DBA to map, compare and contrast the realm of Oracle database management to SQL Server 2012 database management. While it is intended to be delivered as a four-day workshop, the content in its entirety is a reference guide rather than a mere guideline. The content is a comprehensive course with descriptive reference material while the course itself focuses on introducing the concepts and providing hands-on learning. This course has been developed to extend the terminologies familiar to the Oracle DBA and relate those terminologies to the SQL Server world. The philosophy has not been to present a straight one-to-one mapping of “here is Oracle and here is SQL Server.” The approach is one of relate-and-learn based on relating the knowledge and experience you have gained in administering Oracle databases to the knowledge you will learn about administering SQL Server databases. At a fundamental level, Oracle and SQL Server are very similar. Their architectures are comparable, and their administrative features and functions are typical to a relational database management system.
Instructor | SQL Server Certified Master - Maciej Pilecki
Exploring Certification? Free SQL Server Certification Prep Tools
Module 1 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.
Module 2 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 table spaces 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.
Module 3 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 11g to exploit the advantages offered by the operating system mechanisms and how they compare to SQL Server's implementation.
Module 4 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, etc. 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.
Module 5 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.
Module 6 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.
Module 7 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.
Module 8 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.
Module 9 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.
Module 10 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.
Module 11 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.
Module 12 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.
Module 13 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.
Module 14 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 AlwaysOn, parallel query, replication, clustering, table partitioning, database mirroring, and database snapshots.
Module 15 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.