oracle+查询用户
Oracle数据库数据恢复环境:
北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。
Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。
Oracle数据库数据恢复过程:
1、为保护用户数据和重现故障的解决过程,北亚企安数据恢复工程师重构了与用户相同的故障:
使用Scott用户创建表emp1,连续多次复制emp表,多次复制后的总记录数为7340032条。truncate表emp1,之后没有进行任何操作。查询该表,数据库中该表的记录为0条。
北亚企安数据恢复——Oracle数据恢复
注: Os:win server 2008R2。数据库版本:win_oracle_11.2.0.1_x64;
2、对system表空间文件进行分析,找到truncate表的原始数据所在位置。
北亚企安数据恢复——Oracle数据恢复
3、解析表所在的数据文件,找到被truncate的数据。
4、将truncate的数据插入到数据库中。
5、在Oracle数据库中查看被truncate的表,发现数据回来了,直接备份数据。
北亚企安数据恢复——Oracle数据恢复
6、Exp导出scott用户。
北亚企安数据恢复——Oracle数据恢复
詹虏储3039oracle中怎样查询用户权限? -
高贝狮17256788277 ______ 查看用知户系统权限:道 select * from dba_sys_privs; select * from session_privs; select * from user_sys_privs; 查看用户对内象权容限:select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs;
詹虏储3039oracle如何查询当前用户有哪些序列? -
高贝狮17256788277 ______ 查询当前用户的 select * from user_sequences 查询所有的 select * from all_sequences 其中sequence_name就是序列的名字
詹虏储3039用Oracle语句怎么查出一个用户下的所有表 -
高贝狮17256788277 ______ 查当前用户: select * from user_tables select * from tab where tabtype = 'TABLE' 查其他用户 select * from all_tables WHERE OWNER = 'XXX'
詹虏储3039怎么查看oracle中有哪些用户拥有dba权限 -
高贝狮17256788277 ______ 运行输入cmd.或是wind+r输入cmd使用sqlplus一dba身份登录.如下图:3使用dba登录后输入select * from V$PWFILE_USERS.就能够查询出哪些用户用户dba或是sysdba的权限.
詹虏储3039oracle 怎么查指定用户(例如scott)用到的表空间 -
高贝狮17256788277 ______ 执行如下语句即可: select OWNER, t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) mmm from dba_segments t where t.owner = '你要查询的用户' and t.segment_type='TABLE' group by OWNER, t.segment_name, t.segment_type ...
詹虏储3039在Oracle中 怎么查询用户 -
高贝狮17256788277 ______ select * from all_users,我经常用这个,不知道是不是跟你要的一样
詹虏储3039Oracle数据库中如何查询一个用户A下面所有的表的信息
高贝狮17256788277 ______ 1、看用户的表的信息如同marliuang所说,不再赘述.当然了你用A登录后也可以用命令(select tname from tab;)查看. 2、显示乱码是因为oracle中的回收站(recyclebin)的缘故,为了防止用户误删除,oracle引入了回收站这一概念,你可以使用命令:purge recyclebin;(用户A登录)或者purge dbarecyclebin;(dba用户登录)这样就看不到这个表了.当然了你在删除表的时候直接写“drop table tablename purge;” 也是一样的.
詹虏储3039如何查看oracle用户权限 -
高贝狮17256788277 ______ "ORACLE数据字典视图的种类分别为:USER,ALL 和 DBA. USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息 ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上 其他用户创建的对象但该用户有权...
詹虏储3039如何查看Oracle数据库里共创建了多少用户 -
高贝狮17256788277 ______ 最直观的方法就是直接在pl/sql里查看 命令行如下 查看所有用户:select * from all_users; 查看表空间:select tablespace_name from dba_tablespaces; 查看用户具有怎样的角色:select * from dba_role_privs where grantee='用户名'; 查看某个角色包括哪些系统权限:select * from dba_sys_privs where grantee='DBA' 查看oracle中所有的角色:select * from dba_roles;
詹虏储3039Oracle 显示所有的而用户 用什么命令??? -
高贝狮17256788277 ______ 查询oracle中所有用户信息 select * from dba_users