1. 程式人生 > >Oracle安裝過程中使用者的區別

Oracle安裝過程中使用者的區別

  在安裝資料庫軟體的過程中,因為建立作業系統使用者,有些不太清楚為什麼要建立這麼多使用者,通過參考meclean的部落格,瞭解了很多

1、單例項使用者

我們在建立單例項的時候,一般用的使用者是 oracle  使用者,oinstall ,dba ,oper組

oinstall:oinstall 組是oracle 推薦作業系統的使用者組,該使用者組應該具有oracle 軟體目錄$ORACLE_BAES,$ORACLE_HOME,和 oracle Inventory資訊目錄倉庫,oracle Inventory資訊目錄記錄了系統上安裝過的oracle產品的記錄。

       如果系統中已經安裝有oracle產品軟體,則現有的oracle Inventory目錄的所有組必須是今後用來安裝新oracle軟體產品的使用者的主組(primary group)。

       現有的oracle Inventory擁有者組可以通過/etc/oraInst.loc位置檔案瞭解:

              inventory_loc=/u01/app/oracle/oraInventory

                 inst_group=oinstall

  若/etc/oraInst.loc(少數平臺不在該位置)位置檔案不存在,那麼建議建立oinstall使用者組,注意:如果是在RAC環境中要保持各節點上使用者組的gid一致:

groupadd -g 6000 oinstall

dba:OSDBA是我們必須要建立的一種系統DBA使用者組(dba),若沒有該使用者組我們將無法安裝資料庫軟體及執行管理資料庫的任務。

oper:oper我們可以選擇要不要建立該使用者組,建立該使用者組可以滿足讓os使用者行使某些資料庫管理許可權(包括SYSOPER角色許可權)的目的。注意SYSOPER的許可權包括startup和shutdown,所以要小心為該使用者組新增成員。

      說到這我們可能對sysoper和sysdba的的許可權比較模糊,這兩個有什麼區別呢????

            SYSDBA:一種系統許可權,當我們以SYSDBA這個身份去登陸資料庫,我們當前的default schema是SYS,有下面許可權

 ■STARTUP and SHUTDOWN operations

■ALTER DATABASE: open, mount, back up, or change character set

■CREATE DATABASE
■DROP DATABASE
■CREATE SPFILE
■ALTER DATABASE ARCHIVELOG
■ALTER DATABASE RECOVER
■Includes the RESTRICTED SESSION privilege

              SYSOPER:一種系統許可權,當我們以SYSOPER這個身份去登陸資料庫,我們當前的default schema是PUBLIC,有下面許可權   

■ Perform STARTUP and SHUTDOWN operations
■ CREATE SPFILE
■ ALTER DATABASE OPEN/MOUNT/BACKUP
■ ALTER DATABASE ARCHIVELOG
■ ALTER DATABASE RECOVER (Complete recovery only. Any form of incomplete recovery, such as UNTILTIME|CHANGE|CANCEL|CONTROLFILE requires connecting as SYSDBA.)
■ Includes the RESTRICTED SESSION privilege

                   SYSDBA和SYSOPER系統許可權允許我們在資料庫開啟之前以這兩種身份去訪問例項。

綜上所述在單機環境(single-instance)中oracle軟體擁有者使用者(常見的oracle或者orauser),因該同時是oinstall、dba、oper使用者組的成員。同時該使用者的主使用者組必須是oinstall。

2 叢集環境:

11g release2中oracle建議獨立地管理Grid Infrastructure和ASM例項,因此有必要建立更多的os使用者組以滿足不同的許可權分配

asmadmin:如果使用ASM,那麼我們必須建立osasm(asmadmin)使用者組,該OSASM使用者組的成員將被賦予SYSASM許可權,以滿足組成員管理Oracle Clusterware和Oracle ASM的許可權需求。

