当前位置:  数据库>oracle

Oracle数据库管理 DBA必会知识点

    来源: 互联网  发布时间:2017-05-24

    本文导语: grant select any dictionary to scott;create table t1 as select * from emp;insert into t1 select * from t1;--查用户看scott用户下的段名为T1的存储分区记录select segment_name,extent_id,file_id,block_id,blocksfrom dba_extents where owner='SCOTT' and segment_name='T1';--给段T1分配大...

grant select any dictionary to scott;
create table t1 as select * from emp;
insert into t1 select * from t1;
--查用户看scott用户下的段名为T1的存储分区记录
select segment_name,extent_id,file_id,block_id,blocks
from dba_extents where owner='SCOTT' and segment_name='T1';
--给段T1分配大小为100k的存储区间
alter table t1 allocate
extent(datafile '/u01/app/Oracle/oradata/orcl/users01.dbf' size 100k);
--回收高水位线之后的空闲空间
alter table t1 deallocate unused;
--回收高水位线20k之后的空闲空间
alter table a deallocate unused keep 20k;
SQL> truncate table T1;
截断表之后,段的第一个分区依然存在,但是数据都已经清空

 


oracle重命名数据文件的名字
SQL> alter tablespace aaa offline;
Tablespace altered.
SQL> select ts#,name from v$tablespace;
      TS# NAME
---------- ------------------------------
        0 SYSTEM
        1 SYSAUX
        2 UNDOTBS1
        4 USERS
        3 TEMP
        6 EXAMPLE
        7 YUANLEI
        8 AAA
SQL> select ts#,file#,name,status from v$datafile;
      TS#      FILE# NAME                                          STATUS
---------- ---------- --------------------------------------------- -------
        0          1 /u01/app/oracle/oradata/orcl/system01.dbf    SYSTEM
        1          2 /u01/app/oracle/oradata/orcl/sysaux01.dbf    ONLINE
        2          3 /u01/app/oracle/oradata/orcl/undotbs01.dbf    ONLINE
        4          4 /u01/app/oracle/oradata/orcl/users01.dbf      ONLINE
        6          5 /u01/app/oracle/oradata/orcl/example01.dbf    ONLINE
        8          6 /u01/app/oracle/oradata/orcl/bbb01.dbf        OFFLINE
SQL> host rename /u01/app/oracle/oradata/orcl/bbb01.dbf aaa01.dbf;
[oracle@oracle11gR2 orcl]$ pwd
/u01/app/oracle/oradata/orcl


[oracle@oracle11gR2 orcl]$ cp bbb01.dbf aaa01.dbf
[oracle@oracle11gR2 orcl]$ ls
aaa01.dbf      example01.dbf  redo03.log    temp01.dbf    yuanlei01.dbf
bbb01.dbf      redo01.log    sysaux01.dbf  undotbs01.dbf
control01.ctl  redo02.log    system01.dbf  users01.dbf


SQL> alter database rename file '/u01/app/oracle/oradata/orcl/bbb01.dbf' to '/u01/app/oracle/oradata/orcl/aaa01.dbf';
Database altered.


SQL> alter tablespace aaa online;
Tablespace altered.


SQL> select ts#,file#,name,status from v$datafile;
      TS#      FILE# NAME                                          STATUS
---------- ---------- --------------------------------------------- -------
        0          1 /u01/app/oracle/oradata/orcl/system01.dbf    SYSTEM
        1          2 /u01/app/oracle/oradata/orcl/sysaux01.dbf    ONLINE
        2          3 /u01/app/oracle/oradata/orcl/undotbs01.dbf    ONLINE
        4          4 /u01/app/oracle/oradata/orcl/users01.dbf      ONLINE
        6          5 /u01/app/oracle/oradata/orcl/example01.dbf    ONLINE
        8          6 /u01/app/oracle/oradata/orcl/aaa01.dbf        ONLINE
6 rows selected.
重命名成功


-----创建临时表空间
SQL> create temporary tablespace test_temp
tempfile  '/u01/app/oracle/oradata/orcl/test_temp.dbf' size 10M
autoextend on next 10M maxsize 100M extent management local;


