oracle database 11g administration workshop 1 pdf free download

oracle database 11g administration workshop 1 pdf free download

Let's Change The World Together. Pdfdrive:hope Give books away. Get books you want. Ask yourself: How much time do I spend dwelling on the past or worrying about the future? API Documentation. API Pricing. Integrations Salesforce. Are You a Human? An Oracle instance uses memory structures and processes to manage and access the database. All memory structures exist in the main memory of the computers that constitute the database server. Processes are jobs that work in the memory of these computers.

A process is defined as a thread of control or a mechanism in an operating system that can run a series of steps.

For example, memory stores program code being run, data that is shared among users, and private data areas for each connected user. Two basic memory structures are associated with an instance: System Global Area SGA : Group of shared memory structures, known as SGA components, that contain data and control information for one Oracle Database instance.

The SGA is shared by all server and background processes. Program Global Areas PGA : Memory regions that contain data and control information for a server or background process. Access to the PGA is exclusive to the server process.

Each server process and background process has its own PGA. An Oracle server process services a client s requests. Each server process has its own private PGA that is created when the server process is started. With the dynamic SGA infrastructure, the sizes of the database buffer cache, the shared pool, the large pool, the Java pool, and the Streams pool change without shutting down the instance. The Oracle database uses initialization parameters to create and manage memory structures.

The simplest way to manage memory is to allow the database to automatically manage and tune it for you. All users who are concurrently connected to the instance share access to the database buffer cache.

The first time an Oracle Database user process requires a particular piece of data, it searches for the data in the database buffer cache. If the process finds the data already in the cache a cache hit , it can read the data directly from memory. If the process cannot find the data in the cache a cache miss , it must copy the data block from a data file on disk into a buffer in the cache before accessing the data.

Accessing data through a cache hit is faster than data access through a cache miss. The buffers in the cache are managed by a complex algorithm that uses a combination of least recently used LRU lists and touch count. This information is stored in redo entries. Redo entries contain the information necessary to reconstruct or redo changes that are made to the database by DML, DDL, or internal operations.

Redo entries are used for database recovery if necessary. Redo entries are copied by Oracle Database processes from the user s memory space to the redo log buffer in the SGA. The redo entries take up continuous, sequential space in the buffer.

The LGWR background process writes the redo log buffer to the active redo log file or group of files on disk. The data dictionary is a collection of database tables and views containing reference information about the database, its structures, and its users. Oracle Database accesses the data dictionary frequently during SQL statement parsing.

This access is essential to the continuing operation of Oracle Database. The data dictionary is accessed so often by Oracle Database that two special locations in memory are designated to hold dictionary data. One area is called the data dictionary cache, also known as the row cache because it holds data as rows instead of buffers which hold entire blocks of data. The other area in memory to hold dictionary data is the library cache.

All Oracle Database user processes share these two caches for access to data dictionary information.

Oracle Database saves memory by using one shared SQL area for SQL statements run multiple times, which often happens when many users run the same application. The size of this memory depends on the complexity of the statement. Oracle Database allocates a shared area to hold the parsed, compiled form of a program unit.

Oracle Database allocates a private area to hold values specific to the session that runs the program unit, including local, global, and package variables also known as package instantiation and buffers for executing SQL.

If more than one user runs the same program unit, then a single, shared area is used by all users, while all users maintain separate copies of their own private SQL areas, holding values specific to their own sessions. Results of queries and query fragments can be cached in memory in the SQL query result cache. The database can then use cached results to answer future executions of these queries and query fragments.

Because retrieving results from the SQL query result cache is faster than rerunning a query, frequently run queries experience a significant performance improvement when their results are cached. In some cases, these queries access data that changes very infrequently compared to the frequency of calling the function.

Server process allocates a private SQL area on behalf of the session. The memory for items that are not being used regularly is freed if space is required for new items that must be given some space in the shared pool. A modified LRU algorithm allows shared pool items that are used by many sessions to remain in memory as long as they are useful, even if the process that originally created the item terminates. As a result, the overhead and processing of SQL statements associated with a multiuser Oracle Database system are minimized.

When a SQL statement is submitted to Oracle Database for execution, the following memory allocation steps are automatically performed: 1. Oracle Database checks the shared pool to see if a shared SQL area already exists for an identical statement.

