我是一名 PHP 开发人员(不是 DBA),并且已经使用 Oracle 10g XE 一段时间了。我习惯了 XE 简化的用户管理:
- 转到管理/用户/创建用户
- 分配用户名和密码
- 角色:保留默认角色(连接和资源)
- 权限:点击“全部启用”以选择 11 个可能的权限
- 创造
这样,我就可以获得一个对其数据具有完全访问权限但对其他数据没有访问权限的用户。这很好,因为我只需要它来开发我的应用程序。当要部署应用程序时,客户的 DBA 会配置环境。
现在我必须在完整的 Oracle 11g 服务器中创建用户,但我完全不知所措。我有一个新的概念(配置文件),各种类别中有大约 20 个角色和数百个权限。
为了获得具有我在 XE 中分配的相同权限的用户,我需要在 Oracle Enterprise Manager 中完成哪些步骤?
====更新====
我想我最好提供一个详细的解释以便我能更清楚地理解。
这是我在中创建用户的方式10克XE:
Roles:
[X] CONNECT
[X] RESOURCE
[ ] DBA
Direct Asignment System Privileges:
[ ] CREATE DATABASE LINK
[ ] CREATE MATERIALIZED VIEW
[ ] CREATE PROCEDURE
[ ] CREATE PUBLIC SYNONYM
[ ] CREATE ROLE
[ ] CREATE SEQUENCE
[ ] CREATE SYNONYM
[ ] CREATE TABLE
[ ] CREATE TRIGGER
[ ] CREATE TYPE
[ ] CREATE VIEW
我点击全部启用我就完成了。
这是我在做同样的事情时被问到的11克:
Profile:
(*) DEFAULT
( ) WKSYS_PROF
( ) MONITORING_PROFILE
Roles:
CONNECT:
[ ] Admin option
[X] Default value
Edit List:
AQ_ADMINISTRATOR_ROLE
AQ_USER_ROLE
AUTHENTICATEDUSER
CSW_USR_ROLE
CTXAPP
CWM_USER
DATAPUMP_EXP_FULL_DATABASE
DATAPUMP_IMP_FULL_DATABASE
DBA
DELETE_CATALOG_ROLE
EJBCLIENT
EXECUTE_CATALOG_ROLE
EXP_FULL_DATABASE
GATHER_SYSTEM_STATISTICS
GLOBAL_AQ_USER_ROLE
HS_ADMIN_ROLE
IMP_FULL_DATABASE
JAVADEBUGPRIV
JAVAIDPRIV
JAVASYSPRIV
JAVAUSERPRIV
JAVA_ADMIN
JAVA_DEPLOY
JMXSERVER
LOGSTDBY_ADMINISTRATOR
MGMT_USER
OEM_ADVISOR
OEM_MONITOR
OLAPI_TRACE_USER
OLAP_DBA
OLAP_USER
OLAP_XS_ADMIN
ORDADMIN
OWB$CLIENT
OWB_DESIGNCENTER_VIEW
OWB_USER
RECOVERY_CATALOG_OWNER
RESOURCE
SCHEDULER_ADMIN
SELECT_CATALOG_ROLE
SPATIAL_CSW_ADMIN
SPATIAL_WFS_ADMIN
WFS_USR_ROLE
WKUSER
WM_ADMIN_ROLE
XDBADMIN
XDB_SET_INVOKER
XDB_WEBSERVICES
XDB_WEBSERVICES_OVER_HTTP
XDB_WEBSERVICES_WITH_PUBLIC
System Privileges:
<Empty>
Edit List:
ACCESS_ANY_WORKSPACE
ADMINISTER ANY SQL TUNING SET
ADMINISTER DATABASE TRIGGER
ADMINISTER RESOURCE MANAGER
ADMINISTER SQL MANAGEMENT OBJECT
ADMINISTER SQL TUNING SET
ADVISOR
ALTER ANY ASSEMBLY
ALTER ANY CLUSTER
ALTER ANY CUBE
ALTER ANY CUBE DIMENSION
ALTER ANY DIMENSION
ALTER ANY EDITION
ALTER ANY EVALUATION CONTEXT
ALTER ANY INDEX
ALTER ANY INDEXTYPE
ALTER ANY LIBRARY
ALTER ANY MATERIALIZED VIEW
ALTER ANY MINING MODEL
ALTER ANY OPERATOR
ALTER ANY OUTLINE
ALTER ANY PROCEDURE
ALTER ANY ROLE
ALTER ANY RULE
ALTER ANY RULE SET
ALTER ANY SEQUENCE
ALTER ANY SQL PROFILE
ALTER ANY TABLE
ALTER ANY TRIGGER
ALTER ANY TYPE
ALTER DATABASE
ALTER PROFILE
ALTER RESOURCE COST
ALTER ROLLBACK SEGMENT
ALTER SESSION
ALTER SYSTEM
ALTER TABLESPACE
ALTER USER
ANALYZE ANY
ANALYZE ANY DICTIONARY
AUDIT ANY
AUDIT SYSTEM
BACKUP ANY TABLE
BECOME USER
CHANGE NOTIFICATION
COMMENT ANY MINING MODEL
COMMENT ANY TABLE
CREATE ANY ASSEMBLY
CREATE ANY CLUSTER
CREATE ANY CONTEXT
CREATE ANY CUBE
CREATE ANY CUBE BUILD PROCESS
CREATE ANY CUBE DIMENSION
CREATE ANY DIMENSION
CREATE ANY DIRECTORY
CREATE ANY EDITION
CREATE ANY EVALUATION CONTEXT
CREATE ANY INDEX
CREATE ANY INDEXTYPE
CREATE ANY JOB
CREATE ANY LIBRARY
CREATE ANY MATERIALIZED VIEW
CREATE ANY MEASURE FOLDER
CREATE ANY MINING MODEL
CREATE ANY OPERATOR
CREATE ANY OUTLINE
CREATE ANY PROCEDURE
CREATE ANY RULE
CREATE ANY RULE SET
CREATE ANY SEQUENCE
CREATE ANY SQL PROFILE
CREATE ANY SYNONYM
CREATE ANY TABLE
CREATE ANY TRIGGER
CREATE ANY TYPE
CREATE ANY VIEW
CREATE ASSEMBLY
CREATE CLUSTER
CREATE CUBE
CREATE CUBE BUILD PROCESS
CREATE CUBE DIMENSION
CREATE DATABASE LINK
CREATE DIMENSION
CREATE EVALUATION CONTEXT
CREATE EXTERNAL JOB
CREATE INDEXTYPE
CREATE JOB
CREATE LIBRARY
CREATE MATERIALIZED VIEW
CREATE MEASURE FOLDER
CREATE MINING MODEL
CREATE OPERATOR
CREATE PROCEDURE
CREATE PROFILE
CREATE PUBLIC DATABASE LINK
CREATE PUBLIC SYNONYM
CREATE ROLE
CREATE ROLLBACK SEGMENT
CREATE RULE
CREATE RULE SET
CREATE SEQUENCE
CREATE SESSION
CREATE SYNONYM
CREATE TABLE
CREATE TABLESPACE
CREATE TRIGGER
CREATE TYPE
CREATE USER
CREATE VIEW
CREATE_ANY_WORKSPACE
DEBUG ANY PROCEDURE
DEBUG CONNECT SESSION
DELETE ANY CUBE DIMENSION
DELETE ANY MEASURE FOLDER
DELETE ANY TABLE
DEQUEUE ANY QUEUE
DROP ANY ASSEMBLY
DROP ANY CLUSTER
DROP ANY CONTEXT
DROP ANY CUBE
DROP ANY CUBE BUILD PROCESS
DROP ANY CUBE DIMENSION
DROP ANY DIMENSION
DROP ANY DIRECTORY
DROP ANY EDITION
DROP ANY EVALUATION CONTEXT
DROP ANY INDEX
DROP ANY INDEXTYPE
DROP ANY LIBRARY
DROP ANY MATERIALIZED VIEW
DROP ANY MEASURE FOLDER
DROP ANY MINING MODEL
DROP ANY OPERATOR
DROP ANY OUTLINE
DROP ANY PROCEDURE
DROP ANY ROLE
DROP ANY RULE
DROP ANY RULE SET
DROP ANY SEQUENCE
DROP ANY SQL PROFILE
DROP ANY SYNONYM
DROP ANY TABLE
DROP ANY TRIGGER
DROP ANY TYPE
DROP ANY VIEW
DROP PROFILE
DROP PUBLIC DATABASE LINK
DROP PUBLIC SYNONYM
DROP ROLLBACK SEGMENT
DROP TABLESPACE
DROP USER
ENQUEUE ANY QUEUE
EXECUTE ANY ASSEMBLY
EXECUTE ANY CLASS
EXECUTE ANY EVALUATION CONTEXT
EXECUTE ANY INDEXTYPE
EXECUTE ANY LIBRARY
EXECUTE ANY OPERATOR
EXECUTE ANY PROCEDURE
EXECUTE ANY PROGRAM
EXECUTE ANY RULE
EXECUTE ANY RULE SET
EXECUTE ANY TYPE
EXECUTE ASSEMBLY
EXPORT FULL DATABASE
FLASHBACK ANY TABLE
FLASHBACK ARCHIVE ADMINISTER
FORCE ANY TRANSACTION
FORCE TRANSACTION
FREEZE_ANY_WORKSPACE
GLOBAL QUERY REWRITE
GRANT ANY OBJECT PRIVILEGE
GRANT ANY PRIVILEGE
GRANT ANY ROLE
IMPORT FULL DATABASE
INSERT ANY CUBE DIMENSION
INSERT ANY MEASURE FOLDER
INSERT ANY TABLE
LOCK ANY TABLE
MANAGE ANY FILE GROUP
MANAGE ANY QUEUE
MANAGE FILE GROUP
MANAGE SCHEDULER
MANAGE TABLESPACE
MERGE ANY VIEW
MERGE_ANY_WORKSPACE
ON COMMIT REFRESH
QUERY REWRITE
READ ANY FILE GROUP
REMOVE_ANY_WORKSPACE
RESTRICTED SESSION
RESUMABLE
ROLLBACK_ANY_WORKSPACE
SELECT ANY CUBE
SELECT ANY CUBE DIMENSION
SELECT ANY DICTIONARY
SELECT ANY MINING MODEL
SELECT ANY SEQUENCE
SELECT ANY TABLE
SELECT ANY TRANSACTION
UNDER ANY TABLE
UNDER ANY TYPE
UNDER ANY VIEW
UNLIMITED TABLESPACE
UPDATE ANY CUBE
UPDATE ANY CUBE BUILD PROCESS
UPDATE ANY CUBE DIMENSION
UPDATE ANY TABLE
Object Privileges:
<Empty>
Add:
Clase Java
Clases de Trabajos
Cola
Columna de Tabla
Columna de Vista
Espacio de Trabajo
Función
Instantánea
Origen Java
Paquete
Planificaciones
Procedimiento
Programas
Secuencia
Sinónimo
Tabla
Tipos
Trabajos
Vista
Consumer Group Privileges:
<Empty>
Default Consumer Group:
(*) None
Edit List:
AUTO_TASK_CONSUMER_GROUP
BATCH_GROUP
DEFAULT_CONSUMER_GROUP
INTERACTIVE_GROUP
LOW_GROUP
ORA$AUTOTASK_HEALTH_GROUP
ORA$AUTOTASK_MEDIUM_GROUP
ORA$AUTOTASK_SPACE_GROUP
ORA$AUTOTASK_SQL_GROUP
ORA$AUTOTASK_STATS_GROUP
ORA$AUTOTASK_URGENT_GROUP
ORA$DIAGNOSTICS
SYS_GROUP
当然,我想知道我应该选择什么选项。
答案1
我不知道 Enterprise Manager 11g 是否与我使用的 Enterprise Manager Grid Control 10g 相同。如果相似,应该有一个“安全”页面,您可以在其中管理用户、角色、权限等。如果没有,您当然可以使用以下 SQL 命令:
CREATE USER xxx IDENTIFIED BY pppp DEFAULT TABLESPACE users;
GRANT CONNECT, RESOURCE TO xxx;
GRANT privilege TO xxx; -- repeat for each privilege in your step 4.
答案2
为了使新帐户在 11g 中具有与在 10g XE 中相同的权限,请授予 RESOURCE 角色和 CREATE SESSION 权限。
从 10g(不是 XE)开始:
SQL*Plus:发布版本 10.2.0.3.0 - 2011 年 1 月 5 日星期三 13:06:38 正式发布
版权所有 (c) 1982, 2006,Oracle。保留所有权利。
连接到:Oracle Database 10g 版本 10.2.0.3.0 - 64 位生产
SQL>
从 dba_sys_privs
3 中选择被授予者、特权 2,其中被授予者在('CONNECT','RESOURCE')
4 中按被授予者、特权排序;受让人特权
连接创建会话
资源创建集群
资源创建索引类型
资源
创建操作员资源创建过程
资源创建序列
资源创建表资源
创建触发器
资源创建类型已选择 9 行。
从 11g 开始:
SQL*Plus:版本 11.1.0.6.0 - 2011 年 1 月 5 日星期三 13:07:24 投入生产
版权所有 (c) 1982, 2007,Oracle。保留所有权利。
连接到:Oracle Database 11g 版本 11.1.0.6.0 - 64 位生产
SQL>
从 dba_sys_privs
3 中选择被授予者、特权 2,其中被授予者在('CONNECT','RESOURCE')
4 中按被授予者、特权排序;受让人特权
连接创建会话
资源创建集群
资源创建索引类型
资源
创建操作员资源创建过程
资源创建序列
资源创建表资源
创建触发器
资源创建类型已选择 9 行。
如您所见,这两个版本中的角色具有相同的权限。我不知道为什么 CONNECT 角色没有出现在 11g 的列表中,它存在于我的 11g 数据库中。您可以直接授予“CREATE SESSION”权限来解决它是 MiA 的问题。