Author: ultroni1

  • Specifying a Fast Recovery Area

    The Fast Recovery Area is a location in which Oracle Database can store and manage files related to backup and recovery. It is distinct from the database area, which is a location for the current database files (data files, control files, and online redo logs).

    Kubernetes containerization training courses malaysia

    Specify the Fast Recovery Area with the following initialization parameters:

    • DB_RECOVERY_FILE_DEST: Location of the Fast Recovery Area. This can be a directory, file system, or Automatic Storage Management (Oracle ASM) disk group.In an Oracle Real Application Clusters (Oracle RAC) environment, this location must be on a cluster file system, Oracle ASM disk group, or a shared directory configured through NFS.
    • DB_RECOVERY_FILE_DEST_SIZE: Specifies the maximum total bytes to be used by the Fast Recovery Area. This initialization parameter must be specified before DB_RECOVERY_FILE_DEST is enabled.

    cloud computing training courses malaysia

    In an Oracle RAC environment, the settings for these two parameters must be the same on all instances.

    You cannot enable these parameters if you have set values for the LOG_ARCHIVE_DEST and LOG_ARCHIVE_DUPLEX_DEST parameters. You must disable those parameters before setting up the Fast Recovery Area. You can instead set values for the LOG_ARCHIVE_DEST_n parameters.

    ai artificial intelligence training courses malaysia

    Oracle recommends using a Fast Recovery Area, because it can simplify backup and recovery operations for your database.

    lean it certification training courses malaysia

  • Index Compression

    To reduce space in indexes, Oracle Database can employ different compression algorithms.

    Prefix Compression

    Oracle Database can use prefix compression, also known as key compression, to compress portions of the primary key column values in a B-tree index or an index-organized table. Prefix compression can greatly reduce the space consumed by the index.

    erp

    An uncompressed index entry has one piece. An index entry using prefix compression has two pieces: a prefix entry, which is the grouping piece, and a suffix entry, which is the unique or nearly unique piece. The database achieves compression by sharing the prefix entries among the suffix entries in an index block.

    feature

    Note

    If a key is not defined to have a unique piece, then the database provides one by appending a rowid to the grouping piece.

    By default, the prefix of a unique index consists of all key columns excluding the last one, whereas the prefix of a nonunique index consists of all key columns. Suppose you create a composite, unique index on two columns of the oe.orders table as follows:

    CopyCREATE UNIQUE INDEX orders_mod_stat_ix ON orders ( order_mode, order_status );
    

    In the preceding example, an index key might be online,0. The rowid is stored in the key data portion of the entry, and is not part of the key itself.

    financial

    Note

    If you create a unique index on a single column, then Oracle Database cannot use prefix key compression because no common prefixes exist.

    Alternatively, suppose you create a nonunique index on the same columns:

    CopyCREATE INDEX orders_mod_stat_ix ON orders ( order_mode, order_status );
    

    Also assume that repeated values occur in the order_mode and order_status columns. An index block could have entries as shown in the follow example:

    Copyonline,0,AAAPvCAAFAAAAFaAAa
    online,0,AAAPvCAAFAAAAFaAAg
    online,0,AAAPvCAAFAAAAFaAAl
    online,2,AAAPvCAAFAAAAFaAAm
    online,3,AAAPvCAAFAAAAFaAAq
    online,3,AAAPvCAAFAAAAFaAAt
    

    In the preceding example, the key prefix would consist of a concatenation of the order_mode and order_status values, as in online,0. The suffix consists in the rowid, as in AAAPvCAAFAAAAFaAAa. The rowid makes the whole index entry unique because a rowid is itself unique in the database.

    hrms

    If the index in the preceding example were created with default prefix compression (specified by the COMPRESS keyword), then duplicate key prefixes such as online,0 and online,3 would be compressed. Conceptually, the database achieves compression as follows:

    Copyonline,0
    AAAPvCAAFAAAAFaAAa
    AAAPvCAAFAAAAFaAAg
    AAAPvCAAFAAAAFaAAl
    online,2
    AAAPvCAAFAAAAFaAAm
    online,3
    AAAPvCAAFAAAAFaAAq
    AAAPvCAAFAAAAFaAAt
    

    Suffix entries (the rowids) form the compressed version of index rows. Each suffix entry references a prefix entry, which is stored in the same index block as the suffix.

    Alternatively, you could specify a prefix length when creating an index that uses prefix compression. For example, if you specified COMPRESS 1, then the prefix would be order_mode and the suffix would be order_status,rowid. For the values in the index block example, the index would factor out duplicate occurrences of the prefix online, which can be represented conceptually as follows:

    Copyonline
    0,AAAPvCAAFAAAAFaAAa
    0,AAAPvCAAFAAAAFaAAg
    0,AAAPvCAAFAAAAFaAAl
    2,AAAPvCAAFAAAAFaAAm
    3,AAAPvCAAFAAAAFaAAq
    3,AAAPvCAAFAAAAFaAAt
    

    The index stores a specific prefix once per leaf block at most. Only keys in the leaf blocks of a B-tree index are compressed. In the branch blocks the key suffix can be truncated, but the key is not compressed.

  • DB_NAME Initialization Parameter

    The DB_NAME initialization parameter specifies a database identifier.

    Microsoft certification malaysia

    DB_NAME must be set to a text string of no more than 8 characters. The database name must start with an alphabetic character. During database creation, the name provided for DB_NAME is recorded in the data files, redo log files, and control file of the database. If during database instance startup the value of the DB_NAME parameter (in the parameter file) and the database name in the control file are different, then the database does not start.

    juniper certification malaysia

    DB_DOMAIN Initialization Parameter

    In a distributed database system, the DB_DOMAIN initialization parameter specifies the logical location of the database within the network structure.

    istqb certification malaysia

    DB_DOMAIN is a text string that specifies the network domain where the database is created. If the database you are about to create will ever be part of a distributed database system, then give special attention to this initialization parameter before database creation. This parameter is optional.

    database training courses malaysia

  • Ascending and Descending Indexes

    In an ascending index, Oracle Database stores data in ascending order. By default, character data is ordered by the binary values contained in each byte of the value, numeric data from smallest to largest number, and date from earliest to latest value.

    crm

    For an example of an ascending index, consider the following SQL statement:

    CopyCREATE INDEX emp_deptid_ix ON hr.employees(department_id); 
    

    Oracle Database sorts the hr.employees table on the department_id column. It loads the ascending index with the department_id and corresponding rowid values in ascending order, starting with 0. When it uses the index, Oracle Database searches the sorted department_id values and uses the associated rowids to locate rows having the requested department_id value.

    cyber security

    By specifying the DESC keyword in the CREATE INDEX statement, you can create a descending index. In this case, the index stores data on a specified column or columns in descending order. If the index in Table 3-3 on the employees.department_id column were descending, then the leaf blocking containing 250 would be on the left side of the tree and block with 0 on the right. The default search through a descending index is from highest to lowest value.

    data analytics

    Descending indexes are useful when a query sorts some columns ascending and others descending. For an example, assume that you create a composite index on the last_name and department_id columns as follows:

    CopyCREATE INDEX emp_name_dpt_ix ON hr.employees(last_name ASC, department_id DESC); 
    

    If a user queries hr.employees for last names in ascending order (A to Z) and department IDs in descending order (high to low), then the database can use this index to retrieve the data and avoid the extra step of sorting it.

    digital transformation

  • Determining the Global Database Name

    The global database name consists of the user-specified local database name and the location of the database within a network structure.

    • Set the DB_NAME and DB_DOMAIN initialization parameters.

    Veeam certification malaysia

    The DB_NAME initialization parameter determines the local name component of the database name, and the DB_DOMAIN parameter, which is optional, indicates the domain (logical location) within a network structure. The combination of the settings for these two parameters must form a database name that is unique within a network.

    red hat certification malaysia

    For example, to create a database with a global database name of test.us.example.com, edit the parameters of the new parameter file as follows:

    DB_NAME = test
    DB_DOMAIN = us.example.com

    oracle certification malaysia

    You can rename the GLOBAL_NAME of your database using the ALTER DATABASE RENAME GLOBAL_NAME statement. However, you must also shut down and restart the database after first changing the DB_NAME and DB_DOMAIN initialization parameters and recreating the control files. Recreating the control files is easily accomplished with the command ALTER DATABASE BACKUP CONTROLFILE TO TRACE. See Oracle Database Backup and Recovery User’s Guide for more information.

    • DB_NAME Initialization Parameter
      The DB_NAME initialization parameter specifies a database identifier.
    • DB_DOMAIN Initialization Parameter
      In a distributed database system, the DB_DOMAIN initialization parameter specifies the logical location of the database within the network structure.

    Nutanix certification malaysia

  • Reverse Key Indexes

    reverse key index is a type of B-tree index that physically reverses the bytes of each index key while keeping the column order.

    microsoft 365 certification training courses malaysia

    For example, if the index key is 20, and if the two bytes stored for this key in hexadecimal are C1,15 in a standard B-tree index, then a reverse key index stores the bytes as 15,C1.

    lpi linux administration certification training courses malaysia

    Reversing the key solves the problem of contention for leaf blocks in the right side of a B-tree index. This problem can be especially acute in an Oracle Real Application Clusters (Oracle RAC) database in which multiple instances repeatedly modify the same block. For example, in an orders table the primary keys for orders are sequential. One instance in the cluster adds order 20, while another adds 21, with each instance writing its key to the same leaf block on the right-hand side of the index.

    lean six sigma certification training courses malaysia

    In a reverse key index, the reversal of the byte order distributes inserts across all leaf keys in the index. For example, keys such as 20 and 21 that would have been adjacent in a standard key index are now stored far apart in separate blocks. Thus, I/O for insertions of sequential keys is more evenly distributed.

    application services

    Because the data in the index is not sorted by column key when it is stored, the reverse key arrangement eliminates the ability to run an index range scanning query in some cases. For example, if a user issues a query for order IDs greater than 20, then the database cannot start with the block containing this ID and proceed horizontally through the leaf blocks.

  • Sample Initialization Parameter File

    Oracle Database provides generally appropriate values in a sample text initialization parameter file. You can edit these Oracle-supplied initialization parameters and add others, depending upon your configuration and options and how you plan to tune the database.

    red hat Linux administration training courses malaysia

    The sample text initialization parameter file is named init.ora and is found in the following location on most platforms: ORACLE_HOME/dbs

    red hat enterprise Linux rhel training courses malaysia

    Text Initialization Parameter File Format

    The text initialization parameter file specifies the values of parameters in name/value pairs.

    The text initialization parameter file (PFILE) must contain name/value pairs in one of the following forms:

    • For parameters that accept only a single value: parameter_name=value
    • For parameters that accept one or more values (such as the CONTROL_FILES parameter): parameter_name=(value[,value] …)

    Parameter values of type string must be enclosed in single quotes (‘). Case (upper or lower) in file names is significant only if case is significant on the host operating system.

    red hat certified specialist in server hardening malaysia

    For parameters that accept multiple values, to enable you to easily copy and paste name/value pairs from the alert log, you can repeat a parameter on multiple lines, where each line contains a different value.

    red hat certified specialist in Linux performance tuning malaysia

  • Index Clustering Factor

    The index clustering factor measures row order in relation to an indexed value such as employee last name. As the degree of order increases, the clustering factor decreases.

    oracle database training courses malaysia

    The clustering factor is useful as a rough measure of the number of I/Os required to read an entire table using an index:

    • If the clustering factor is high, then Oracle Database performs a relatively high number of I/Os during a large index range scan. The index entries point to random table blocks, so the database may have to read and reread the same blocks over and over again to retrieve the data pointed to by the index.
    • If the clustering factor is low, then Oracle Database performs a relatively low number of I/Os during a large index range scan. The index keys in a range tend to point to the same data block, so the database does not have to read and reread the same blocks over and over.

    oracle cloud infrastructure training courses malaysia

    The clustering factor is relevant for index scans because it can show:

    • Whether the database will use an index for large range scans
    • The degree of table organization in relation to the index key
    • Whether you should consider using an index-organized table, partitioning, or table cluster if rows must be ordered by the index key

    Example 3-4 Clustering Factor

    Assume that the employees table fits into two data blocks. Table 3-3 depicts the rows in the two data blocks (the ellipses indicate data that is not shown).

    nodejs training courses malaysia

    Table 3-3 Contents of Two Data Blocks in the Employees Table

    Data Block 1Data Block 2
    100 Steven King SKING ... 156 Janette King JKING ... 115 Alexander Khoo AKHOO ... . . . 116 Shelli Baida SBAIDA ... 204 Hermann Baer HBAER ... 105 David Austin DAUSTIN ... 130 Mozhe Atkinson MATKINSO ... 166 Sundar Ande SANDE ... 174 Ellen Abel EABEL ...149 Eleni Zlotkey EZLOTKEY ... 200 Jennifer Whalen JWHALEN ... . . . 137 Renske Ladwig RLADWIG ... 173 Sundita Kumar SKUMAR ... 101 Neena Kochar NKOCHHAR ...

    Rows are stored in the blocks in order of last name (shown in bold). For example, the bottom row in data block 1 describes Abel, the next row up describes Ande, and so on alphabetically until the top row in block 1 for Steven King. The bottom row in block 2 describes Kochar, the next row up describes Kumar, and so on alphabetically until the last row in the block for Zlotkey.

    mysql database training courses malaysia

    Assume that an index exists on the last name column. Each name entry corresponds to a rowid. Conceptually, the index entries would look as follows:

    CopyAbel,block1row1
    Ande,block1row2
    Atkinson,block1row3
    Austin,block1row4
    Baer,block1row5
    .
    .
    .

    Assume that a separate index exists on the employee ID column. Conceptually, the index entries might look as follows, with employee IDs distributed in almost random locations throughout the two blocks:

    Copy100,block1row50
    101,block2row1
    102,block1row9
    103,block2row19
    104,block2row39
    105,block1row4
    .
    .
    .

    The following statement queries the ALL_INDEXES view for the clustering factor for these two indexes:

    CopySQL> SELECT INDEX_NAME, CLUSTERING_FACTOR 
      2  FROM ALL_INDEXES 
      3  WHERE INDEX_NAME IN ('EMP_NAME_IX','EMP_EMP_ID_PK');
     
    INDEX_NAME           CLUSTERING_FACTOR
    -------------------- -----------------
    EMP_EMP_ID_PK                       19
    EMP_NAME_IX                          2

    The clustering factor for EMP_NAME_IX is low, which means that adjacent index entries in a single leaf block tend to point to rows in the same data blocks. The clustering factor for EMP_EMP_ID_PK is high, which means that adjacent index entries in the same leaf block are much less likely to point to rows in the same data blocks.

  • Index Skip Scan

    An index skip scan uses logical subindexes of a composite index. The database “skips” through a single index as if it were searching separate indexes.

    oracle siebel crm training courses malaysia

    Skip scanning is beneficial if there are few distinct values in the leading column of a composite index and many distinct values in the nonleading key of the index. The database may choose an index skip scan when the leading column of the composite index is not specified in a query predicate.

    oracle peoplesoft training courses malaysia

    Example 3-3 Skip Scan of a Composite Index

    Assume that you run the following query for a customer in the sh.customers table:

    CopySELECT * FROM sh.customers WHERE cust_email = 'Abbey@company.example.com';
    

    The customers table has a column cust_gender whose values are either M or F. Assume that a composite index exists on the columns (cust_gendercust_email). The following example shows a portion of the index entries:

    CopyF,Wolf@company.example.com,rowid
    F,Wolsey@company.example.com,rowid
    F,Wood@company.example.com,rowid
    F,Woodman@company.example.com,rowid
    F,Yang@company.example.com,rowid
    F,Zimmerman@company.example.com,rowid
    M,Abbassi@company.example.com,rowid
    M,Abbey@company.example.com,rowid
    

    The database can use a skip scan of this index even though cust_gender is not specified in the WHERE clause.

    In a skip scan, the number of logical subindexes is determined by the number of distinct values in the leading column. In the preceding example, the leading column has two possible values. The database logically splits the index into one subindex with the key F and a second subindex with the key M.

    oracle linux administration training courses malaysia

    When searching for the record for the customer whose email is Abbey@company.example.com, the database searches the subindex with the value F first and then searches the subindex with the value M. Conceptually, the database processes the query as follows:

    CopySELECT * FROM sh.customers WHERE cust_gender = 'F' 
      AND cust_email = 'Abbey@company.example.com'
    UNION ALL
    SELECT * FROM sh.customers WHERE cust_gender = 'M'
      AND cust_email = 'Abbey@company.example.com';

    oracle e business suite training courses malaysia

  • Index Unique Scan

    In contrast to an index range scan, an index unique scan must have either 0 or 1 rowid associated with an index key.

    prince2 certification training courses malaysia

    The database performs a unique scan when a predicate references all of the columns in the key of a UNIQUE index using an equality operator. An index unique scan stops processing as soon as it finds the first record because no second record is possible.

    power bi training courses malaysia

    As an illustration, suppose that a user runs the following query:

    CopySELECT *
    FROM   employees
    WHERE  employee_id = 5;
    

    Assume that the employee_id column is the primary key and is indexed with entries as follows:

    php programming training courses malaysia

    Copy1,rowid
    2,rowid
    4,rowid
    5,rowid
    6,rowid
    .
    .
    .
    

    In this case, the database can use an index unique scan to locate the rowid for the employee whose ID is 5.

    php and mysql training courses malaysia