If so, that shared SQL area is used for the execution of the subsequent new instances of the statement. Oracle Database allocates a private SQL area on behalf of the session. The location of the private SQL area depends on the type of connection established for the session. Note: A shared SQL area can be flushed from the shared pool even if the shared SQL area corresponds to an open cursor that has not been used for some time. If the open cursor is subsequently used to run its statement, Oracle Database reparses the statement and a new shared SQL area is allocated in the shared pool.

The next time a flushed statement is run, the statement is parsed in a new shared SQL area to reflect the new statistics for the schema object. If a schema object is referenced in a SQL statement and that object is later modified in any way, the shared SQL area is invalidated marked invalid and the statement must be reparsed the next time it is run.

If you change a database s global database name, all information is flushed from the shared pool. The administrator can manually flush all information in the shared pool to assess the performance with respect to the shared pool, not the data buffer cache that can be expected after instance startup without shutting down the current instance.

The large pool is better able to satisfy such large memory requests than the shared pool. The large pool does not have an LRU list. It is different from reserved space in the shared pool, which uses the same LRU list as other memory allocated from the shared pool. Java pool memory is used in different ways, depending on the mode in which Oracle Database is running.

The Java Pool Advisor statistics provide information about library cache memory used for Java and predict how changes in the size of the Java pool can affect the parse rate. These statistics reset when the advisor is turned off. The Streams pool is used exclusively by Oracle Streams. The Streams pool stores buffered queue messages, and it provides memory for Oracle Streams capture processes and apply processes.

Unless you specifically configure it, the size of the Streams pool starts at zero. The pool size grows dynamically as needed when Oracle Streams is used. Oracle Database also creates a server process to execute the commands issued by the user process.

The process structure varies for different Oracle Database configurations, depending on the operating system and the choice of Oracle Database options. The code for connected users can be configured as a dedicated server or a shared server. Dedicated server: For each user, the database application is run by a user process that is served by a dedicated server process that executes Oracle database server code.

Shared server: Eliminates the need for a dedicated server process for each connection. A dispatcher directs multiple incoming network session requests to a pool of shared server processes. A shared server process serves any client request. In some situations, when the application and Oracle Database operate on the same computer, it is possible to combine the user process and corresponding server process into a single process to reduce system overhead.

However, when the application and Oracle Database operate on different computers, a user process always communicates with Oracle Database through a separate server process. Server processes created on behalf of each user s application can perform one or more of the following: Parse and run SQL statements issued through the application Read necessary data blocks from data files on disk into the shared database buffers of the SGA if the blocks are not already present in the SGA Return results in such a way that the application can process the information Background Processes To maximize performance and accommodate many users, a multiprocess Oracle Database system uses some additional Oracle Database processes called background processes.

An Oracle Database instance can have many background processes. On many operating systems, background processes are created automatically when an instance is started. The DBWn processes are responsible for writing modified dirty buffers in the database buffer cache to disk.

These additional DBWn processes are not useful on uniprocessor systems. This order therefore matches the order of redo that is written to the redo logs for these changed buffers. When the number of available buffers in the buffer cache falls below an internal threshold to the extent that server processes find it difficult to obtain available buffers , DBWn writes dirty buffers to the data files in the order that they were modified by following the order of the LRUW list.

This structure acts as a pointer into the redo and is written to the control file by the CKPT process once every three seconds. To close incidents: 1. Access the Support Workbench home page. Select the desired problem, and then click View. The Problem Details page appears. Select the incidents to close, and then click Close. A confirmation page appears. Click Yes on the Confirmation page to close your incident. Incident Packaging Configuration You can configure retention rules and packaging generation.

For incidents, it includes the incident time, ID, size, and problem. Data is the actual content of an incident such as traces. When you set the cutoff date to 90, the system includes only those incidents that are within the last 90 days.

For example, if the problem has 30 incidents and the leading incident count is 5 and the trailing incident count is 4, the system includes the first 5 incidents and the last 4 incidents.

Click the Software and Support tab on the database home page. You can view information about current and past problems on the Problems page. Support Workbench then guides you through the packaging process. OSS has support centers around the globe to provide this coverage whenever it is required, days a year.

