启动Oracle 服务 Oracle开头 OracleServiceXXXX OracleOraHome90TNSListner ,只有启OracleOraHome90Listener 才可以用JDBC连接数据库。启动Oracle,只是启动一个实例而已,不像sql server一样sa登录可以看到像pubs等等数据库,而且Oracle里面不同用户登录看到的是不一样的(权限做的太好了)。
系统管理员最高权限 sys change_in_install 有create database 权限 。
管理操作员 仅次于sys权限 system manager 无 create database 权限
几个概念:
数据对象:表,视图,触发器,序列,存储过程,函数等。
权限:用户能够对某些任务操作,就是有这个任务操作的权限。权限是角色的组成元素。
Oracle 大概140多种权限,权限大概分两种:系统权限(描述对数据库访问的权限,建库,
建存储过程,修改密码,登录等),
对象权限(用户对其他用户的数据对象访问的权限),系统权限有一种权限 create session ,
由于给每一个新增的用户添加权限太麻烦了,引出角色
角色:可以理解为权限的批量授权,这样就拥有了这种角色的所有权限。角色分两种:自定义角色,
预定义角色(Oracle预定义好的,如connection)
角色 connect ,dba(以具备其他两种权限) ,resource(可以在任何表空间新增表)
基本操作
--------------------------
打开sql plus,直接通过界面打开,或者 输入sqlplusw 也可以
show user; --显示当前用户名
切换身份 conn system/system密码,如果密码输入错了,讲提示以退出Oracle
disconnect 断开连接
exit 退出
desc tablename 查看表结构
-------------------------
修改密码
修改别人密码需要登录sys/system操作
修改自己的 输入passw 按提示操作
操作sql文件
-------------------------
start D:\a.sql; 运行一条sql
edit D:\aa.sql; 修改sql文件
-------------------------
spool D:\yy.sql
接着 执行一个命令 -- 把执行的语句信息导入到yy.sql里面
spool off;
--------------------------
sql plus显示设置
set linesize 设置每条行多少
set pagesize 设置每页多少条
--------------------------
select * from emp where name = '$name' 很少用,提示输入值
用户操作:(必须要system/sys登录)
创建用户, create user youname identified by youpassword
修改别人密码 ,或有alter user系统权限 password youname
删除用户不可以删除自己 drop user 在删除的时候带一个参数 cascade 级联删除,把用户和用户的表都删除
创建的用户刚开始什么权限都没,登录都不可以。要给其分配权限
grant connect to youname 给一个用户登录权限(角色)
权限:
Oracle权限可以精确到你可对某一个表进行某种操作,比如只能查看而且只能看符合某些条件的数据。
grant connect to youname 赋给了用户权限,但是不能创建表
grant resource to youname 这样用户可以创建表
授权:
如果youname 用户想访问scott的emp表,需要赋予其对象权限
grant select on emp to youname
谁可以授权? sys/system/拥有数据对象的用户(scott)
youname登录 查询 select * from scott.emp ;
这里是scott的表。提出术语叫方案;
这里可以看到每个用户都有自己的表空间,所以同一个数据库,不同的用户可以创建同名的表
如果增删改查都要赋予某用户了,一个一个添加权限吗?
grant all on emp to youname 对这个表所有权限都给youname
收回权限 revoke
Scott 收回对youname的权限
谁收回授权? 赋权者 (sys/system也不可以,所以要scott登录收回授权)
remoke select on emp from youname (select 可以为update,delete,all等)
如果youname 权限回收了,youname给别人授权的人也没了这些权限,回收权限是级联回收的。
传递权限,权限维护:
比如scott 把权限给了youname ,但是希望youname也可以把权限给别人,这就是权限传递
如果是对象权限:grant select on scott.emp to youname with grant option
系统权限 grant connect to youname with admin option
youname 可以把connect权限赋给其他用户
管理用户口令(profile)
账户锁定,对攻击者锁定
create profile my_lock_account limit failed_login_attempts 3
password_lock_time 2;
创建一个profile规则,如果登录失败三次就锁定账号2天
对youname执行规则 alter user youname profile my_lock_account
对youname 解锁 alter user youname account unlock
这样youname 就可以解锁成功了
dba要求用户每隔多少天(10)要修改,宽限期(2)
create profile myprofile limit password_life_time 10
password_grace_time 2
解锁 alter youname profile myprofile
口令历史(定期修改时,以前用过的密码不能用)
create profile password_history limit password_life_time 10 password_grace_time
2 password_reuse_time 10
删除规则 drop profile password_history [cascade]
分享到:
相关推荐
Oracle 一次请求执行多条sql语句 在.net 中查询Sql Server 一次请求执行多条sql语句很简单 拼接起来就好了 初次接触oracle 在网上寻找了很多方法终于被我解决了 我把问题想复杂了 例子中提供了2种解决方案 一种...
根据提供的标题、描述、标签及部分内容,我们可以了解到本篇文章主要关注的是如何在Oracle数据库中查询一个月内的数据。这里的关键在于日期范围的确定以及如何利用Oracle的内置函数来完成这一任务。接下来,我们将...
本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次执行多条SQL语句。 首先,我们需要了解Oracle的数据驱动,即ODP.NET(Oracle Data Provider for .NET)。这是Oracle公司为.NET开发者提供的一个...
oracle数据库一行拆成多行.sql
在Oracle数据库管理中,权限管理是一项至关重要的任务,它确保了数据的安全性和访问控制的有效性。本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的...
Oracle统计一天内每小时的数据量。在某小时内有数据,该时间段会被统计出来;该时间段内没有交易,该时间段不会被统计出来,默认为0即可
Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果。但是奇怪的是执行其他的select语句却是可以执行的。 原因和解决方法 这种...
这个文件是用oracle的脚本的如的,往oracle中插入的数据量可能会使用
C#连接Oracle数据库(查询数据)方法,好东西,分享一下
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
该函数主要对oracle 中数据表中存在的多选字典值进行翻译
一周循环备份oracle数据库,只用修改链接,设置任务管理器就可以. set oracle_username="l_sys" set oracle_password="123456" set local_tnsname="oradb" 修改以上配置,定时执行即可
Oracle 数据库开发培训中根据某一列的值修改另一列的值 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级应用程序中。在 Oracle 数据库中,我们可以使用 update 语句来修改某一列的值根据另一列的值。...
1.查询时间段内执行的sql、Produce select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss') and a.LAST_ACTIVE_TIME <...
1、实现Python批量数据入库。 2、统一提交事物,保证数据的完整性
oracle存储过程中入参是逗号分隔,并且参数要使用在in过滤语句中查询数据。处理的方法与实现
Centos7 Oracle19c 一主一备搭建 Oracle 19c 是 Oracle 公司推出的关系数据库管理系统(RDBMS),是目前最流行的数据库管理系统之一。Centos7 是一个基于 Linux 的操作系统,广泛应用于服务器领域。因此,本文将...
select f_find('Ap@2233ll@@l@@','@') from dual 返回结果为5,代表‘@’在该字符串中出现5次。 同理 select f_find('Ap@223SWEQQQ3ll@@l@@','Q') from dual---返回3,代表Q在字符串中出现了3次, ...