Oracle数据库用户
来源:互联网 发布:php微信token验证失败 编辑:程序博客网 时间:2024/04/30 08:15
每个与数据库建立了两层连接的进程都通过一个PeopleSoft User或者operator ID识别自身。对登录过程进行处理的目的是为了安全的验证PeopleSoft operator(已通过密码验证)被允许访问PeopleSoft应用。
从 version 8开始,一个PeopleSoft数据库只需要三个Oracle数据库方案:
- Owner ID:该schema包含大多数数据库对象。PeopleSoft进程以该数据库用户访问数据库。
- Connect ID:登录数据库的过程中使用该低安全性数据库用户,直到密码被验证。
- PS:该schema包含一张表,用于描述“哪些PeopleSoft数据库在Oracle数据库中”。
Owner ID (SYSADM)
一当登录过程完成之后,PeopleSoft进程(如一个两层的客户端进程或者一个应用服务器进程)通过管理schema(Owner ID,包含几乎所有PeopleSoft对象)连接到数据库。该schema可以访问PeopleSoft数据库中的任何表或视图。在PeopleSoft应用之中控制数据库中的对象访问,而不是通过数据库层进行控制。
Owner ID也被称作Access ID,因为所有的PeopleSoft进程使用该用户访问数据库。然而使用其他Access ID也是可能的。
按照惯例,管理schma通常叫作SYSADM,虽然使用一个不同的名字也是可以的。这个账户的密码非常重要,需要与Unix下的root账户、SYS账户和SYSTEM账户的密码同等重视。Owner ID具有某些通过一个叫作PSADMIN的角色赋予的权限。
Connect ID (PEOPLE)
从PeopleTools 8 开始,每个进程与数据库进行的第一次连接都是通过一个低安全性的用户账户即Connect ID(通常命名为PEOPLE)。它只具有一个通过PSUSER角色赋予的CREATE SESSION权限以及三个明确的SELECT权限:
以下内容从grant.sql中抽取:
- -- This script grants select privileges to the PeopleSoft Connect ID.
- -- An Oracle DBA is required to run this script logged in as the PSOFT
- -- Schema Owner(ie ACCESSID).
- --
- -- Before running this script, modify the following parameters
- -- <CONNECTID>
- --
- -- Grant select on Psoft Security Tables to Connect ID
- grant selecton PSSTATUS to <CONNECTID>;
- grant selecton PSOPRDEFN to <CONNECTID>;
- grant selecton PSACCESSPRFL to <CONNECTID>;
- commit;
- REMARK -- This script sets up the PeopleSoft Connect ID.
- REMARK -- An Oracle DBA is required to run this script prior
- REMARK -- to loading a PSOFT database.
- REMARK --
- REMARK -- If you wish to use the default CONNECTID and PASSWORD,
- REMARK -- then run this script as is.
- REMARK -- If you wish to change the default CONNECTID and PASSWORD,
- REMARK -- DELETE the default CREATE and GRANT statements below and
- REMARK -- uncomment the template version modifying the following
- REMARK -- parameters <CONNECTID> , <PASSWORD> , <TSPACE>
- REMARK --
- REMARK -- Create the PeopleSoft Administrator schema.
- set echo on
- spool connect.log
- REMARK drop user peoplecascade;
- create user people identifiedby peop1e default tablespace PSDEFAULT
- temporary tablespace PSTEMP;
- GRANT CREATE SESSIONto people;
- REMARK -- drop user <CONNECTID> cascade;
- REMARK -- create user <CONNECTID> identified by <PASSWORD> default tablespace <TSPACE>
- REMARK -- temporary tablespace <TSPACE>;
- REMARK -- GRANT CREATE SESSION to <CONNECTID>;
- spool off
Connect ID只提供了很少的PeopleTools表的访问权限,目的是允许登录过程的验证。在密码成功验证之后,进程就会以Access ID重新连接。
PeopleTools 7.x 及以前,每个PeopleSoft operator在数据库中都对应一个数据库用户。每次在应用中创建一个PeopleSoft operator之后,PSUSER角色就会被赋予给该PeopleSoft operator ID。PSUSER角色只包含CREATE SESSION权限,将这个该权限赋予给用户会隐式的创建数据库用户,如下所示:
- 在PeopleTools 7.5中创建了一个用户的Trace:
- 5-312 0.961 Cur#1 RC=0 Dur=0.310 COM Stmt=GRANT PSUSER TO NEWOP
- 5-313 0.811 Cur#1 RC=0 Dur=0.811 COM Stmt=GRANT SELECT ON PSLOCK TO NEWOP
- 5-314 0.531 Cur#1 RC=0 Dur=0.531 COM Stmt=GRANT SELECT ON PSOPRDEFN TO NEWOP
PS Schema
PS schema只包含一张表PSDBOWNER,该表将PeopleSoft数据库的名字映射到数据库的schema上。
PS.PSDBOWNER是PeopleSoft数据库中唯一一个在其他schema中的表(其他所有对象都在另一个schema(SYSADM)中)。在安装的过程中,通过如下脚本dbowner.sql创建PS schema 和PS.PSDBOWNER表。表被创建之后所有的权限会被撤销。
以SYSDBA身份执行如下脚本:
- set echo on
- spool dbowner.log
- GRANT CONNECT, RESOURCE, DBATO PS IDENTIFIED BY PS;
- CONNECT PS/PS;
- CREATE TABLE PSDBOWNER (DBNAME VARCHAR2(8)NOT NULL, OWNERID VARCHAR2(8)NOT NULL ) TABLESPACE PSDEFAULT;
- CREATE UNIQUEINDEX PS_PSDBOWNER ON PSDBOWNER (DBNAME) TABLESPACE PSDEFAULT;
- CREATE PUBLIC SYNONYM PSDBOWNERFOR PSDBOWNER;
- GRANT SELECTON PSDBOWNER TOPUBLIC;
- CONNECT system/manager;
- REVOKE CONNECT, RESOURCE, DBAFROM PS;
- ALTER USER PS QUOTA UNLIMITEDON PSDEFAULT;
- spool off
当创建了PeopleSoft数据库后,会产生一个Data Mover脚本,用于将PeopleSoft对象导入至Oracle数据库。该脚本也会向PS.PSDBOWNER表中插入一行描述PeopleSoft数据库的数据。
- REM - Final Database cleanup
- REM -
- REM - Based on your inputsto Database Setup, you will be using
- REM - ConnectID's to connectto your PeopleSoft Application
- REM -
- /
- INSERT INTO PS.PSDBOWNERVALUES('HCM91','SYSADM');
- UPDATE PSSTATUS SET OWNERID ='SYSADM';
如果你想要通过执行完全的Oracle导入和导出操作来复制PeopleSoft数据库,在导入之前,目标数据库中必须存在PS.PSDBOWNER表。而且,导入过程是不能够创建这张表的,因为PS不再具有RESOURCE权限了。
- Oracle数据库创建用户
- Oracle 数据库用户管理
- oracle数据库用户操作
- 创建oracle数据库用户
- Oracle数据库用户
- Oracle 数据库用户管理
- oracle数据库导出用户
- oracle 数据库用户解锁
- 创建oracle数据库用户
- Oracle 数据库用户管理
- oracle数据库创建用户
- oracle数据库创建用户
- Oracle 数据库用户管理
- Oracle数据库用户删除
- 查看oracle数据库用户
- ORACLE数据库用户管理
- Oracle数据库用户解锁
- 创建oracle数据库用户
- 分辨率landroid
- [转] 亚洲销售女神徐鹤宁经典语录——太过精辟,不学必悔
- linux C++中hello world
- Java方法的可变参数类型
- C++反转字符串
- Oracle数据库用户
- linux中o,a,so文件详解
- python环境搭建和开发工具的配置
- Love or Money?---Chapter 5
- 数据结构 时间复杂度
- sql where 1=1和 0=1 的作用
- Java垃圾回收机制浅析
- linux应用程序设计基础--进程控制编程
- 复制的项目,用ecplice 不能导入