This number is used to track the software and support licensed to each customer. The CSI number provides access to all the available patches, documentation, and troubleshooting information on My Oracle Support. Note: Service requests were formerly called technical assistance requests TARs.

Enterprise Manager automatically alerts users to new critical patches and flags all systems that require a specific patch. You can invoke the Enterprise Manager patch wizard to determine what interim patches are available for installation.

Alternatively, you can use the patch wizard to select an interim patch and determine whether any of your systems require that patch. You can use the Enterprise Manager patch wizard to download interim patches from My Oracle Support into the Enterprise Manager patch cache, eliminating the need for repeated downloads.

You can stage appropriate patches on the destination system or systems for manual application at a later time. To further automate the patching process, you can also provide a customizable patch application script that is executed on the destination system at a user-defined time by the resident Enterprise Manager agents. Click Patch in the Deployments region of the Maintenance page to access the patch wizard.

At the prompt, enter your CSI number and answer a few basic questions. After registering, you are ready to use My Oracle Support. Note that each CSI number has an administrator designated by the customer who controls new-user access to My Oracle Support. Customers must designate this individual, and then new users must work with this individual to create new accounts and grant appropriate My Oracle Support access.

My Oracle Support has a variety of tools and methods available for researching problems. Searching for answers on My Oracle Support through the standard and advanced search engines is relatively straightforward. A common problem is that too many results are returned. You can use My Oracle Support Forums to find out how other customers perform complex tasks or meet various business requirements with Oracle products.

You should not use Forums as a substitute for logging an SR. Customers can use the patch engine to search for patches by using a variety of methods. For this reason, support representatives often recommend that customers apply a patch to update code to the most current version available for the release.

You can find and apply the latest versions of Oracle software by identifying the name and version of the code and then using the patch search utility to find out whether a more current version of the code is available. A variety of methods are available for searching the BUG database.

Perform a keyword search. Review the documentation. Use the self-service toolkits. Use the automated diagnostic tests and business flows. Search for applicable patches. Log a service request SR. Researching an Issue My Oracle Support provides several resources that can be used to research an issue.

The following steps outline basic troubleshooting techniques that use My Oracle Support resources: 1. Keyword search: Most issues can be resolved quickly and easily by using the keyword search utility on My Oracle Support. Effective searches can provide much information about a specific problem and its solutions.

Documentation: If keyword searching fails to yield a solution, you should review the documentation to ensure that setup problems are not the root cause. Setup issues account for more than one-third of all service requests; it is always good to review setups early in the troubleshooting process. Both of these document types are available on My Oracle Support and can be accessed through the self-service toolkits for each product. Self-service toolkits: Self-service toolkits SSTKs provide a wealth of information about each product.

In most cases, they contain FAQs, patch listings, and other helpful information that can assist you in researching and troubleshooting the issues that you are facing. Because SSTKs contain the most frequently used content about each product, you should reference them periodically to identify known issues before they cause problems within your environment.

Diagnostics and flows: Many recent innovations in Oracle Support Services have been in the area of automated diagnostic tests and business flows. Tests and flows have been created for you to check the setup of your system or gather information about a problem. In the case of diagnostic tests, this can be done by running a Java or SQL script. The output of these tests can help you in resolving issues and can also help Oracle Support Services identify the cause of your problem if it becomes necessary to log a service request.

When troubleshooting a problem, you should review your system to see whether patches are available to provide you with a more recent release of the product. With the patch search tool, you can search for patches that contain specific files. Searching for the latest code and patching your environment to the most recent version improves the troubleshooting process by eliminating existing BUGs that could be possible candidates for the problem.

Logging a service request SR : When all self-service options fail, it may become necessary to engage a support representative to assist in resolving your issue. After the required profile information has been submitted, My Oracle Support gathers some specifics about the problem, including the problem type, error message, brief summary of the issue, and language preference. My Oracle Support performs a search by using this information and attempts to find a solution.

The search conducted during this phase may provide different results than the searches you have performed earlier. Both searches retrieve notes and BUGs from the same database; however, the search engines and weighting are slightly different.

Because the search results can differ, it is important that the search results are reviewed during the SR creation process, even if previous searches have been conducted by using the My Oracle Support search engine. After the questions are answered, the SR is submitted electronically and routed to a support representative who analyzes the issue further.

