当前位置:  数据库>其它
本页文章导读:
    ▪Oracle查询指定用户有权限的所有表       在Oracle使用过程中经常会用到查看当前或者指定用户对哪些表拥有权限,一下几种方法可以实现查看当前或者指定用户对哪些表拥有权限。   方法1: 根据指定用户名获得对应用户所拥有.........
    ▪Mongo官方文档翻译 (一)      最近在学习Mongo,向通过官方文档来获得第一手资料,无奈自己的英语水比较跛脚,但是总是要迈出第一步,所以现在尝试翻译在这里,如果有不好的地方,还望各位看官拍砖,废话少说,开.........
    ▪贵的未必是好的:T5220和X86服务器上Oracle性能之比较      在Solaris上跑Oracle已经10多年了。OS从2.6熬到10,DB从8.1熬到10.2。别说,这种组合还真给力。这么多年,就是没出过啥问题。 3年前的2010年,硬件更新换代。行政上仗着预算富裕,硬是否定了技.........

[1]Oracle查询指定用户有权限的所有表
    来源: 互联网  发布时间: 2013-11-07

在Oracle使用过程中经常会用到查看当前或者指定用户对哪些表拥有权限,一下几种方法可以实现查看当前或者指定用户对哪些表拥有权限。

 

方法1:

根据指定用户名获得对应用户所拥有权限的表

