OpenLLM-France/wikimedia huggingface dataset:
# Persian/Lesson 10

| | فارسی (‹fârsi›, “Persian”) Learn the Persian language Contents • Introduction Persian Alphabet lessons: 1 ( ۱ ) • 2 ( ۲ ) • 3 ( ۳ ) • 4 ( ۴ ) Elementary grammar: 5 ( ۵ ) • 6 ( ۶ ) • 7 ( ۷ ) • 8 ( ۸ ) • 9 ( ۹ ) 10 ( ۱۰ ) • 11 ( ۱۱ ) • 12 ( ۱۲ ) • 13 ( ۱۳ ) • 14 ( ۱۴ ) • 15 ( ۱۵ ) Intermediate: 16 ( ۱۶ ) • 17 ( ۱۷ ) • 18 ( ۱۸ ) • 19 ( ۱۹ ) • 20 ( ۲۰ ) 21 ( ۲۱ ) • 22 ( ۲۲ ) • 23 ( ۲۳ ) • 24 ( ۲۴ ) • 25 ( ۲۵ ) • 26 ( ۲۶ ) Advanced: Appendix: Alphabet • Glossary • Handwriting |
| To continue, your computer must display Persian. The box below should show these Persian letters on the far right: ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی If they are different or in the wrong order, see Persian Computing. |||
In this lesson, you will learn how use prepositions and the definite direct object marker in Persian.

## Dialogue: ... ‹...›

... and... are talking....
| X: | ‹...› “...” | ... Missing audio. If you are fluent in Persian, record and upload your voice. | ...: |
| Y: | ‹...› “...” | ... Missing audio. If you are fluent in Persian, record and upload your voice. | ...: |
Explanation
    ... and ....
Vocabulary
* آقا ‹âqâ› IPA: /ɒːˈɣɒː/ — “Mr.”
درس 10
    ه
    ش
    سه – drie
    نامه – letter
    به – naar
    مد ير – directeur
    سبزي – groente
    بيمار – ziek, patient
    نوستن – schrijven
    مي نويسد – hij schrijft
    شسستن – wassen
    ريختن – gieten
    مي ريزد – hij giet
    پاك كردن - schoonmaken
    كشك – yoghurtsoort
    آش – soep
    داشتن – hebben
    رشته – macaroni soort
    اكرم سه روز بيمار بود – Akram was drie dagen ziek
    مادر اكرم نامه نوشت – De moeder van Akram schrijft een brief
    اكرم آش درست كرد – Akram maakt soep
    مادر امين سبزي را شست – De moeder van Amin wast de groente
    او در آش كشك و سبزي مي ريزذ - Zij doet (soort yoghurt) en de groente in de soep
    مادر امين سبزي را شست – Amin en Akram houden van soep

## Direct objects

The word را ‹râ› marks definite direct objects in Persian. That is,
Colloquially, را is pronounced ‹ro› after a vowel or ‹o› after a consonant.
In written Persian, من را ‹man râ› may contract to مارا ‹mârâ› , but colloquially pronounced ‹mano›. Similarly, written تو را ‹to râ› can contract to تورا ‹torâ› but colloquially pronounced ‹toro›.

## Next: Lesson 11 ( ۱۱ ), Present tense

Continue to Lesson 11 ( ۱۱ ), Present tense >>
* Contents • Introduction
* Persian Alphabet lessons: 1 ( ۱ ) • 2 ( ۲ ) • 3 ( ۳ ) • 4 ( ۴ )
* Elementary grammar: 5 ( ۵ ) • 6 ( ۶ ) • 7 ( ۷ ) • 8 ( ۸ ) • 9 ( ۹ )
* 10 ( ۱۰ ) • 11 ( ۱۱ ) • 12 ( ۱۲ ) • 13 ( ۱۳ ) • 14 ( ۱۴ ) • 15 ( ۱۵ )
* Intermediate: 16 ( ۱۶ ) • 17 ( ۱۷ ) • 18 ( ۱۸ ) • 19 ( ۱۹ ) • 20 ( ۲۰ )
* 21 ( ۲۱ ) • 22 ( ۲۲ ) • 23 ( ۲۳ ) • 24 ( ۲۴ ) • 25 ( ۲۵ ) • 26 ( ۲۶ )
* Advanced:
* Appendix: Alphabet • Glossary • Handwriting
This section of the Persian Language Wikibook is a stub. You can help Wikibooks by expanding it. (See the Persian course Planning page.)
# Summary