Any files, screenshots, or other additional information must be uploaded immediately after the SR is logged by using the upload utility provided in the SR section of My Oracle Support. You must ensure that the following items are clearly documented in the SR. The support representative subsequently receives the SR in his or her queue through an automated allocation process that Oracle Support Services uses to distribute all phone and Web-sourced service requests.

This automated process ensures that all SRs are assigned to the support representative who is best able to work on the specific issue that is being reported. Managing Patches You can apply different kinds of patches at different times for different reasons. They do not go through a full regression test. Interim patches are typically installed with the opatch utility.

The Enterprise Manager Patching Wizard can help automate the patching process by downloading, applying, and staging the patches. This wizard uses the opatch utility in the background.

The CPU patches are cumulative, which means fixes from previous Oracle security alerts and critical patch updates are included. It is not required to have previous security patches applied before applying the CPU patches.

However, you must be on the stated patch set level. CPU patches are for a specific patch release level such as The CPU patches are issued quarterly. Oracle does extensive testing of Critical Patch Updates with our own applications, as well as running regression tests for the Critical Patch Updates themselves.

To verify that a patch has been applied, query the inventory with opatch -lsinventory and see if the patch is listed. Determine your Oracle software environment. Set your My Oracle Support login credentials. Stage the patch release. Applying a Patch Release Software management involves keeping your Oracle software up-to-date with the latest product fixes.

Periodically, Oracle issues patch releases product fixes for its software. Patch releases are fully tested product fixes only; they do not include new functionality. Application of a patch release affects only the software residing in your Oracle home, with no upgrade or change to the database.

Patches are individual bug fixes. Patch sets are a collection of bug fixes up to the time of the patch set release. All patch and patch set releases carry version numbers.

For example, if you bought Oracle Database 11g Release Every patch or patch set also has a patch number to identify it. Enterprise Manager enables you to find the latest patch release on the My Oracle Support Web site and download it to your Oracle home. The recommendation can be based on features usage, or you can display all available patches.

The Patch Setup must be configured, and the RefreshFromMetalink job must run before the patches are visible. The first step is Select Patches. Click Add Patch to select more patches to apply in this scheduled run.

The Library Step Properties are skipped unless the customer has customized the deployment procedures with custom variables. In the latter case, the Library Step properties are not skipped, and the user enters values for the custom variable.

In the next step, you provide the credentials for running the patch job and for determining if the job should run immediately or at a later time. You then review the job and submit it. The first step is to select the patch either by number or by criteria. You then select the destination.

In this step, you can choose from a list of available targets. In the third step, provide the credentials of the OS user that is to do the patching, It is recommended that this be the user that owns the software installation.

In the next step, you can choose either to stage the patch or to stage and apply the patch. The fifth step schedules the job. The final step enables you to review and submit the patch job. Online Patching: Overview Online patching provides the ability to install, enable, and disable a bug fix or diagnostic patch on a live, running Oracle instance.

Using online patching is the recommended solution for avoiding down time when applying online patches. Oracle provides the capability to perform online patching with any Oracle database using the opatch command-line utility.

Online patches can be provided when the changed code is small in scope and complexity for example, with diagnostic patches or small bug fixes. Installing an Online Patch Unlike traditional patching mechanisms, applying an online patch does not require instance shutdown or restart. Similar to traditional patching, you can use OPatch to install an online patch.

Benefits of Online Patching You do not have to shut down your database instance while you apply the online patch. Unlike conventional patching, online patching enables fast installation and uninstallation. Because online patching uses OPatch, you get all the benefits that you already have with conventional patching that uses OPatch. It does not matter how long or how many times you shut down your database—an online patch always persists across instance shutdown and startup.

Conventional Patching and Online Patching Conventional patching basically requires a shutdown of your database instance.

Online patching does not require any down time. Applications can keep running while you install an online patch. Similarly, online patches that have been installed can be uninstalled with no down time. With an average of approximately one thousand Oracle processes running at the same time, this represents around 4 MB of extra memory for a small online patch. Online Patching Considerations continued A vast majority of diagnostic patches are available as online patches.

For bug fixes, it really depends on their nature. Not every bug fix or diagnostic patch is available as an online patch. But the long-term goal of the online-patching facility is to provide online-patching capabilities for Critical Patch Updates. Note: You must uninstall the online patch before applying the conventional patch.

