Oracle命令行操作和管理用户及角色权限


Oracle命令行操作,Oracle管理用户以及角色权限

说明:

  • 1.SQL语言大小写不敏感。
  • 2.SQL可以写在一行或者多行(使用时最后要以分号结尾,表示一条SQL语句)。
  • 3.关键字不能被缩写也不能分行。

如无特别说明,[]中括号内容表示可写可不写

1.登录注销

描述命令
登录普通用户sqlplussqlplus 用户名sqlplus 用户名/密码
登录管理员sqlplus / as sysdba
退出exit

说明:用户名不区分大小写,密码区分。

2.管理用户与角色权限

描述命令
创建用户create user 用户名 identified by 密码;
解锁用户alter user 用户名 account unlock;
锁定用户alter user 用户名 account lock;
修改密码alter user 用户名 identified by 新密码;
修改管理员密码alter user sys identified by 新密码;
给用户授权grant 权限 to 用户名;
收回用户的权限revoke 权限 from 用户名;
删除用户drop user 用户名;
创建角色create role 角色名;
删除角色drop role 角色名;
把权限授予给角色grant create session to 角色名;
角色继承grant create table,角色名1 to 角色名2;
给用户分配空间配额alter user 用户名 quota unlimited on users;

quota容量的意思;unlimited 无限制;on users在users这个表空间上没有限制。

查看包含当前用户可以使用的权限信息 (Session就是当前用户的会话)
SELECT * FROM session_privs;

3.角色与权限

角色的优点

  1. 易于权限管理
  2. 动态权限管理
  3. 选择有效的权限

用户权限有两种:
System(系统权限):允许用户执行对于数据库的特定行为,例如:创建表、创建用户等
Object(对象权限):允许用户访问和操作一个特定的对象,例如:对其他方案下的表的查询

4.预定义角色和权限

Oracle实现预置好了一些角色:

角色权限
CONNECTCREATE SESSION
RESOURCECREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER, CREATE TYPE
SCHEDULER_ADMINCREATE ANY JOB, CREATE EXTERNAL JOB, CREATE JOB, EXECUTE ANY CLASS, EXECUTE ANY PROGRAM, MANAGE SCHEDULER
DBAMost system privileges, several other roles. Do not grant to nonadministrators.
SELECT_CATALOG_ROLENo system privileges, but HS_ADMIN_ROLE and over 1,700 object privileges on the data dictionary

对于普通用户,一般要有CONNECT与RESOURCE。
例:

create user mytest identified by OraPassword;
grant connect, resource to mytest; 

一般就是这样用的,创建完用户后就会指定权限。
在RESOURCE角色中就含有空间配额。

5.查看与设置参数

Linux命令行中如果语句输错,按退格键BackSpace会解析为^H,此时可按住Ctrl+BackSpace进行回退操作。

SQL> show pagesizes^H

查看参数目前值:show 选项
设置参数的值:set 选项 新值,通过这种方式设置的参数值只对本次登录有效。
永久保存设置的参数:[oracle@solang ~]$ vi $ORACLE_HOME/sqlplus/admin/glogin.sql
文件目录/usr/local/products/oracle12c/sqlplus/admin/glogin.sql

描述命令
显示当前用户show user
切换用户conn[ect]conn[ect] 用户名conn[ect] 用户名/密码
显示参数目前值显示行宽(默认80):show linesize 显示一页大小(默认14):show pagesize
设置参数:行宽set 选项 新值set linesize 150
设置参数:一页大小set pagesize 20
永久保存设置的参数修改文件vi $ORACLE_HOME/sqlplus/admin/glogin.sql
执行上一条sql语句/
查看表结构desc 表名
修改上一条sql语句ed[it]
单行注释-- 注释
多行注释/* 注释 */
清屏Windows:host cls Linux:host clear
设置某列的宽度col[umn] 列名 for[mat] 格式

设置某列的宽度,例:

column 列名 format a15 -- 此列名数据类型为字符串
column 列名 format 9999 -- 此列名数据类型为数字
-- 对于字符串类型的列:a15,表示15个字符的宽度。
-- 对于数字类型的列:9表示一位,有几个,就是多宽。

6.终止正在执行的命令

中止一个正在执行的命令是Ctrl + /Ctrl + C

如果直接按Ctrl + C会退出SQLPLUS程序。

7.启动和关闭

必须是sys用户,命令为:

启动:startup open,关闭:shutdown immediate

8.加载脚本文件

命令:@语句sql路径

[oracle@solang ~]$ vi select.sql 

select 1 from dual;
SQL> @/home/oracle/select.sql

	 1
----------
	 1

SQL>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值