Oracle and DB2 Data Type Comparison Matrix
In this matrix, each data type described for Oracle is listed in the left hand column, and is paired with its DB2 equivalent in the right hand column. Where DB2 has a number of named data types that equate to a single Oracle data type (for example in Numeric Data Types), the related Oracle data type is shown duplicated but with a precision and scale that equal the DB2 data type. If there is no equivalence, the data type is left blank and a mention is made in the Description. The net is that for each data type previously identified for Oracle and DB2 there is an entry in the following matrix.
* Oracle has the built-in SQL functions DBTIMEZONE and SESSIONTIMEZONE that you can query to verify the database and session time zones. If the database time zone or the session time zone has not been set manually, Oracle Database uses the operating system time zone
DB2 has a series of special registers that are storage areas that can be referenced in SQL statements. CURRENT TIMEZONE specifies the TIMEZONE parameter in the form of a time duration with a data type of DECIMAL(6,0) in the format HHMMSS. The time duration is derived by the instance that executes the SQL statement. To get the CURRENT TIME or CURRENT TIMESTAMP adjusted to GMT/UTC, subtract the CURRENT TIMEZONE register from the CURRENT TIME or TIMESTAMP.
The assumption is that the clock is set to local time and the TIMEZONE parameter is zero, or the clock is set to GMT and the TIMEZONE parameter gives the difference from GMT.
The net of this is that TIMESTAMP, TIMESTAMP WITH TIMEZONE and TIMESTAMP WITH LOCAL TIMEZONE are all really the same thing. They are a timestamp with the format YYYY / MM / DD / HH:MM:SS:FFFFFF that is adjusted based on the setting of the clock on the server of the database instance, AND the value of a register (DB2) or built-in function (Oracle). It’s just something you need to pay attention to in conversion/compatibility. What are the settings where you are, and what are the settings where you are going.
Because of how DB2 points to rows within a page, the ROWID points to the page that contains the row. Where the actual row exists in the page is handled by pointers (since a row can move around in a page, and it’s offset is stored in the ID Map at the bottom of the page), so the ROWID will get you to the DB2 page, and then it’s ID Map will get you to the row. In Oracle, the ROWID points to the row location in the block, and if that location is a pointer to another block, this is a relative address (UROWID).
* SQL statements that create tables and clusters can also use ANSI and DB2 data types. Oracle provides the XMLType datatype to handle XML data. Oracle will recognize the ANSI or DB2 data type name and use this as the name of the data type of the column. The actual data is stored as an Oracle native data type. XML data stored in DB2 is stored in the UTF-8 code set. XML values are stored in an internal representation that is not a string and is not directly comparable to string values.
# DB2

If the length of the character data varies significantly, VARCHAR is more efficient because CHAR will pad the field with blanks to the length of CHAR(n). These blanks will be transmitted across the network. If the size of actual data does not vary much, CHAR is more efficient since each VARCHAR field has a few bytes of length information.
DB2 has a series of special registers that are storage areas that can be referenced in SQL statements. CURRENT TIMEZONE specifies the TIMEZONE parameter in the form of a time duration with a data type of DECIMAL(6,0) in the format HHMMSS. The time duration is derived by the instance that executes the SQL statement. To get the CURRENT TIME or CURRENT TIMESTAMP adjusted to GMT/UTC, subtract the CURRENT TIMEZONE register from the CURRENT TIME or TIMESTAMP.
The assumption is that the clock is set to local time and the TIMEZONE parameter is zero, or the clock is set to GMT and the TIMEZONE parameter gives the difference from GMT.
# Overview

