zoukankan      html  css  js  c++  java
  • oracle 查看 用户,用户权限,用户表空间,用户默认表空间

    查看用户和默认表空间的关系。
    select username,default_tablespace from dba_users;


    1.查看表结构:desc表名

    2.查看当前用户的表:

    select table_name from user_tables;
    3.查看所有用户的表名:

    select table_name from all_tables;
    4.查看所有表名(其中包括系统表)

    select table_name from all_tables;
    5.查看所有的表:

    select * from tab/dba_tables/dba_objects/cat;
    下面介绍Oracle查询用户表空间

    ◆Oracle查询用户表空间:select * from user_all_tables

    ◆Oracle查询所有函数和储存过程:select * from user_source

    ◆Oracle查询所有用户:select * from all_users.select * from dba_users

    ◆Oracle查看当前用户连接:select * from v$Session

    ◆Oracle查看当前用户权限:select * from session_privs

    ◆Oracle查看用户表空间使用情况:

    select a.file_id "FileNo",a.tablespace_name

    "Tablespace_name",

    a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",

    sum(nvl(b.bytes,0)) "Free",

    sum(nvl(b.bytes,0))/a.bytes*100 "%free"

    from dba_data_files a, dba_free_space b

    where a.file_id = b .file_id(+)

    group by a.tablespace_name ,

    a.file_id,a.bytes order by a.tablespace_name;
    1.查看所有用户:

      select * from dba_user;

      select * from all_users;

      select * from user_users;

    2.查看用户系统权限:

      select * from dba_sys_privs;

      select * from all_sys_privs;

      select * from user_sys_privs;

    3.查看用户对象权限:

      select * from dba_tab_privs;

      select * from all_tab_privs;

      select * from user_tab_privs;

    4.查看所有角色:

      select * from dba_roles;

    5.查看用户所拥有的角色:

      select * from dba_role_privs;

      select * from user_role_privs;

    6.查看角色所拥有的权限:

      select * from role_sys_privs;

      select * from role_tab_privs;

    7.查看所有系统权限

      select * from system_privilege_map;

    8.查看所有对象权限

      select * from table_privilege_map;

    以上是在Oracle中查看用户权限 ,

    在DB2中为:

      select * from syscat.dbauth

      或者

      get authorizations


    查看sid

      select * from v$instance

    1 创建临时表空间
    2 Sql代码 
    3 create temporary tablespace stbss_tmp  
    4 tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'  
    5 size 32m  
    6 autoextend on  
    7 next 32m maxsize 2048m  
    8 extent management local; 

    10
    11 创建数据表空间
    12 Sql代码 
    13 create tablespace stbss  
    14 logging  
    15 datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf'  
    16 size 32m  
    17 autoextend on  
    18 next 32m maxsize 2048m  
    19 extent management local; 
    20

    1) DATAFILE: 表空间数据文件存放路径
    2) SIZE: 起初设置为32M
    3) UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k
    4) 空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
    5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
    6) alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m; //手动修改数据文件大小为32M 
    21
    22 创建用户并指定表空间
    23 Sql代码 
    24 create user username identified by password  
    25 default tablespace stbss 
    26 temporary tablespace stbss_tmp;  
    27 
    28
    29 给用户授予权限
    30 Sql代码 
    31 grant connect,resource to username; 
    32 
    33  改变用户默认表空间
    34 
    35 
    36 Sql代码 
    37 alter user username default tablespace stbss; 
    38
      查询用户和表空间之间的关系
    select distinct(owner) ,tablespace_name from dba_segments;
    39
       向USERS表空间增加一个数据文件:


      SQL> alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M;
      Tablespace altered.
      SQL> select file#,name from v$datafile;
      FILE# NAME
      ---------- --------------------------------------------------
      1 /opt/oracle/oradata/eygle/system01.dbf
      2 /opt/oracle/oradata/eygle/undotbs01.dbf
      3 /opt/oracle/oradata/eygle/sysaux01.dbf
      4 /opt/oracle/oradata/eygle/users01.dbf
      5 /opt/oracle/oradata/eygle/users02.dbf
      5 rows selected.


      确认表空间文件信息:



      SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
      FILE_NAME FILE_ID
      -------------------------------------------------- ----------
      /opt/oracle/oradata/eygle/users02.dbf 5
      /opt/oracle/oradata/eygle/users01.dbf 4


    确认表空间未被存储占用:


      SQL> select segment_name,file_id,blocks from dba_extents where file_id=5;
      no rows selected


      删除表空间中的空数据文件:



      SQL> alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf';
      Tablespace altered.


      检查数据字典,这个空文件的信息已经被彻底清除了:



      SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
      FILE_NAME FILE_ID
      -------------------------------------------------- ----------
      /opt/oracle/oradata/eygle/users01.dbf 4



    40 以后以该用户登录,创建的任何数据库对象都属于stbss_tmp和stbss表空间,这就不用在每创建一个对象给其指定表空间了
    41 
    42 删除oracle临时表空间
    43  新建一个临时表空间,然后把数据库的默认临时表空间指向新建的这个,等到旧的临时表空间没人用的时候,就可以删除了
    44
    45 Sql代码 
    46 --1:查看数据库的默认临时表空间 
    47 select property_name, property_value 
    48   from database_properties 
    49  where property_name = 'default_temp_tablespace'; 
    50  
    51 --2:创建一个新的临时表空间temp_xxxx 
    52 -----参考上面的创建语句 
    53 --3:查看数据库中有哪些临时表空间。 
    54 select distinct tablespace_name from dba_temp_files; 
    55  
    56 --4:把默认临时表空间从temp切换到temp_xxxx 
    57 alter database default temporary tablespace temp_xxxx; 
    58  
    59 --5:再次查看数据库的默认临时表空间 
    60 select property_name, property_value 
    61   from database_properties 
    62  where property_name = 'default_temp_tablespace'; 
    63  
    64 --6:删除原来的临时表空间 
    65 drop tablespace temp; 




    删除用户:test
    drop user test cascade

    删除表空间:
    DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES

    删除表:
    delete from users;
  • 相关阅读:
    【Java】组合 继承 代理
    《Thinking In Java》笔记之十三章 字符串
    常用Dos命令
    Thinking in Java异常笔记与习题
    php去重 逗号分隔的字符串
    php 连接本地数据库
    vue重载子组件
    小程序更改checked样式
    JavaScript中两个数组的拼接
    FROM_UNIXTIME()时间戳转换函数
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480840.html
Copyright © 2011-2022 走看看