博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 管理操作 (转)
阅读量:5972 次
发布时间:2019-06-19

本文共 3861 字,大约阅读时间需要 12 分钟。

<STRONG>3个默认的帐户:</STRONG>

        sys          change_on_install      网络管理员       [as sysdba]
        system       manage            本地管理员
        scott          tiger               超级用户
<STRONG>创建用户、授权和撤消权限</STRONG>
 
登录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;       //撤消对表空间操作的权限
 
<STRONG>丢失管理员密码怎么办?</STRONG>
用sys用户进行修改
 
sqlplus / as sysdba
 
alter user scott Identified by tiger;
 
oracle 9
更改口令文件
把原有口令文件删掉
E:\oracle\ora92\database\pwdora9i.ora;
orapwd file=E:\oracle\ora92\database\pwdora9i.ora password=sys entries=10;
 
select * from v$pwfile_users;
 
oracle 10+
更改口令文件
把原有口令文件删掉
E:\oracle\ora92\database\PWDorcl.ora;
orapwd file=E:\oracle\ora92\database\PWDorcl.ora  password=sys  entries=10;
 
select * from v$pwfile_users;
 
<STRONG>角色管理</STRONG>
角色就是一个权限的集合。
 
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;       这个权限比较大,不能通过角色授权,只能授权给用户
 
<STRONG>权限的传递</STRONG>
?<STRONG></STRONG>
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;;         //让王五也可以传递权限。
 
<STRONG>系统权限与对象权限</STRONG>
 
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;
 
 
<STRONG>帐户管理细节</STRONG>
 
1.三个常用的系统用户:
        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;

转载于:https://www.cnblogs.com/Veakey/archive/2012/09/26/2704574.html

你可能感兴趣的文章
重学前端学习笔记(十)--CSS语法关于带@的规则
查看>>
从零开始:用REACT写一个格斗游戏(一)
查看>>
Fildder抓包安装教程
查看>>
解决gerrit commit后pull发生冲突的问题
查看>>
走进欧洲、澳洲和加拿大21000个零售网点,比特币现金(BCH)有何潜力?
查看>>
深入理解 - java泛型
查看>>
深入理解Vue源码系列-3.initMixin干了什么(中)
查看>>
CSS基础入门之float
查看>>
koa 用到的delegates NPM包源码阅读
查看>>
抽奖的demo(跑马灯效果)
查看>>
图片知识
查看>>
Spring Cloud Ribbon负载均衡
查看>>
iOS开发基础篇--NSNotificationCenter使用小结
查看>>
Springboot 秒杀项目
查看>>
持续集成:代码审查篇
查看>>
JS 全屏和退出全屏--requestFullScreen详解及兼容代码
查看>>
从月薪5k到5w的过来人 给大学生程序员们的一点建议
查看>>
Android开发之 .9PNG 的使用
查看>>
设计模式——单例模式
查看>>
D2 日报 2019年5月8日
查看>>