Indices are performance structures. Generally, indexes speed access to data. An index operates like a directory – it is organized in a way that you can quickly find the entry you need. Indexes work on the contents of columns in your tables. When you use an index, the database will scan the sorted index to locate the data you need. If you have many indexes it can actually clobber database performance because each index needs to be maintained every time the data changes (inserts, updates and deletes). Just because indexes are a good thing they are like anything else in life; you can have too much of a good thing.
Indexes in some instances may not be the fastest way to access data. If you have very small tables, it is quicker to read the whole table to get the entry you want rather than reading the index first and then reading the data. If it the job of the cost-based Optimizer to decide whether to use an index. If you are positive you want you're query to use a specific index, you can override the optimize with a Hint.
Both Oracle and DB2 have unique, non-unique, and composite indexes, and handle them in much the same way. Both use a balanced B-tree index to provide equal access to any row in the table. B-trees are optimized for systems that read and write large blocks of data (i.e. databases and file systems.) A B-tree is a tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions. A B-tree is kept balanced by requiring that all leaf nodes are at the same depth. This depth increases as elements are added to the tree, but the overall depth does not increase much.
Unique indexes guarantee that now two columns in the index have the same value. Unique indexes are automatically created for each primary key on a table. This ensures that each row has a unique identifier.
Non-unique indexes allow columns in an index to have the same value. A simple example would be to create an index on last name. You could then access all the people with the last name ‘Smith’.
Composite indexes are comprised of more than one column. This is useful where two columns in a table are often accessed together.
The following sections on Oracle and DB2 cover how each handle indexes differently. The summary contains an overview of how each DBMS handles clustering, which in most cases depend on indexes.
# Oracle

In Oracle indexes are stored in their own segment separately from the table they index, and they identify table rows by pointing to the rowid in the block header. Indexes are used and maintained by the Optimizer.
From the Physical Storage section earlier on Oracle, there can be indexes on tables, and indexes on clusters. The cluster index is different from a table index in that the index must exist before data is inserted into the table, and clustered data cannot be accessed without the cluster index. Since the advantage of clustering is that a block fetch retrieves a group of logically related (and hence physically adjacent) data, the cluster index points to a block (instead of a row).

## Bitmapped Indexes

Bitmapped indexes (introduced in Oracle 7) are particularly useful in data warehouse applications where data is typically retrieved on broad criteria such as “How many orders came from California last year”. Bitmapped indexes can be used alongside standard table indexes, clustered indexes and hash clusters. Bitmap indexes have a significant space and performance advantage over other indexes. Bitmap indexes use bit arrays (bitmaps). While a regular index will typically uniquely identify a row, you can use a bitmap when you want to find all the column index values that are the same. For example, if you created a bitmapped index on ‘California’ you would use logical bitwise comparison against this bitmap to rapidly identify all occurrences of ‘California’ as opposed to a string comparison. Bitmapped indexes are maintained by the DBMS across insertion, deletion and modification.
# Overview

Databases store data. That’s what they do. Because of this, each vendor has paid special attention to the data types that they support. Within each database, data types are pretty much nailed down. There’s a ton of information about how the data is stored and how it is handled if it is moved to another column with a different data type.
The tables in the Oracle and DB2 sections are an overview of the data types handled by each database. The tables in each section have information pertinent to the data type within it’s respective DBMS. The table in the summary is the intersection of Oracle and DB2 data types – what is equivalent, and what needs special handling i.e. conversion.
# Oracle

