Oracle--01用户的概念和基本操作

一、用户的概念
oracle中的数据都是存到用户下的

oracle中默认的三个用户:
sys: 超级管理员用户 密码是安装时设置的口令
system: 普通管理员用户 密码是安装时设置的口令
scott: 普通用户 默认密码是tiger,必须要要修改

sysdba和sysoper的区别是:sysdba可以创建数据库,sysoper不可以

1.***创建用户--CREATE USER
语法:
CREATE USER 用户名 IDENTIFIED BY 密码
[DEFAULT TABLESPACE 表空间名] --设置用户的默认表空间
[PROFILE profilename]  --设置用户的配置文件
[ACCOUNT LOCK OR ACCOUNT UNLOCK] --设置用户的锁定状态:锁定/解除锁定


例:
--1.创建一个用户u1,密码是123
create user u1 identified by 123;

--2.创建一个用户u2,密码123,设置表空间为USERS
create user u2 identified by 123 default tablespace USERS;


--3.连接到scott用户
conn scott/tiger
scott默认是锁定的状态

--4.创建一个用户u3,密码123,设置默认为锁定状态
create user u3 identified by 123 account lock;

2.**修改用户--ALTER USER

--修改用户的密码
语法 ALTER USER 用户名 IDENTIFIED BY 新密码;

例:
--修改u1的密码为1234
alter user u1 identified by 1234;

--修改用户的锁定状态
语法 ALTER USER 用户名 ACCOUNT LOCK OR ACCOUNT UNLOCK;

例:
--修改scott用户解除锁定
alter user scott account unlock;

--连接到scott用户
conn scott/tiger

--查看当前用户

show user


--修改用户表空间
语法:
ALTER USER 用户名 DEFAULT TABLESPACE 表空间名;

--修改用户的配置文件
语法:
ALTER USER 用户名 PROFILE 配置文件名;

3.**删除用户
语法:
DROP USER 用户名 [CASCADE];

如果用户下有数据库对象,就必须加上CASCADE,会把用户以及此用户下的所有数据库对象都删除掉

例:
--删除用户u3
DROP USER u3;

总结:
创建用户--CREATE USER
修改用户--ALTER USER
删除用户--DROP USER


二、权限
--登录用户u1
conn u1/1234

1.oracle权限分类
系统权限:对数据库的操作,例如登录,创建表等权限
对象权限:对其他用户下的数据库对象的操作,例如对其他用户下表的CRUD(增删改查)操作

2.常用的权限
1)系统权限:
登录:CREATE SESSION
2)对象权限
对某个用户下某张表的CRUD操作
增:insert on 用户名.表名
删:delete on 用户名.表名
改:update on 用户名.表名
查:select on 用户名.表名
增删改查:  all on 用户名.表名

3.***授权
语法:
GRANT 权限|角色 TO 用户
【with admin|grant option】

with admin option:表示被授权的用户可以将系统权限再授予其他用户
with grant option:表示被授权的用户可以将对象权限再授予其他用户


--在system用户下,对u1用户授予登录权限
grant create session to u1;

--登录u1用户
conn u1/1234;  --OK


--在u1用户下,查询scott用户的emp表
select *from scott.emp;  --提示没有scott.emp表,其实没有权限

--切换到scott用户,查询emp表
conn scott/123;

select *from emp;  --可以查到

--在scott用户,给u1用户授予查询emp表的权限
grant select on emp to u1;

--切换到u1用户,查询scott用户的emp表
conn u1/1234; 
select *from scott.emp;  --可以查到

练习:
--在sys用户下,给u2授予登录权限
conn sys/123 as sysdba;
grant create session to u2;
--在sys用户下,给u2授予查询scott用户下emp表的权限
grant select on scott.emp to u2;

验证
--登录u2用户
conn u2/123;
--查询scott.emp表
select *from scott.emp;
练习2:
--1.在sys用户下,创建一个用户u4
conn sys/123 as sysdba;
create user u4 identified by 123;

--2.授予登录权限

 grant create session to  u4;

--3.登录到这个用户下
conn u4/123;


--4.创建u5用户
conn sys/123 as sysdba;
create user u5 identified by 123;

--5.切换到u4用户,给u5授予登录权限
conn u4/123;
grant create session to u5; --提示权限不足


使用with admin option 

--6.sys用户下,重新给u4授予登录权限,并且加上with admin option允许u4给其他用户授予登录权限
conn sys/123 as sysdba;
grant create session to u4 with admin option;

--7.切换到u4用户下,给u5授权
conn u4/123;
grant create session to u5;  --OK

--8.登录到u5用户
conn u5/123;  --OK

4.**回收权限
语法:
REVOKE 权限 FROM 用户名;
GRANT 权限 TO 用户名;


例:

--1.sys用户下,回收u5用户的登录权限
conn sys/123 as sysdba;
revoke create session from u5;