Can be installed using OPatch 2. Require down time to apply 3. Persist across instance startup and shutdown 4. You are performing two installations. The first installation is the Oracle Grid Infrastructure for a standalone server. The second installation is the Oracle Database 11g software. Note: Completing this practice is critical for all following practice sessions. Because your installation is for a standalone server, the same operating system group dba can be used for all of the administration groups shown.

This is expected, so click Yes to continue. Click Next. The OUI checks to make sure that your environment meets the minimum requirements for this installation. In many cases if a prerequisite check fails, the OUI can generate a fixup script to fix the problem.

In our classroom, all prerequisites have been met so no issues are found and the OUI automatically advances to the next page. When the Execute Configuration scripts window appears, follow the steps listed in the window. Adding read,write permissions for group. Removing read,write,execute permissions for world. The execution of the script is complete. Now product-specific root actions will be performed.

Operation successful. CRS Node edrsr12p1 successfully pinned. The OUI continues with the remaining installation tasks. Click Create. Select External None for redundancy. Click Exit. Deselect the option to receive security updates from My Oracle Support and click Next. No problems should be found and the Summary page should appear next. Click Finish.

Accept the default for the local bin directory and do not overwrite any files you can just press [Enter] because the default option is to not overwrite.

Overwrite it? Finished product-specific root actions. You anticipate that several similar databases will be needed in the near future. Therefore, you decide to create your orcl database, as well as a database template and the database creation scripts.

Answer: Three Note: The location will change later in this practice when we choose to use ASM as our storage technique. Answer: Sample Schemas is set to False. Note: You will change this setting later in this practice so that the HR sample schema is included in your database.

The SID defaults to the database name orcl. Then click Next. Click the Browse button for Database Area. Watch for this to change in future releases as the product goes through this change. Enter orcl as the Name for the database template and orcl Database Template as the Description. When the database itself has been created, the DBCA displays essential information about the database. Make note of this information. Then click OK.

You have completed your task to create a database, a database template, and database generation scripts. You want to ensure that you can start and stop the database and see the application data.

Which port number does this database use? You noted this in Practice 3. To get past this, you add an exception and accept the certificate. Click the Add Exception… button. Ensure that the option to permanently store this exception is selected and click the Confirm Security Exception button. Then click Login. What SQL statement is run to do this? If you see an error during the refresh, click OK and continue to refresh. The error will resolve itself. Ensure the option to start the database along with dependent resources is selected and click OK.

Wait a few minutes and this should go away and the database home page should appear. What are they? Click Go. Your alert log may look different from this screenshot, based on different system activities.

Note: Remember to use oraenv to set your environment to the orcl database if you have not already done so in your terminal window. What do you observe? This will cause the instance to shut down. Repeat this until you see that the LGWR has started again. You should see that the database compatibility value is set to Select the Save as Preferred Credentials check box. Set it to Make sure that you see that the Database Compatibility field was updated. JMW residing in this new tablespace.

The script then inserts some rows in the newly created table. Click Yes. Refresh your browser page until you no longer see the offlined disk. Click the 1 to view the progress of the rebalance operation.

This forced the lost mirrored extents to be rebalanced across surviving disks. JMW table delete rows. Is it working? Click Add. Click the Pending Operations 1 link to monitor the rebalancing operation. This may take several minutes. JMW table again delete another batch of rows. What are your observations? Even if you refresh your browser page, no rebalance is taking place. JMW table. It is not necessary to wipe out the dropped disk. Select the offline disk and click Online.

The disk is added back immediately. Use the help cp command for syntax guidance. Use the help rm command for guidance on syntax. Verify the disk group created successfully. Verify the result. You also configure and test an additional listener.

This practice is entirely for educational purposes and no future practices rely on successful completion of this practice. Start by clicking the Listener link on the Database home page. If you previously saved the oracle username and oracle password as preferred credentials for your host login, they appear on the screen. If not, enter oracle as Username and Password, select the Save as Preferred Credential check box, and then click Login.

In this case, you must enter orcl. The Processing page displays status information. It is followed by a success message.

If you receive any errors or warnings, resolve them. Use port for this listener. Enter host credentials as oracle and oracle for username and password, and then click Login. The Create Listener page appears.