asmdba:OSDBA(asmdba)使用者組的成員將被賦予讀寫訪問ASM檔案的許可權。GI/CRS擁有者使用者和所有oracle資料庫軟體的擁有者必須是該組的成員。同時所有OSDBA(dba)使用者組的成員也必須是asmdba組的成員。

asmoper:asmoper和oper類似都是額外的可選擇建立的使用者組,建立該獨立的使用者組以滿足賦予使用者一套受限的ASM例項管理許可權(ASM的SYSOPER角色),該許可權包括了啟動和停止ASM例項,預設情況下OSASM(asmadmin)組成員將擁有所有SYSOPER的ASM管理許可權



 groupadd -g 5000 asmadmin
groupadd -g 5001 asmdba
groupadd -g 5002 asmoper
groupadd -g 6000 oinstall
groupadd -g 6001 dba
groupadd -g 6002 oper 
useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid
useradd -g oinstall -G dba,asmdba oracle

you must create this group the first time you install Oracle Database software on the system. This group identifies operating system user accounts that have database administrative privileges (the SYSDBA privilege). If you do not create separate OSDBA, OSOPER and OSASM groups for the Oracle ASM instance, then operating system user accounts that have the SYSOPER and SYSASM privileges must be members of this group. The name used for this group in Oracle code examples is dba. If you do not designate a separate group as the OSASM group, then the OSDBA group you define is also by default the OSASM group.

To specify a group name other than the default dba group, then you must choose the Advanced installation type to install the software or start Oracle Universal Installer (OUI) as a user that is not a member of this group. In this case, OUI prompts you to specify the name of this group.

Members of the OSDBA group formerly were granted SYSASM privileges on Oracle ASM instances, including mounting and dismounting disk groups. This privileges grant is removed with Oracle Grid Infrastructure 11g release 2, if different operating system groups are designated as the OSDBA and OSASM groups. If the same group is used for both OSDBA and OSASM, then the privilege is retained.

The OSOPER group for Oracle Database (typically, oper)

This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of database administrative privileges (the SYSOPER privilege). By default, members of the OSDBA group also have all privileges granted by the SYSOPER privilege.

To use the OSOPER group to create a database administrator group with fewer privileges than the default dba group, then you must choose the Advanced installation type to install the software or start OUI as a user that is not a member of the dba group. In this case, OUI prompts you to specify the name of this group. The usual name chosen for this group is oper.

The Oracle Automatic Storage Management Group (typically asmadmin)

This is a required group. Create this group as a separate group if you want to have separate administration privilege groups for Oracle ASM and Oracle Database administrators. In Oracle documentation, the operating system group whose members are granted privileges is called the OSASM group, and in code examples, where there is a group specifically created to grant this privilege, it is referred to as asmadmin.

If you have multiple databases on your system, and use multiple OSDBA groups so that you can provide separate SYSDBA privileges for each database, then you should create a separate OSASM group, and use a separate user from the database users to own the Oracle Grid Infrastructure installation (Oracle Clusterware and Oracle ASM). Oracle ASM can support multiple databases.

Members of the OSASM group can use SQL to connect to an Oracle ASM instance as SYSASM using operating system authentication. The SYSASM privileges permit mounting and dismounting disk groups, and other storage administration tasks. SYSASM privileges provide no access privileges on an RDBMS instance.

The Oracle ASM Database Administrator group (OSDBA for ASM, typically asmdba)

Members of the Oracle ASM Database Administrator group (OSDBA for ASM) are granted read and write access to files managed by Oracle ASM. The Oracle Grid Infrastructure installation owner and all Oracle Database software owners must be a member of this group, and all users with OSDBA membership on databases that have access to the files managed by Oracle ASM must be members of the OSDBA group for ASM.

Members of the Oracle ASM Operator Group (OSOPER for ASM, typically asmoper)