--2.登录u5用户
conn u5/123;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一部分sql基础 9 基本查询语句 9 实验1:书写一个最简单的sql语句,查询一张表的所有行和所有列 9 实验2:查询一张表的所有行,但列的顺序我们自己决定 10 实验3:查询表的某些列,在列上使用表达式 10 实验4:使用sqlplus,进入sqlplus并进行简单的操作 11 实验5:查看当前用户的所有表和视图 13 实验6:关于null值的问题 15 实验7:在列上起一个别名 15 实验8:在显示的时候去掉重复的行 16 实验9:显示表的部分行和部分列,使用where子句过滤出想要的行 18 实验10:使用like查询近似的值 18 实验11:使用order by子句来进行排序操作 20 实验12:操作字符串的函数 22 实验13:操作数字的函数 25 实验14:操作日期的函数 25 实验15:操作数据为null的函数 31 实验16:分支的函数 32 实验17:分组统计函数 33 实验18:表的连接查询 36 实验19:sql99规则的表连接操作 40 实验20:子查询 41 DDL和DML语句 45 实验21:建立简单的表,并对表进行简单ddl操作 45 实验22:dml语句,插入删除和修改表的数据 49 实验23:事务的概念和事务的控制 52 实验24:在表上建立不同类型的约束 54 实验25:序列的概念和使用 58 实验26:建立和使用视图 60 实验27:查询结果的集合操作 63 实验28:高级分组rollup,cube操作 65 实验29:树结构的查询start with子句 66 实验30:高级dml操作 68 第二部分pl/sql基础 69 匿名块的编写 69 实验31:书写一个最简单的块,运行并查看结果 69 实验32:在块中操作变量 70 实验33:在块中操作表的数据 71 实验34:在块中的分支操作if语句 71 实验35:在块中使用循环,三种循环模式 72 实验36:在块中自定义数据类型,使用复合变量 73 实验37:在块中使用自定义游标 76 实验38:在块中处理错误exception 78 编写程序 80 实验39:触发器 80 实验40:编写函数 82 实验41:编写存储过程 83 实验42:编写包package 85 第三部分数据库的体系结构 88 实例的维护 88 实验43:数据库的最高帐号sys的操作系统认证模式 90 实验44:数据库的最高帐号sys的密码文件认证模式 92 实验45:数据库的两种初始化参数文件 92 实验46:启动数据库的三个台阶nomount,mount,open 95 实验47:停止数据库的四种模式 96 实验48:建立数据库 97 实验49:查找你想要的数据字典 99 控制文件 99 实验50:减少控制文件的个数 100 实验51:增加控制文件的个数 101 日志文件 104 实验52:日志文件管理和nologging的实现 107 数据文件 111 实验53:建立新的表空间 111 实验54:更改表空间的名称,更改数据文件的名称 113 表空间 116 实验55:建立临时表空间 117 实验56:大文件表空间和表空间的管理模式 118 数据库的逻辑结构 120 实验57:建立表,描述表的存储属性 121 实验58:数据库范围extent的管理 128 undo段的管理 134 实验59:数据库自动回退段的管理 135 实验60:数据库手工回退段的管理 136 实验61:通过回退段闪回历史数据 136 实验62:闪回数据的查询方法,以及历史交易 137 表—存储数据的最基本单元 138 实验63:rowid的使用 138 实验64:临时表和压缩数据表的使用 141 实验65:压缩存储数据 142 实验66:删除表中指定列操作 142 实验67:使用sqlldr加载外部的数据 143 实验68:使用utl_file包来将表的数据存储到外部文件 144 实验69:使用外部表 145 实验70:处理挂起的事务 146 索引 149 实验71:查看索引的内部信息 151 实验72:监控索引的使用状态 153 约束的管理 154 实验73:改变约束的状态 154 实验74:找到违反约束条件的行 155 Profile配置 156 实验75:管理密码的安全配置 156 实验76:限制会话的资源配置 157 权限管理 158 实验77:维护系统权限 158 实验78:维护对象权限 159 实验79:维护角色 160 实验80:审计 161 数据库字符集 162 实验81:配置国家语言支持 163 元数据 165 实验82:提取元数据dbms_metedata 165 第四部分数据库的网络配置 168 实验83:配置监听 168 实验84:客户端的网络配置 169 实验8
Oracle是一种关系型数据库管理系统(RDBMS),由Oracle公司开发和维护。它提供了一个强大的、可靠的和高效的数据库平台,被广泛用于企业级应用程序和数据存储。 Oracle数据库的基本概念包括: 1. 数据库:Oracle数据库是一个集中存储数据的容器,它由多个数据表和其他数据库对象组成。 2. 数据表:数据表是数据库中的基本组件,用于存储数据。它由行和列组成,每一行表示一个记录,每一列表示一个字段。 3. 数据库对象:除了数据表之外,Oracle还支持其他类型的数据库对象,如视图(虚拟表)、索引(加速数据检索)、存储过程(保存可重复使用的代码逻辑)等。 4. SQL:结构化查询语言(Structured Query Language)是用于与Oracle数据库进行交互的标准语言。通过SQL,用户可以执行查询、插入、更新和删除操作等。 5. 事务:在Oracle中,事务是一系列数据库操作的逻辑单元。事务具有原子性、一致性、隔离性和持久性(ACID属性),确保数据库的数据完整性和可靠性。 6. 连接:通过连接,应用程序可以与Oracle数据库建立通信并进行交互。连接是通过网络或本地方式建立的。 7. 用户和权限:Oracle数据库使用用户和角色来管理对数据库对象的访问权限。用户可以被授予不同级别的权限,以限制对数据库的访问和操作。 这些是Oracle数据库的基本概念,它们构成了使用和管理Oracle数据库的基础知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值