oracle操作使用指南

简介: 应用场景 针对oracle的使用,有一些常用的功能,在此做一个小小的总结。操作步骤1. 3个默认的帐户 sys change_on_install 网络管理员 ...

应用场景

针对oracle的使用,有一些常用的功能,在此做一个小小的总结。

操作步骤

1. 3个默认的帐户

 sys          change_on_install      网络管理员       [as sysdba]
 system       manage                 本地管理员
 scott        tiger                  超级用户

2. 创建用户、授权和撤消权限

 登录oracle:
        sqlplus / as sysdba

 启动监听:
        lsnrctl start

 启动数据库的实例:
        oradim -startup -sid orcl

SQL> show user;          //显示当前用户
SQL> create user lisi identified by lisi;        //创建一个用户
SQL> grant create session to lisi;           //给用户授予会话权限
SQL> sqlplus lisi/lisi                   //用创建的用户进行登录
SQL> grant unlimited tablespace  to lisi         //给用户授予表空间权限
SQL> grant create table to lisi;             //给用户创建表的权限
SQL> create table mytable (id int);      //创建表
SQL> insert into mytable values (1);     //插入数据
SQL> select * from mytable;          //查询数据
SQL> drop table mytable              //删除表
SQL> revoke create table from lisi;      //撤消对表操作的权限
SQL> select * from user_sys_privs;     //查询当前用户拥有哪些权限
SQL>revoke unlimited tablespace from lisi;       //撤消对表空间操作的权限

3. 丢失管理员密码怎么办?

 用sys用户进行修改

sqlplus / as sysdba
alter user scott Identified by tiger;

4. 角色管理

 角色就是一个权限的集合。

show user;        显示当前用户
create role myrole;         创建一个角色
grant create session to myrloe;         给角色授予session权限
grant create table to myrole;               给角色授予表操作权限
create user zhangsan identified by zhangesan;       创建一个用户
grant myrole to zhangsan;       把角色授予给用户
sqlplus zhangsan/zhangsan       用户登录
drop role myrole;           删除角色
grant unlimited tablespace to myrole;       这个权限比较大,不能通过角色授权,只能授权给用户

5. 权限的传递

show user:      查看当前用户
select * from user_sys_privs     查看当前用户的系统权限
grant alter any table to lisi;      sys可以授权给李四
grant alter any table to wangwu;        但是李四不能授权给王五
grant alter any table to lisi with admin option;        //现在李四可以授权给王五了
grant alter any table to wangwu with admin option;      //让王五也可以传递权限
create table A(id int);         //在sys中创建一个表A
grant select On A to lisi;      //把表操作权限传递给李四,但李四不能传递权限
grant select On A to lisi with grant option;            //现在李四可以传递权限了
grant select on sys.A to wangwu with grant option;;         //让王五也可以传递权限。

6. 系统权限与对象权限

SQL> create user wanwu identified by wangwu
SQL> grant create session to wangwu;
SQL> sqlplus wangwu/wangwu
SQL> grant create table,unlimited tablespace to wangwu;
SQL> create table mytab(id int);
SQL> insert into mytab values(2);

用lisi访问wangwu 的表,不能访问
SQL> select * from wangwu.mytab;

用sys用户访问wangwu 的表,可以,要执行两次
SQL> select * from wangwu.mytab;
SQL> select * from wangwu.mytab;

让lisi可以访问wangwu的表
SQL> grant select on mytab to lisi;      //把查询权限授予李四
SQL> grant insert on mytab to lisi;      //把插入权限授予李四
SQL> commit;     //提交后才显示数据

SQL> grant all on mytab ot lisi;     // 把操作表的最大权限授予李四
SQL> revoke all on mytab from lisi;    // 撤消李四对表操作的权限

SQL> disconn
SQL> conn wangwu/wangwu
SQL> commit:    //每次对表操作后要提交
SQL> alter table mytab add name varchar(50);
SQL> insert into mytab values(1,'zhang');
SQL> insert into mytab values(2,'li');
SQL> insert into mytab values(3,'wang');
SQL> commit;

SQL> grant update(name) on mytab to lisi;        //让李四只有更新name列的权限
SQL> grant insert(id) on mytab to lisi;          //让李四只有插入id列的权限
SQL> update wangwu.mytab set name='lihuoming' where id=1;

7. 帐户管理细节

三个常用的系统用户:
        scott(一个数据库的普通用户)
        conn scott/tiger

        manager(数据库管理员)
        conn system/manager

        sys(数据库对象的拥有者权限最高)
        conn sys/change_on _install as sysdba

创建用户的完整格式:
        create user 用户名 identified by 密码
        default tableSpace 表空间
        Temporary TableSpace 表空间
        Quota 整数[ K | M | Limited | unlimited ] on 表空间

        例子:
        create user abc
        identified by 123
        default tablespace Users
        Temporary tablespace Temp
        Quota 50M on Users

限制用户:
        用户加锁    --  alter user 用户名 account lock
        用户解锁  --    alter user 用户名 account unlock
        用户口令即刻失效 --  alter user 用户名 password expire

删除用户:
        drop user 用户名 [CasCade]
        CasCade表示删除用户所有对象 

        示例:
        drop user abc cascade;
目录
相关文章
|
7月前
|
Oracle 关系型数据库 Java
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
实时计算 Flink版操作报错之读取Oracle数据库时遇到找不到驱动,是什么原因
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之遇到报错 Oracle 19C,如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之采集oracle的时候报ORA-65040:不允许从可插入数据库内部执行该操作如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
263 3
|
7月前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
99 0
|
5月前
|
Oracle 关系型数据库 数据库
|
5月前
|
分布式计算 Oracle 大数据
MaxCompute产品使用合集之没有数据源,只是将批量状态和时间写入Oracle表里,该如何操作
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
7月前
|
SQL Oracle 关系型数据库
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
144 0
|
6月前
|
SQL DataWorks Oracle
DataWorks产品使用合集之datax解析oracle增量log日志该如何操作
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
62 0
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之写Oracle时出现的缺失等号错误如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
73 9
|
7月前
|
消息中间件 Oracle 关系型数据库
实时计算 Flink版操作报错之同步Oracle时出现主题为空的报错该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。