VARCHAR and LONG are deprecated and exist for backward compatibility only. Currently, VARCHAR is a synonym for VARCHAR2 but this may change in the future. CLOB and NCLOB should be used in new applications instead of LONG.
You can verify the database and session time zones by querying the built-in SQL functions DBTIMEZONE and SESSIONTIMEZONE. If the database time zone or the session time zone has not been set manually, Oracle Database uses the operating system time zone
Both RAW and LONG RAW are used for data that is not interpreted by the database binary data and byte strings, LONG RAW is (or rather was) for large binary objects – for the storage of Audio, Video. Support for these type of Large Objects (LOBs) has improved considerably from the first implementations of LONG RAW, with different data types specific for LOBs such as unstructured binary data, unstructured character data, Unicode character data, and LOBs stored externally to the Oracle file system. The LONG RAW data type is for backward compatibility with existing applications. For new applications that need to store large amounts of binary data the BLOB and BFILE data types should be used. It is also recommended that LONG RAW columns are converted to LOB columns. LOB functionality is enhanced for every release, but because it is for backward compatibility only, LONG RAW is static.
Physical ROWIDS store row addresses for regular tables, clustered tables, table partitions and sub partitions, indexes, index partitions and subpartitions. Logical ROWIDS store row addresses for index-organized tables.
# DB2

A DB2 index is physically stored in its own index space, separate from the data in the table. DB2 will create and maintains indexes for you when you use the CREATE INDEX statement. An Index Space is a storage structure that contains a single index and it is created in the same database as its table.
The main purposes of indexes are to improve performance and to ensure row uniqueness. The optimizer decides when an index will be used to access a table, although it is possible for you to influence their usage.
In DB2 indexes can also be used to cluster data, partition data and provide index-only access to data.
An index can be either partitioning or nonpartitioning, and either type can be clustered. For example, you can partition data by date, possibly using one partition for each day. Your choice of a partitioning scheme is based on how an application accesses data, how much data you have, and how large you expect the total amount of data to grow.

## Bitmapped Indexes

DB2 optimizer will create bitmap indexes dynamically when they are needed. This removes the requirement having to create and maintain static bitmap indexes. For example, you may create a bitmap index on a low cardinality column in Oracle, bit in DB2 this will be done for you. With static bitmap indexes there is an additional overhead in that each insert, update and delete needs to update the indexes. Dynamic bitmap indexes have no disk or update overhead and DB2 can give you good performance by accessing the index and handling the ROWIDS in memory.
# Overview

Earlier we introduced a general architecture for a relational database. The word database, however, is used to identify several different things: the Database Server, the Database instance and the user data held in the database. Technically the database is the collection of user data, control files and log files that are held on disk - the physical storage. Data can be stored in Linux file systems, Linux raw partitions and different types of RAID storage. Both Oracle and IBM recommend the use of Linux files systems. Apart from similarities in preference for physical storage the logical layout of the data is different, for example in Oracle both table and index data can reside in the same tablespace, but DB2 implements separate table and index spaces. This section extends the constructs introduced earlier by describing the actual physical organization of data on disk for each database, and then how this organization is manifest in Tables, Indexes and Data Types for each database.

## Physical Storage

    Oracle
    DB2
    Summary

## Tables

    Overview
    Oracle
    DB2

## Indexes

    Overview
    Oracle
    DB2
    Summary

## Data Types

    Overview
    Oracle
    DB2
    Summary
# RAC Attack - Oracle Cluster Database at Home/Create Interconnect

Prev: Linux Install
* Create Interconnect
* Create Shared Disks
* Copy VM
* Configure Disks
* Configure Node 1
* Configure Node 2
* SSH and CVU
Next: Grid Install (ASM or Shared Filesystem)
* If the machine is running then logout and shutdown. The machine needs to be powered off.
* In the Inventory tab at the left, select collabn1 (the virtual machine we just created).
* Scroll down to the Hardware box and CONFIRM that there is one Network Adapter of type NAT.
* From the Commands box, click Add Hardware. In the window that appears, click Network Adapter.
* Choose to create a HostOnly network connection. This will be used for the interconnect. Then click Next.
* Click FINISH to create the network adapter.
# RAC Attack - Oracle Cluster Database at Home/Create VM

