zoukankan      html  css  js  c++  java
  • oracle pl/sql的操作大全

      1 --删除该用户及下面的所有关联
      2 DROP USER fspdrs CASCADE;
      3 --创建一个用户
      4 create user fspdrs
      5   identified by "123"
      6   default tablespace TEMP
      7   temporary tablespace TEMP
      8   profile DEFAULT;
      9 -------------------------------------------------------
     10   a 查看用户、权限、角色的适用命令 
     11 
     12   1.查看所有用户:    
     13   select * from dba_users; 
     14   select * from all_users; 
     15   select * from user_users; 
     16   2.查看用户系统权限: 
     17   select * from dba_sys_privs; 
     18   select * from session_privs; 
     19   select * from user_sys_privs; 
     20   3.查看用户对象权限: 
     21   select * from dba_tab_privs; 
     22   select * from all_tab_privs; 
     23   select * from user_tab_privs; 
     24   4.查看所有角色:    
     25   select * from dba_roles; 
     26   5.查看用户所拥有的角色: 
     27   select * from dba_role_privs; 
     28   select * from user_role_privs; 
     29   
     30 b 与权限,角色相关的视图大概有下面这些: 
     31   DBA_SYS_PRIVS:       查询某个用户所拥有的系统权限 
     32   USER_SYS_PRIVS:      查询当前用户所拥有的系统权限 
     33   SESSION_PRIVS:       查询当前用户所拥有的全部权限 
     34   ROLE_SYS_PRIVS:      查询某个角色所拥有的系统权限 注意: 要以 SYS 用户登陆查询这个视图,否则返回空. 
     35   ROLE_ROLE_PRIVS:     当前角色被赋予的角色 
     36   SESSION_ROLES:       当前用户被激活的角色 
     37   USER_ROLE_PRIVS:     当前用户被授予的角色 
     38 
     39    关于创建视图权限不足时,可以在dos下用sqlplus /@orcl as sysdba登录到Oracle,
     40    再给所需要的用户赋予权限:grant create view to scott;再用pl/sql以scott登录时就可以创建视图了。 
     41 
     42    关于scott用户的解锁命令:alter user scott account unlock.
     43 -----------------------------------------------------------------------
     44 PL/SQL DBA 創建用戶權限
     45  ORACLE有三大系统角色:connect,resource,dba;
     46 1、创建新用户
     47    @:利用PL/SQL工具创建,
     48    File--->New--->user,打开创建新用户界面,所界面上内容,
     49    依次输入 NAME,PASSWOERD,DEFAULT TABLESPACE,TEMPORARY TABLESPACE 内容后,
     50    下面"APPLY"按钮会显示,点击“APPLY”后,新用户就创建OK;
     51 2. 給用戶開通權限命令:
     52 grant
     53    create session,create table,select any table,update any table,
     54    insert any table,delete any table to user_name;
     55  56 grant
     57    connect,create table,select any table,update any table,
     58    insert any table,delete any table to user_name;
     59 
     60 注: 創建新用戶時 create session或connect 必需創建,否則 用户无法登陆PL/SQL;
     61      create session与connect的区别:
     62      create session 是权限,connect是角色,当查询用户权限时, 权限可以看到,而角色是看不到的!
     63 
     64 3、给用户开通个别表权限
     65    grant select on tablename to username;
     66 4. 刪除用戶權限命令:
     67    revoke
     68    create table,select any table,update any table,insert any table,delete any table,sysdba
     69    from user_name;
     70 5、 查詢用戶權限:
     71     显示已被授予的全部对象特权:select * from sys.dba_sys_privs
     72     显示已被授予權限的用戶特权:select * from sys.dba_sys_privs a where a.grantee='username';
     73 6、查詢當前運行的SQL 語句:
     74     select a.machine, a.program, b.piece, b.sql_text
     75       from v$session a, v$sqltext b, v$process c
     76      where a.paddr = c.addr
     77        and a.sql_hash_value = b.hash_value
     78      order by b.piece;
     79 7、移除不用的用户
     80    drop user username cascade;
     81    注:此移除会移除该用户下以前所有对数据Create操作过的东西(不要轻易用此命令),移除后该用户下的东西都将会删除 !!!
     82 8、创建角色 
     83   除了前面讲到的三种系统角色
     84     connect、resource和dba,用户还可以在oracle创建自己的role。
     85     用户创建的role可以由表或系统权限或两者的组合构成。
     86     为了创建role,用户必须具有create role系统权限。下面给出一个create role命令的实例: 
     87   create role student; 
     88   这条命令创建了一个名为student的role。 
     89   一旦创建了一个role,用户就可以给他授权。给role授权的grant命令的语法与对对用户的语法相同。
     90     在给role授权时,在grant命令的to子句中要使用role的名称,如下所示: 
     91   grant select on class to student; 
     92   现在,拥有student 角色的所有用户都具有对class 表的select权限。 
     93 9、删除角色 
     94   要删除角色,可以使用drop role命令,如下所示:
     95   drop role student;
     96   指定的role连同与之相关的权限将从数据库中全部删除。
     97 10.pl/sql导出表结构和数据
     98    导出表结构:
     99    Tools-->Export User Objects -->选择要导出的表(包括Sequence等)-->.sql文件 
    100    导出表数据:
    101    Tools-->Export Tables-->选择表,选择SQL Inserts-->.sql文件
    102    执行这些.sql文件时,要使用新建Command Window来执行.

    1.CONNECT角色:    授于最终用户的典型最基本的权利
    ALTER SESSION --修改会话
    CREATE CLUSTER --建立聚簇
    CREATE DATABASE LINK --建立数据库链接
    CREATE SEQUENCE --建立序列
    CREATE SESSION --建立会话
    CREATE SYNONYM --建立同义词
    CREATE VIEW --建立视图

    2.RESOURCE角色:    是授予开发人员的
    CREATE CLUSTER --建立聚簇
    CREATE PROCEDURE --建立过程
    CREATE SEQUENCE --建立序列
    CREATE TABLE --建表
    CREATE TRIGGER --建立触发器
    CREATE TYPE --建立类型

    --1.查看所有用户:
    select * from dba_users;
    select * from all_users;
    select * from user_users;

    --2.查看用户或角色系统权限:
    select * from dba_sys_privs;
    select * from user_sys_privs;

    --3.查看角色所包含的权限
    select * from role_sys_privs;

    --4.查看用户对象权限:
    select * from dba_tab_privs;
    select * from all_tab_privs;
    select * from user_tab_privs;

    --5.查看所有角色:
    select * from dba_roles;

    --6.查看用户或角色所拥有的角色:
    select * from dba_role_privs;
    select * from user_role_privs;
    --查询版本
    select * from v$version;
    select * from v$instance;
    select * from product_component_version;
    --查询当前用户有多少张表
    SELECT T.OBJECT_NAME,
    T.OBJECT_TYPE,
    (SELECT COUNT(*)
    FROM USER_OBJECTS P
    WHERE P.OBJECT_TYPE = 'TABLE'
    AND INSTRB(P.OBJECT_NAME, '$', 1) = 0) AS totalTableNums
    FROM USER_OBJECTS T
    WHERE 1 = 1
    AND T.OBJECT_TYPE = 'TABLE'
    AND INSTRB(T.OBJECT_NAME, '$', 1) = 0;

     
    【签名→→→】【****知其然知其所以然****】 工具只能帮助我们解决我们认识到的问题,解决不了我们都没理解的问题。 不能再把一切扔给框架、容器、工具! 首先理解你的业务逻辑,理解你要实现的功能, 然后搞清楚框架、容器、工具会帮助我们做什么。 只有理解了自己的业务逻辑,理解了自己的代码,理解了自己要用到的第三方代码, 才能真正完美地实现我们需要的功能!
  • 相关阅读:
    jQuery 源码解析(二十四) DOM操作模块 包裹元素 详解
    jQuery 源码解析(二十三) DOM操作模块 替换元素 详解
    jQuery 源码解析(二十二) DOM操作模块 复制元素 详解
    jQuery 源码分析(二十一) DOM操作模块 删除元素 详解
    jQuery 源码分析(二十) DOM操作模块 插入元素 详解
    jQuery 源码分析(十九) DOM遍历模块详解
    python 简单工厂模式
    python 爬虫-协程 采集博客园
    vue 自定义image组件
    微信小程序 image组件坑
  • 原文地址:https://www.cnblogs.com/yaowukonga/p/3472813.html
Copyright © 2011-2022 走看看