This is an optional group. Create this group if you want a separate group of operating system users to have a limited set of Oracle ASM instance administrative privileges (the SYSOPER for ASM privilege), including starting up and stopping the Oracle ASM instance. By default, members of the OSASM group also have all privileges granted by the SYSOPER for ASM privilege.

To use the Oracle ASM Operator group to create an ASM administrator group with fewer privileges than the default asmadmin group, then you must choose the Advanced installation type to install the software, In this case, OUI prompts you to specify the name of this group. In code examples, this group is asmoper.

An Oracle central inventory group, or oraInventory group (oinstall). Members who have the central inventory group as their primary group, are granted the OINSTALL permission to write to the oraInventory directory.

A single system privileges group that is used as the OSASM, OSDBA, OSDBA for ASM, and OSOPER for ASM group (dba), whose members are granted the SYSASM and SYSDBA privilege to administer Oracle Clusterware, Oracle ASM, and Oracle Database, and are granted SYSASM and OSOPER for ASM access to the Oracle ASM storage.

An Oracle grid installation for a cluster owner (grid), with the oraInventory group as its primary group, and with the OSASM group as the secondary group, with its Oracle base directory /u01/app/grid.

An Oracle Database owner (oracle) with the oraInventory group as its primary group, and the OSDBA group as its secondary group, with its Oracle base directory /u01/app/oracle.

/u01/app owned by grid:oinstall with 775 permissions before installation, and by root after the root.sh script is run during installation. This ownership and permissions enables OUI to create the Oracle Inventory directory, in the path /u01/app/oraInventory.

/u01 owned by grid:oinstall before installation, and by root after the root.sh script is run during installation.

/u01/app/11.2.0/grid owned by grid:oinstall with 775 permissions. These permissions are required for installation, and are changed during the installation process.

/u01/app/grid owned by grid:oinstall with 775 permissions before installation, and 755 permissions after installation.

/u01/app/oracle owned by oracle:oinstall with 775 permissions.

An Oracle central inventory group, or oraInventory group (oinstall), whose members that have this group as their primary group are granted permissions to write to the oraInventory directory.

A separate OSASM group (asmadmin), whose members are granted the SYSASM privilege to administer Oracle Clusterware and Oracle ASM.

A separate OSDBA for ASM group (asmdba), whose members include grid, oracle1 and oracle2, and who are granted access to Oracle ASM.

A separate OSOPER for ASM group (asmoper), whose members are granted limited Oracle ASM administrator privileges, including the permissions to start and stop the Oracle ASM instance.

An Oracle grid installation for a cluster owner (grid), with the oraInventory group as its primary group, and with the OSASM (asmadmin), OSDBA for ASM (asmdba) group as a secondary group.

Two separate OSDBA groups for two different databases (dba1 and dba2) to establish separate SYSDBA privileges for each database.

Two Oracle Database software owners (oracle1 and oracle2), to divide ownership of the Oracle database binaries, with the OraInventory group as their primary group, and the OSDBA group for their database (dba1 or dba2) and the OSDBA for ASM group (asmdba) as their secondary groups.

An OFA-compliant mount point /u01 owned by grid:oinstall before installation.

An Oracle base for the grid installation owner /u01/app/grid owned by grid:oinstall with 775 permissions, and changed during the installation process to 755 permissions.

An Oracle base /u01/app/oracle1 owned by oracle1:oinstall with 775 permissions.

An Oracle base /u01/app/oracle 2 owned by oracle2:oinstall with 775 permissions.

A Grid home /u01/app/11.2.0/grid owned by grid:oinstall with 775 (drwxdrwxr-x) permissions. These permissions are required for installation, and are changed during the installation process to root:oinstall with 755 permissions (drwxr-xr-x).

/u01/app/oraInventory. This path remains owned by grid:oinstall, to enable other Oracle software owners to write to the central inventory.


http://www.oracledatabase12g.com/archives/oracle-installation-os-user-groups.html

http://blog.sina.com.cn/s/blog_62f8bf9b0100lujh.html