Oracle系列:(21)访问其他用户下的对象[授权]

声明:scott或hr叫用户名/方案名/空间名

scott--tiger

hr-----lion

查询当前用户是谁

show user;

查询scott自己表空间下的所有对象时,可加,或不加用户名select * from emp;

select * from emp;

select * from scott.emp;

以sysdba身份解锁hr普通帐户

alter user hr account unlock;

以sysdba身份设置hr普通帐户的密码

alter user hr identified by lion;

当scott查询hr表空间下的所有表时,必须得加用户名

select * from hr.jobs;

在默认情况下,每个用户只能查询自已空间下的对象的权限,不能查询其它用户空间下的对象

以sysdba身份角色,授予scott用户查询所有用户空间下的对象权限

grant select any table to scott;

以sysdba身份,撤销scott用户查询所有用户空间下的对象权限

revoke select any table from scott;

scott自已查看自己所拥有的权限

select * from user_sys_privs;

从scott用户空间导航到sysdba用户空间

conn / as sysdba;

从sysdba用户空间导航到scott用户空间

conn scott/tiger;

从scott用户空间导航到hr用户空间

conn hr/lion;

查询hr用户空间中的所有对象

select * from tab;

从hr用户空间导航到scott用户空间

conn scott/tiger;

在scott用户空间下,查询hr用户空间下的jobs表,必须加上hr用户空间名

select * from hr.jobs;
时间: 2024-12-22 14:30:40

Oracle系列:(21)访问其他用户下的对象[授权]的相关文章

Oracle数据库访问其他用户下的表,不加表所属的用户名的实现方法

一. 问题: 如何实现在Oracle数据库中访问其他用户的表时不需加表所属的用户名 二. 举例: Oracle里面的用户A,要访问用户B的表需要带用户B的前缀,如访问用户B的 TEST表,需要这样访问 select * from B.TEST;现在就是问如何才能无需添加用户名的前缀. 三. 原因: 方便访问常用表 隐藏表的用户 四. 解决方案: 1. 创建同义词(最好的方式) 语法: CREATE [PUBLIC] SYNONYM synonym_name FOR [schema.] objec

Oracle 如何删除掉一个用户下的所有对象

create or replace procedure drop_all as cursor cur_obj is select uo.OBJECT_NAME, uo.OBJECT_TYPE from user_objects uo where uo.OBJECT_NAME not in ('DROP_ALL') and uo.OBJECT_TYPE not in ('LOB'); /* cursor cur_tablespace is select ut.TABLESPACE_NAME fro

删除用户下所有对象

DECLARE TYPE name_list IS TABLE OF VARCHAR2(40); TYPE type_list IS TABLE OF VARCHAR2(20); Tab_name name_list:=name_list(); Tab_type type_list:=type_list(); --语句定义除body,系统的lob和index外的对象 sql_str VARCHAR2(500); BEGIN sql_str := 'SELECT UO.OBJECT_NAME, U

ORACLE不使用工具的情况下获取对象DDL

set line 200set pagesize 0set long 99999set feedback offset echo off获得表.索引.视图.存储过程.函数的DDL:select dbms_metadata.get_ddl('TABLE','TABLE_NAME','TABLE_OWNER') from dual;select dbms_metadata.get_ddl('INDEX','INDEX_NAME','INDEX_OWNER') from dual;select dbm

Oracle 删除某个用户下的所有对象,执行需谨慎

在PL/sql中,点"新建"->"命令窗口"->粘贴后直接执行 --删除某个用户下的对象set heading off;set feedback off;spool d:/dropobj.sql; prompt --Drop constraint select 'alter table '||table_name||' drop constraint '||constraint_name||' ;' from user_constraints where

.Net程序员学用Oracle系列(1):导航目录

原文:http://www.cnblogs.com/hanzongze/p/oracle-catalog.html .Net程序员学用Oracle系列(1):导航目录 .Net程序员学用Oracle系列(2):准备测试环境 .Net程序员学用Oracle系列(3):数据库编程规范 .Net程序员学用Oracle系列(4):四个基本概念 .Net程序员学用Oracle系列(5):三大数据类型 .Net程序员学用Oracle系列(6):表.字段.注释.约束.索引 .Net程序员学用Oracle系列(

2.oracle 12c 创建-访问-关闭-删除PDB

1.创建PDB SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /u01/app/oracle/oradata/ora12c/system01.dbf /u01/app/oracle/oradata/ora12c/pdbseed/system01.dbf /u01/app/oracle/oradata/or

spool命令、创建一个表,创建并且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站

  1.spool命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创建表的权限,(2):有表空间 SQL> desc t4; 名称                                      是否为空? 类型 ----------------------------------------- -------- ------------------------

Oracle同一个用户下启动多个数据库实例

[email protected] oradata]$ export ORACLE_SID=APPDB[[email protected] oradata]$ lsnrctl startLSNRCTL for Linux: Version 11.2.0.4.0 - Production on 22-MAY-2014 11:42:15Copyright (c) 1991, 2013, Oracle.  All rights reserved.TNS-01106: Listener using li