Prev: Hardware and Windows Preparation
* Create VM
* Prep for OS Installation
* OS Installation
* Wrap-up OS Installation
* Create RAC Attack DVD
* Prep for Oracle
Next: Create Cluster
* From the SUMMARY screen, choose Create Virtual Machine. Name the new machine collabn1 and select the RAC11g datastore.
* Select Linux Operating System and choose Red Hat Enterprise Linux 5 (32-bit).
* Allocate 760M of memory for the virtual machine and choose 1 processor.
* Choose to Create a New Virtual Disk.
* Set the disk size to 30G and name the file [RAC11g] collabn1/system.vmdk – leave all other options at their defaults and click Next.
* Choose to Add a Network Adapter.
* Choose to create a NAT network connection.
* Choose Don't Add a CD/DVD Drive.
* Choose Don't Add a Floppy Drive.
* Choose Don't Add a USB Controller.
* Review the configuration and click Finish. Do not power on the virtual machine yet.
# RAC Attack - Oracle Cluster Database at Home/Create Database
## RAC Attack - Oracle Cluster Database at Home (e)

    Overview
    Planning Your Time
    Events
    Creating Printed Lab Handbooks
    Local Manual of Style
    Bullpen (Newly Contributed Content)
    Expanded Table of Contents

#### Part I: Setting Up RAC

* Hardware and Windows Preparation
* Linux Install
* Create Cluster
* Grid Install (ASM)
* Grid Install (Shared Filesystem)
* RAC Install
* Create Database
* Rolling Patches

#### Part II: Exploring RAC

* Clusterware Testing
* Services, Failover and Load Balancing
* RAC SQL and PLSQL
* RAC Backups and Recovery
Prev: RAC Install

## Create Database

* Create DB
Next: Rolling Patches
# RAC Attack - Oracle Cluster Database at Home/Database Backups

Prev: RAC SQL and PLSQL
* Setup Backups
* Flashback Database
* Block Change Tracking
* Archived Logs
* Database Backups
* Database Recovery
Next: Home
We will configure backups to take full advantage of the cluster by running in parallel.
* Configure the RMAN default channels and parallelism. RMAN> configure device type disk parallelism 2 backup type to compressed backupset; RMAN> configure channel 1 device type disk connect 'sys/racattack@rac1'; RMAN> configure channel 2 device type disk connect 'sys/racattack@rac2'; RMAN> show all;
* Take a complete hot backup of the entire database. RMAN> backup database plus archivelog; Starting backup at 04-MAY-09 current log archived channel ORA_DISK_1: starting compressed archived log backup set channel ORA_DISK_2: starting compressed archived log backup set ... Finished backup at 04-MAY-09 Starting backup at 04-MAY-09 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_2: starting compressed full datafile backup set ... Finished backup at 04-MAY-09 Starting backup at 04-MAY-09 current log archived channel ORA_DISK_1: starting compressed archived log backup set channel ORA_DISK_2: starting compressed archived log backup set ... Finished backup at 04-MAY-09
* Crosscheck the backup. What happens and why? RMAN> list backupset summary; Key TY LV S Device Type Completion Time #Pieces #Copies Compressed ------- -- -- - ----------- --------------- ------- ------- ---------- 1 B A A DISK 04-MAY-09 1 1 YES 2 B A A DISK 04-MAY-09 1 1 YES 3 B A A DISK 04-MAY-09 1 1 YES 4 B A A DISK 04-MAY-09 1 1 YES 5 B F A DISK 04-MAY-09 1 1 YES 6 B F A DISK 04-MAY-09 1 1 YES 7 B F A DISK 04-MAY-09 1 1 YES 8 B F A DISK 04-MAY-09 1 1 YES 9 B A A DISK 04-MAY-09 1 1 YES 10 B A A DISK 04-MAY-09 1 1 YES RMAN> allocate channel for maintenance device type disk; released channel: ORA_DISK_1 released channel: ORA_DISK_2 allocated channel: ORA_MAINT_DISK_1 channel ORA_MAINT_DISK_1: SID=111 instance=RAC1 device type=DISK RMAN> crosscheck backup; RMAN> list backupset summary; Try this again, without allocating the maintenance channel. What happens and why?
# RAC Attack - Oracle Cluster Database at Home/Download Oracle Enterprise Linux