Sql代码  
  • SQL> SELECT table_name, owner FROM all_tables WHERE owner = 'SCOTT';   
  •     
  • TABLE_NAME        OWNER   
  • ------------------------------ ------------------------------  
  • DEPT                      SCOTT   
  • EMP                        SCOTT   
  • BONUS                   SCOTT   
  • SALGRADE             SCOTT  
  • SQL> SELECT table_name, owner FROM all_tables WHERE owner = 'SCOTT';
     
    TABLE_NAME        OWNER
    ------------------------------ ------------------------------
    DEPT                      SCOTT
    EMP                        SCOTT
    BONUS                   SCOTT
    SALGRADE             SCOTT

     

    方法2:

    通过tab视图获得当前登录用户所有表和视图,通过tabletype过滤获得所有表

    Sql代码  
  • SQL> SELECT * FROM tab WHERE tabtype = 'TABLE';   
  •     
  • TNAME                   TABTYPE  CLUSTERID   
  • ------------------------------ ------- ----------   
  • DEPT                      TABLE    
  • EMP                        TABLE    
  • BONUS                   TABLE    
  • SALGRADE             TABLE   
  • SQL> SELECT * FROM tab WHERE tabtype = 'TABLE';
     
    TNAME                   TABTYPE  CLUSTERID
    ------------------------------ ------- ----------
    DEPT                      TABLE 
    EMP                        TABLE 
    BONUS                   TABLE 
    SALGRADE             TABLE 

     

    方法3:

    根据user_tables表获得当前用户拥有所有表

    Sql代码  
  • SQL> SELECT table_name FROM user_tables;   
  •     
  • TABLE_NAME   
  • ------------------------------   
  • DEPT   
  • EMP   
  • BONUS   
  • SALGRADE  
  • SQL> SELECT table_name FROM user_tables;
     
    TABLE_NAME
    ------------------------------
    DEPT
    EMP
    BONUS
    SALGRADE

     

    方法4:

    根据sys表空间下all_object表获得指定用户指定类型对象(表)

    Sql代码  
  • SQL> SELECT object_name FROM sys.all_objects WHERE owner='SCOTT' AND object_type='TABLE';   
  •     
  • OBJECT_NAME   
  • ------------------------------   
  • DEPT   
  • EMP   
  • BONUS   
  • SALGRADE  
  • SQL> SELECT object_name FROM sys.all_objects WHERE owner='SCOTT' AND object_type='TABLE';
     
    OBJECT_NAME
    ------------------------------
    DEPT
    EMP
    BONUS
    SALGRADE

     

    以上4中方式可以根据实际情况随意使用,已达到使用目的。

    作者:Jacee0048 发表于2013-1-22 16:50:17 原文链接
    阅读:50 评论:0 查看评论

        
    [2]Mongo官方文档翻译 (一)
        来源: 互联网  发布时间: 2013-11-07

    最近在学习Mongo,向通过官方文档来获得第一手资料,无奈自己的英语水比较跛脚,但是总是要迈出第一步,所以现在尝试翻译在这里,如果有不好的地方,还望各位看官拍砖,废话少说,开始:


    官方文档地址:http://docs.mongodb.org/manual/tutorial/getting-started/

    1.连接到数据库
    通过Mongo命令连接到数据库,然后可以通过mongo shell来在数据库的实例中选择一个逻辑数据库,也可以通过mongo shell获得帮助信息;


    1.1.在系统提示符下(命令行),通过运行mongo命令,如下:
    mongo
    默认情况下,mongo命令会把连接建立在localhost接口,并监听在27017端口。如果要连接到不同的数据库
    可以使用 --port和--host操作!

    1.2.选择一个数据库
    在启动mongl sell之后,会话会默认连接test数据库,任何时候都可以通过db命令来返回当前的数据库:
    db
    db命令返回当前的数据库,
    1.1.1 在mongo shell界面,通过如下命令显示mongo中的所有数据库:
    show dbs;
    1.1.2 通过以下命令来切换到一个新建的名为mydb的数据库中:
    use mydb;
    1.1.3 通过db命令来确认当前的数据库为mydb,操作如下:
    db;
    注意:如果你依然使用show dbs命令,mongo db不会返回mydb的名称,因为MongoDB直到往当前数据库中插入数据时才会
    建立该数据库,(这一点类似于Android中SQLite数据库,只有getReadableDatabase()方法调用时才会新建数据库)
    注意:在2.3.1的版本中,show databases;同样会返回一个数据库列表!

    1.3.显示mongo 帮助
    你可以再任何时候通过如下命令来调用mongo shell得到帮助信息:
    help;
    此外你可以在其他方法比如一些JavaScript函数,cursor对象后面添加.help()
    例如:db.help(),db.collection.help()等,他们会返回具体的帮助信息!

    2.创建一个聚集并插入文档
    在这里,你会将文档插入到mydb数据库中一个新建的名为things的聚集中。

    MongoDB会在第一次使用数据库的时候默认创建数据库和聚集,你不必要再第一次插入数据之前进行单独的创建
    数据库和聚集。此外,因为MongoDB采用动态模式(dynamic schemas),所以你不必在将文档插入到聚集之前特意指定他们的结构!
    插入一个单独的文档
    2.1 在命令提示符下,通过以下命令确认当前context是mydb:
    db
    2.2 如果在刚才的操作中mongo没有返回mydb,通过如下命令将context设置为mydb:
    use mydb
    2.3 通过以下的JavaScript顺序语句操作,创建两个名为j,k的文档:
    j = {name : "mongo"}
    k = {x : 3}
    2.4 通过以下操作序列将文档j,k插入到聚集things中:
    db.things.insert(j)
    db.things.insert(k)
    当你插入第一个文档的时候,mongod文件会创建mydb数据库和things聚集!
    2.5 通过以下操作来确认things已经被创建:
    show collections
    在这里,mongo shell会返回当前数据库(mydb)下的聚集列表,当前只有一个名叫things的聚集。
    每个mongo数据库都有会以个名为system.indexes的聚集!
    2.6 通过在things聚集中进行查询操作来确定刚才插入的两条文档已经存在。如下语句所示使用find()函数:
    db.things.find()

    以上操作会返回如下结果,其中ObjectId是唯一的:

    { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
    { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }

    所有的MongoDB文档都会有一个唯一的_id字段值,这项操作不需要明确的指定_id字段的值,
    MongoDB会自动在文档插入之前生成一个唯一的ObjectId值来填充这个_id字段!



    3.通过一个For循环插入多条文档
    3.1 命令提示符下,通过下面的For循环向things聚集中添加多条文档:
    for(var i=1; i<= 20; i++) db.things.insert( { x : 4 , j : i } )
    3.2 通过如下命令查询聚集中的文档:
    db.things.find()

    这里mongo shell会显示聚集中的前20条文档,每个文档的ObjectId都是唯一的:


    { "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
    { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }
    { "_id" : ObjectId("4c220a42f3924d31102bd856"), "x" : 4, "j" : 1 }
    { "_id" : ObjectId("4c220a42f3924d31102bd857"), "x" : 4, "j" : 2 }
    { "_id" : ObjectId("4c220a42f3924d31102bd858"), "x" : 4, "j" : 3 }
    { "_id" : ObjectId("4c220a42f3924d31102bd859"), "x" : 4, "j" : 4 }
    { "_id" : ObjectId("4c220a42f3924d31102bd85a"), "x" : 4, "j" : 5 }
    { "_id" : ObjectId("4c220a42f3924d31102bd85b"), "x" : 4, "j" : 6 }
    { "_id" : ObjectId("4c220a42f3924d31102bd85c"), "x" : 4, "j" : 7 }
    { "_id" : ObjectId("4c220a42f3924d31102bd85d"), "x" : 4, "j" : 8 }
    { "_id" : ObjectId("4c220a42f3924d31102bd85e"), "x" : 4, "j" : 9 }
    { "_id" : ObjectId("4c220a42f3924d31102bd85f"), "x" : 4, "j" : 10 }
    { "_id" : ObjectId("4c220a42f3924d31102bd860"), "x" : 4, "j" : 11 }
    { "_id" : ObjectId("4c220a42f3924d31102bd861"), "x" : 4, "j" : 12 }
    { "_id" : ObjectId("4c220a42f3924d31102bd862"), "x" : 4, "j" : 13 }
    { "_id" : ObjectId("4c220a42f3924d31102bd863"), "x" : 4, "j" : 14 }
    { "_id" : ObjectId("4c220a42f3924d31102bd864"), "x" : 4, "j" : 15 }
    { "_id" : ObjectId("4c220a42f3924d31102bd865"), "x" : 4, "j" : 16 }
    { "_id" : ObjectId("4c220a42f3924d31102bd866"), "x" : 4, "j" : 17 }
    { "_id" : ObjectId("4c220a42f3924d31102bd867"), "x" : 4, "j" : 18 }

    3.2.1 find()函数会返回一个游标(cursor),通过在mongo shell中使用it命令来

        
    [3]贵的未必是好的:T5220和X86服务器上Oracle性能之比较
        来源: 互联网  发布时间: 2013-11-07

    在Solaris上跑Oracle已经10多年了。OS从2.6熬到10,DB从8.1熬到10.2。别说,这种组合还真给力。这么多年,就是没出过啥问题。

    3年前的2010年,硬件更新换代。行政上仗着预算富裕,硬是否定了技术人员的升级方案,购买了当时比较高档T5220。

     

    T5220服务器使用UltraSPARC T2 CPU。该CPU的时钟速度并不高,只有1.2GHz,但是有4个核,而且每个核上可以挂接8个线程,从而构成了32个虚拟CPU。

    但是,在此服务器上跑Oracle 10g Standard Edition (10g SE)时,Oracle的每个过程最多只能占有1个(虚拟)CPU的处理能力,也就是最大能使用整个CPU的1/32的能力。

    而以前的V240服务器,虽然只有2个物理CPU,但每个过程可独享1个CPU,这就是说最大能使用整个CPU的1/2的能力。

    在月末处理时,V240的CPU使用率在1号前后的大约1周时间经常达到80%以上,有时候甚至达到100%。

    但是,自从移到T5220后,CPU的最大使用率从来都在18%左右。用户也抱怨这款贵且慢的服务器。

    对于多线程,并发处理等,T5220可能比较好,对于处理相对集中的公司业务,T5220不是个好的选择。

     

    为了给行政方面证明以上结论,借用VM服务器的一角,对T5220和X86,就现行的Oracle系统做了一番性能比较。

     

    1.    调查对象服务器的构成

     

    T5220

    X86

    CPU

    UltraSPARC T2

    Virtual X86

    速度

    1.2G

    2.5G

    个数

    4芯/32线程

    2

    Memory

    16G

    16G


        
    最新技术文章:
    ▪gc buffer busy/gcs log flush sync与log file sync    ▪让你的PL/SQL更好用    ▪ADO.NET中的非脱机数据库查询
    ▪参数job_queue_processes与Oracle jobs    ▪11gR2游标共享新特性带来的一些问题以及_cursor...    ▪_library_cache_advice和latch:shared pool、latch:shared poo...
    ▪SQL: Date Utility    ▪DB2 分区表增加分区    ▪DB2第一步 — 创建表
    ▪oracle 数据库    ▪插入10万条记录测试    ▪rebuild index VS. rebuild index online
    ▪如何处理undo tablespace 表空间太大的问题    ▪ado执行存储过程中包含结果集获取输出参数为...    ▪oracle函数的demo
    ▪Entity Framework 学习建议及自学资源    ▪存储过程的编写    ▪Linux/Unix shell 自动发送AWR report(二)
    ▪第二章 Oracle恢复内部原理(基础数据结构)    ▪Redis源码学习之【Tcp Socket封装】    ▪Java Jdbc减少与Oracle之间交互提升批量处理性能...
    ▪南大通用GBase8a Vs Oracle11g 单机测试亲测    ▪oracle 中行列转换    ▪rhel下安装oracle10g+asm---测试环境搭建
    ▪Redis系列-主从复制配置    ▪MySQL索引与查询优化    ▪INDEX受到NULL值的影响
    ▪测试人员的SQL语言 系列    ▪SQL数据库基本语句    ▪MySQL Replication常见错误整理[持续更新...]
    ▪eclipse下建立esper的demo    ▪把oracle rac 转化为单机数据库    ▪Redis系列-存储篇sorted set主要操作函数小结
    ▪基本的SQL*Plus报表和命令    ▪druid简单教程    ▪11g调度--scheduler使用
    ▪EF基础一    ▪db2存储过程中循环语句while do的continue有没有...    ▪oracle 创建DBLINK
    ▪DB2数据库备份还原    ▪Warning: prerequisite DBD::mysql 1 not found错误解决方...    ▪innotop性能监视mysql,innodb工具
    ▪数据迁移:DataGuard配置    ▪QX项目实战-19.跨库数据同步    ▪Mysql EXPLAIN
    ▪Oracle 11g AWR 系列七:Active Session History (ASH) 报...    ▪Oracle 11G新特性(共36个)    ▪父子节点问题
    ▪OEM简介及按钮乱码问题    ▪NoSql之MongoDB的常用类管理    ▪ORA-39700: database must be opened with UPGRADE option
    ▪node.js 访问redis数据库,pub/sub    ▪使用DBMS_REDEFINITION在线重定义分区表    ▪SQL Developer 使用问题与解决方法汇总
    ▪oralce 11g dataguard 概念    ▪ORA-30004 错误处理    ▪oracle分组函数rollup,cube
    ▪Sql Developer 使用问题与解决方法汇总    ▪Configure Oracle Dataguard Primary-ASM to Physical-ASM    ▪Oracle Data Guard 理论知识
    ▪Control File 恢复    ▪Oracle数据文件收缩    ▪Oracle 11g AWR 系列五:如何生成 AWR 报告?
    ▪Wireshark数据包分析实战(第2版)    ▪MySql用户权限控制    ▪db2和oracle查询序列区别
    ▪更新blob字段的存储过程    ▪MySQLReport分析报告三    ▪DB2中的序列
    ▪Oracle中DBMS_RANDOM.STRING 的用法    ▪SQL SERVER无法安装成功,sqlstp.log文件提示[未发...    ▪Data Guard 部署物理备库的 10 大注意事项
    ▪万能数据库查询分析器使用技巧之(九)    ▪SQL 自定义Split函数    ▪视图 v$sql,v$sqlarea,$sqltext,v$sqltext_with_newlines 的...
    ▪Data Guard Standby_archive_dest 和 Log_archive_dest_n 的...    ▪机房收费系统数据库设计(一)    ▪利用putty的SSH tunnel连接Oracle
    ▪DBCA建库偶遇ORA-27125    ▪使用PowerPivot建立简单的分析模型    ▪Linux/Unix shell 自动发送AWR report
    ▪写入到blob字段的存储过程    ▪关于JDBC中ResultSet接口的一点细节探究    ▪Data Guard 配置 Standby Redo Log
    ▪linux下redis的安装    ▪windows下redis的安装    ▪手动创建数据库步骤(简单翻译官方文档)
    ▪Ubuntu安装Mongodb    ▪SQL CLR应用    ▪redis的配置文件参数--详细说明
     


    站内导航:


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

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3