------创建用户表空间并制定用户表空间
SQL> create temporary tablespace test_temp tempfile '/u01/app/oracle/oradata/orcl/test_temp.dbf' size 10M autoextend on next 10M maxsize 100M extent management local;
Tablespace created.
SQL> create tablespace test_data logging datafile '/u01/app/oracle/oradata/orcl/test_data.dbf'
 2  size 10M autoextend on next 20M maxsize 100M extent management local;
Tablespace created.
SQL> create user yuanlei identified by leiyuan default tablespace test_data temporary tablespace test_temp;
User created.


------查看所有用户
SELECT * FROM DBA_USERS;


-----查看用户所在的默认和临时表空间,后面可跟where 条件
SQL> select username,default_tablespace,temporary_tablespace from dba_users;


-----修改用户的默认和临时表空间
SQL> alter user yuanlei default tablespace users;
User altered.
SQL> alter user yuanlei temporary tablespace temp;
User altered.


----限定用户在表空间上的使用配额
SQL> alter user yuanlei quota 10M on users;
User altered.
SQL> alter user yuanlei quota unlimited on users quota 1M on example;
User altered.


----查看用户的表空间配额限制 可加条件
SQL> select * from dba_ts_quotas;


TABLESPACE_NAME                USERNAME          BYTES  MAX_BYTES    BLOCKS MAX_BLOCKS DRO
------------------------------ ------------ ---------- ---------- ---------- ---------- ---
SYSAUX                        OLAPSYS        7667712        -1        936        -1 NO
SYSAUX                        SYSMAN        76939264        -1      9392        -1 NO
SYSAUX                        FLOWS_FILES          0        -1          0        -1 NO
USERS                          YUANLEI              0        -1          0        -1 NO
EXAMPLE                        YUANLEI              0    1048576          0        128 NO
SYSAUX                        APPQOSSYS            0        -1          0        -1 NO
6 rows selected.


select * from user_ts_quotas;
TABLESPACE_NAME                    BYTES  MAX_BYTES    BLOCKS MAX_BLOCKS DRO
------------------------------ ---------- ---------- ---------- ---------- ---
USERS                                  0        -1          0        -1 NO
EXAMPLE                                0    1048576          0        128 NO


-----取消用户的表空间配额限制
SQL> alter user yuanlei quota unlimited on users;
User altered.
SQL> alter user yuanlei quota unlimited on example;
User altered.
SQL> select * from dba_ts_quotas;
TABLESPACE_NAME                USERNAME          BYTES  MAX_BYTES    BLOCKS MAX_BLOCKS DRO
------------------------------ ------------ ---------- ---------- ---------- ---------- ---
SYSAUX                        OLAPSYS        7667712        -1        936        -1 NO
SYSAUX                        SYSMAN        76939264        -1      9392        -1 NO
SYSAUX                        FLOWS_FILES          0        -1          0        -1 NO
EXAMPLE                        YUANLEI              0        -1          0        -1 NO
USERS                          YUANLEI              0        -1          0        -1 NO
SYSAUX                        APPQOSSYS            0        -1          0        -1 NO
6 rows selected.


----锁定用户
SQL> alter user yuanlei account lock;
----解锁用户
SQL> alter user yuanlei account unlock;
----强制用户修改密码
SQL> alter user yuanlei password expire;
User altered.


----删除用户
SQL> drop user yuanlei;
User dropped.
如果用户模式非空
drop user yuanlei cascade;

 


查看所有系统权限
select * from system_privilege_map;
查看所有对象权限
select * from table_privilege_map;
查看用户的系统权限
SELECT * FROM DBA_SYS_PRIVS
SELECT * FROM USER_SYS_PRIVS;
查看用户对象权限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS;


----sys用户下查看所有用户���角色的系统权限授予情况
select grantee,count(*) from dba_sys_privs
group by grantee order by grantee;
----当前用户下查看当前用户拥有的系统权限
SQL> select * from user_sys_privs;
USERNAME                      PRIVILEGE            ADM
------------------------------ --------------------- ---
SCOTT                          SELECT ANY DICTIONARY NO
SCOTT                          UNLIMITED TABLESPACE  NO
----查看当前用户授给其他用户的对象权限
SQL> select * from user_tab_privs;
GRANTEE    OWNER      TABLE_NAME GRANTOR    PRIVILEGE  GRA HIE
---------- ---------- ---------- ---------- ---------- --- ---
ORACLE    SCOTT      EMP        SCOTT      SELECT    NO  NO


