关于default role的实验

本文通过实验展示在Oracle数据库中如何撤销、授予角色,并设置默认角色。包括如何激活特定角色进行表查询,以及如何更改用户的默认角色。

---整理以前的学习笔记---

关于default role的实验
sys@ORCL> revoke mgr_role,connect,resource from skd;

Revoke succeeded.

sys@ORCL> conn skd/skd
ERROR:
ORA-01045: user SKD lacks CREATE SESSION privilege; logon denied


Warning: You are no longer connected to ORACLE.
sys@ORCL> grant connect,resource,select_catalog_role to skd;
SP2-0640: Not connected
sys@ORCL> conn /as sysdba
Connected.

sys@ORCL> grant connect,resource,select_catalog_role to skd;

Grant succeeded.

sys@ORCL> conn skd/skd
Connected.
skd@ORCL> select count(*) from v$session;--说明此时select_catalog_role是起作用的

  COUNT(*)
----------
        25

skd@ORCL> conn /as sysdba
Connected.
sys@ORCL> alter user skd default role connect,resource;--把connect,resource作为skd的default role,也就是说,skd一登录进来,只connect,resource是激活的,select_catalog_role没有激活

User altered.

sys@ORCL> conn skd/skd
Connected.
skd@ORCL> select count(*) from v$session;--select_catalog_role确实没有激活
select count(*) from v$session
                     *
ERROR at line 1:
ORA-00942: table or view does not exist


skd@ORCL> set role select_catalog_role;--激活select_catalog_role

Role set.


当然,如果角色在创建的时候是有密码的,这时候set还需要提供密码
create role r3 identified by r3;
set role r3 identified by r3;

skd@ORCL> select count(*) from v$session;--select_catalog_role这个角色激活之后,发挥作用了

  COUNT(*)
----------
        27

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26524307/viewspace-777343/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26524307/viewspace-777343/

### 数据库实验设计与实现指南 数据库实验的设计与实现通常涉及多个阶段,包括需求分析、概念设计、逻辑设计、物理设计以及最终的实施和测试。以下是关于数据库实验设计与实现的一些关键点: #### 需求分析 在开始任何数据库项目之前,必须明确项目的具体目标和范围。这一步骤需要收集并整理用户的需求,定义系统功能及其约束条件。例如,在实验环境中,可能需要支持学生提交实验报告的功能[^1]。 #### 概念设计 此阶段主要关注于创建实体关系图(ERD),用于描述现实世界中的对象及其之间的联系。通过绘制 ER 图,可以更清晰地理解所需的数据结构。对于一个典型的实验报告管理系统来说,至少应包含如下几张表格:`users`, `experiments`, `reports`, `grades`, 和 `comments` 表格[^2]。 #### 逻辑设计 基于前面的概念模型转换成具体的 SQL 结构化查询语言形式表示的关系模式集合。这里需要注意规范化过程以减少冗余提高效率的同时也要考虑到实际应用性能的要求。比如下面展示的是创建名为 `experiment_report_system` 的数据库命令片段: ```sql CREATE DATABASE experiment_report_system; USE experiment_report_system; -- 创建 users 表 CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password_hash CHAR(64) NOT NULL, -- 假设密码经过哈希处理 role ENUM('student', 'teacher') DEFAULT 'student' ); ``` #### 物理设计 这一环节涉及到决定文件组织方式、存取路径的选择还有其他一些硬件层面的因素考虑进去。虽然很多时候我们可以依赖DBMS提供的缺省配置选项来简化这个流程但是针对特定应用场景做出优化调整还是很有必要的。如前所述,建立合适的索引能够显著提升检索速度。 #### 测试与部署 最后一步是对整个应用程序进行全面彻底的质量检验工作确保其满足最初设定的各项指标之后再正式上线运行对外提供服务。期间可能会遇到各种预料之外的情况所以提前准备好应急预案非常重要。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值