* Hardware and Windows Minimum Requirements
* Install VMware Server
* Setup Virtual Networks
* Setup Virtual Storage
* Download Oracle Enterprise Linux
Next: Linux Install
If you are at an event, then the event organizers have already downloaded the software and copied it to the Jumpstart Drive.
If you are at home, then follow these instructions to download Oracle Enterprise Linux.
* Visit http://edelivery.oracle.com/linux and choose Continue.
* Enter your Name, Company, Email and Country and review/accept the license and export restrictions before clicking Continue. If you have visited Oracle EDelivery before then make sure to enter your information exactly the same. If this is the first time you've downloaded software from Oracle, then you might have to wait a few days until you receive an email from Oracle granting you permission to continue.
* Search for Oracle Linux on the x86-32-bit platform. Choose Oracle Linux Release 5 Update 6.
* Download the file for x86 (32 bit) – not the source.
* This zip file will contain a single file named Enterprise-R5-U6-Server-i386-dvd.iso – extract this file into the RAC11g-iso folder and then delete the original zip file.
# RAC Attack - Oracle Cluster Database at Home/Create Shared Disks

Prev: Linux Install
* Create Interconnect
* Create Shared Disks
* Copy VM
* Configure Disks
* Configure Node 1
* Configure Node 2
* SSH and CVU
Next: Grid Install (ASM or Shared Filesystem)
REPEAT STEPS 1-6 FOR BOTH OF THESE DEVICES:
| Virtual Device Node (Adapter/Device) | Size | Path (Datastore/Directory/Filename) |
| SCSI 1:0 | 3.25 GB | [RAC11g-shared] data.vmdk |
| SCSI 1:1 | 3.25 GB | [RAC11g-shared] backup.vmdk |
* In the Inventory tab at the left, select collabn1 (the virtual machine we just created).
* From the Commands box, click Add Hardware. In the window that appears, click Hard Disk.
* Choose to Create a New Virtual Disk and click Next.
* Enter a capacity of 3.25 GB and type the name “[RAC11g-shared] data.vmdk”.
** Choose File Options → Allocate all disk space now.
** Choose Disk Mode → Independent and Persistent.
** Choose Virtual Device Node → SCSI 1:0. Click Next to continue.
* Click Finish to create the disk. It may take a moment for the disk to appear to the VMware console. Wait until the new disk appears before you continue with the lab. Furthermore, the web browser may display an error which requires you to reload the page and login to VMware again.
* Repeat steps 1-5 for the second disk (it is listed at the beginning of this lab).
* CONFIRM that your list of hard disks and network devices matches this screenshot.
* From the Commands box, click Configure VM.
* Click the Advanced tab and scroll down to the Configuration Parameters. Use the Add New Entry button to add the entries listed here. Click OK to save the configuration changes. NameValue disk.lockingfalse diskLib.dataCacheMaxSize0 diskLib.maxUnsyncedWrites0 mainMem.useNamedFilefalse I have found the following three websites among the most useful while creating custom VMware configurations. They show how powerful and versatile VMware is – even the free VMware Server product. http://sanbarrow.com/vmx/vmx-advanced.html http://sanbarrow.com/vmx/vmx-config-ini.html http://vmfaq.com/?View=entry&EntryID=25