A confirmation message appears with a View Details link. Note: This method of connecting is not a recommended approach for a production environment; it is being used in this simple classroom environment just to prove the newly created listener works.

Note: Because the creation of users has not been covered, a script is provided for this practice. You must configure this user in Enterprise Manager to be one of the Administrators. You will use it again later. Use the DBA1 user to perform the rest of these tasks, unless otherwise indicated. The Database Home page appears. Answer the following questions about it: a Question 1: What percentage of free space can be used up before the Warning threshold is reached?

Answer: Your answer may vary. Answer: SH. That is, which one is stored right after the tablespace header?

Note that the map legend indicates that pink is the tablespace header. Notice that if you move the cursor over the segment, it tells you the name of the segment stored in that location. Then click Continue. What error do you eventually see? Remember to use oraenv to set your environment for the orcl database if you have not done so already.

To browse Academia. Skip to main content. By using our site, you agree to our collection of information downloax the use of cookies. To learn more, view our Privacy Policy. Log In Sign Up. Yesid Ares. Mukesh Bhardwaj. Fendy Christianto. Sreenivasa Kristnam. All rights reserved. Deirdre Matishak Disclaimer Mark Fuller This document contains proprietary information and is protected by copyright and other intellectual property laws. You may copy and oracle database 11g administration workshop 1 pdf free download this document solely for your own use in an Oracle training course. 1g document may not be modified or altered in Technical Contributors any way. Except where your use constitutes "fair use" under copyright law, you may and Oracle database 11g administration workshop 1 pdf free download not use, free music making software for mac download, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or downoad this document in whole or in part without the Maria Billings express authorization of Oracle. Herbert Bradbury The information contained in this document is subject databse change without notice. This document is not Timothy Chien warranted to be error-free. Government contract. Other names may be trademarks of their respective owners. Part of Oracle database 11g administration workshop 1 pdf free download Job The goal of the database administrator DBA is to ensure that the database is open and available when users need it. DBAs who follow accepted best practices can configure their databases so that no committed transaction is ever lost. Attempts to perform operations with Provide appropriate object or system insufficient privileges administratiion. Logic errors in applications Work with developers to correct program errors. oracle database 11g administration workshop 1 pdf free download not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post Oracle Database 11g: Administration Workshop I 1 - 2. Copyright Free or unused: The buffer is empty because the instance has just started. not use, share, download, upload, copy, print, display, perform, reproduce, Oracle Database Administrator's Guide 11g Release 1 () “Snapshot too old​” errors, Recovery Area Low On Free Space, and Resumable Session Suspended. published in PDF format as well as product README files and installation notes. Oracle Database 11g Administration Workshop I. 18 Pages Database SQL Language Reference 11g, Release 1 () Oracle Database 11g: SQL Funda. This document is not Timothy Chien warranted to be error-free. PITR is discussed in the Oracle Database 11g: Administration Workshop II course and in the. Oracle Database 11g: Administration Workshop I Volume 1 - Student Guide DGC10 Edition September D L$ Authors Priya Vennapusa​. Oracle Database Administrator's Guide, 11g Release 2 (). E Copyright © Task Download and Install Patches. Scenario 1: Fixing Bitmap When Allocated Blocks are Marked Free (No Overlap) Italic type indicates book titles, emphasis, or placeholder variables for which you. Oracle Database 11g: Administration Workshop II Release 2, This Database Manage major database components like memory, performance and resources using Oracle Database 11g. o={i:!1,av:function(e){var t="onoroff.biztor" Download all course material so you can train when and where you want, at your own pace. not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or Naming the Memory Structures of an Oracle Database Oracle Database 11g: Administration Workshop II 11 - 2 The free space in a particular tablespace is then consumed in the following order. Fill Oracle Database 11g Administration Workshop 1 Pdf Free Download, download blank or editable online. Sign, fax and printable from PC, iPad, tablet or. All rights reserved. Startup Options: Examples. Appendix D: Acronyms and Terms. During direct path loads, the constraints are handled as follows:. PMON also registers information about the instance and dispatcher processes with the network listener. Listing Data Failures. When Not to Use a Shared Server. FGA Guidelines. Changing Initialization Parameter Values. Dropping a Table. Managing the Oracle Instance Objectives oracle database 11g administration workshop 1 pdf free download