-----连带管理系统权限,权限转移后权限不会被级联回收
grant select any table to u1 with admin option;
-----对象权限会级联回收
grant delete on emp to u1 with grant option;


-----查看所有角色
SQL>select * from dba_roles;
-----查看莫一个角色拥有的系统权限
SQL> select * from dba_sys_privs where grantee='DBA';
SQL> select * from role_sys_privs where role='RESOURCE';
SQL> select * from role_sys_privs where role in('CONNECT','RESOURCE');
SQL> select * from dba_sys_privs where grantee in('CONNECT','RESOURCE');


-----查看角色之间的嵌套关系和所授予的用户
SQL> select * from dba_role_privs order by 2;


-----修改用户所最大拥有的角色个数
SQL> alter system set max_enabled_roles=148 scope=spfile;


System altered.


----查看角色属性
SQL> select * from role_tab_privs where role='R1';


ROLE      OWNER      TABLE_NAME      COLUMN_NAME    PRIVILEGE    GRA
---------- ---------- --------------- --------------- ------------ ---
R1        SCOTT      EMP                            SELECT      NO


----当前用户会话拥有的角色
SQL> show user
USER is "SCOTT"
SQL> select * from session_roles;
ROLE
------------------------------
CONNECT
RESOURCE


----查看某个用户的角色
select GRANTEE,GRANTED_ROLE from dba_role_privs
where grantee='SCOTT';


----指定某个角色为默认角色。
SQL> conn system/a
SQL> alter user u1 default role none;没有任何角色
SQL> alter user u1 default role r1;
SQL> conn u1/u1
SQL> select * from session_roles;
----角色的切换
SQL> conn u1/u1
SQL> set role all;此刻拥有全部所授予的角色
SQL> set role r1;只有r1
SQL> set role r2;
SQL> select * from session_roles;
----角色的密码验证
在角色切换的时候,需要指定密码。
SQL> conn system/a
SQL> alter role r2 identified by r2;
SQL> alter user u1 default role r1;
----取消角色的密码:
alter role r1 not identified;
----我们要把非默认的角色保护起来。
SQL> conn u1/u1
SQL> set role r2 identified by r2;


    
 
 

您可能感兴趣的文章:

  • oracle复习笔记之PL/SQL程序所要了解的知识点
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • ORACLE数据库常用字段数据类型介绍
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  • Oracle发布Oracle SQL Developer 1.2数据库开发工具 帮助用户简化开发工作
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • Oracle收购TimesTen 提高数据库软件性能
  • 卸载oracle数据库
  • Oracle数据库恢复后心得
  • linux上安装oracle 数据库后,是否能写shell程序实现数据库的自动启动。
  • Linux下如何用C语言操作Oracle数据库相关的图书推荐
  • Oracle数据库运行Oracle form时避免出现提示信息
  • Oracle欲收购开源数据库MySQL未果
  • 如何在JBuilder中连接Oracle数据库?
  • Oracle数据库访问参数文件的顺序
  • 循序渐进学习Oracle数据库
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下Oracle数据库相关知识集粹
  • Oracle相关基础知识教程集锦
  • oracle 创建数据库小知识
  • Oracle 知识问答
  • Oracle小知识集锦
  • oracle数据库入门知识简述
  • 想学习UNIX,LINUX,ORACLE方面的知识。请帮忙。
  • Oracle数据库基本知识学习笔记
  • 浅析基于Oracle案例知识库设计
  • Linux中Oracle使用相关知识集锦
  • 基础知识:Oracle数据库的启动方式
  • Oracle SQL基础知识
  • 浅谈应该如何理解Oracle的架构知识
  • Oracle系统表知识
  • Oracle数据库中安全知识介绍
  • Oracle日期函数知识整理
  • oracle 合并查询 事务 sql函数小知识学习
  • oracle10g 知识篇
  • Oracle与连接相关知识
  • Oracle基本知识与问题解决
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • ORACLE日期相关操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,