精华内容
下载资源
问答
  • Where is my data 有时候我们想要知道一个特定的database block位于ASM的哪个磁盘,磁盘的哪个AU以及AU的哪一个块。本篇文章将向大家展示如何解决这个问题。 Database Instance 首先在数据库里创建测试表空间: SQL&...

    Where is my data

    有时候我们想要知道一个特定的database block位于ASM的哪个磁盘,磁盘的哪个AU以及AU的哪一个块。本篇文章将向大家展示如何解决这个问题。

    Database Instance

    首先在数据库里创建测试表空间:

    SQL> create tablespace T1 datafile '+DATA';


    Tablespace created.


    SQL> select f.FILE#, f.NAME "File", t.NAME "Tablespace"

    from V$DATAFILE f, V$TABLESPACE t

    where t.NAME='T1' and f.TS# = t.TS#;


    FILE# File                               Tablespace

    ----- ---------------------------------- ----------

       6  +DATA/br/datafile/t1.272.797809075 T1


    SQL>

    注意到ASM file number是272。

    现在创建一张测试表并插入数据:

    SQL> create table TAB1 (n number, name varchar2(16))

    tablespace T1;

    Table created.

    SQL> insert into TAB1 values (1, 'CAT');

    1 row created.

    SQL> commit;

    Commit complete.

    查询块号:

    SQL> select ROWID, NAME from TAB1;

    ROWID NAME

    ------------------ ----

    AAASxxAAGAAAACHAAA CAT

    SQL> select

    DBMS_ROWID.ROWID_BLOCK_NUMBER('AAASxxAAGAAAACHAAA')

    "Block number" from DUAL;

    Block number

    ------------

    135

    查询数据文件的块大小:

    SQL> select BLOCK_SIZE from V$DATAFILE where FILE#=6;

    BLOCK_SIZE

    ----------

    8192

    可以看到插入的数据位于135号块,数据文件块大小为8K。

    ASM Instance

    连接ASM实例,查询272号文件的区分布:

    SQL> select GROUP_NUMBER from V$ASM_DISKGROUP where NAME='DATA';


    GROUP_NUMBER

    ------------

               1


    SQL> select PXN_KFFXP, -- physical extent number

    XNUM_KFFXP,            -- virtual extent number

    DISK_KFFXP,            -- disk number

    AU_KFFXP               -- allocation unit number

    from X$KFFXP

    where NUMBER_KFFXP=272 -- ASM file 272

    AND GROUP_KFFXP=1      -- group number 1

    order by 1;


    PXN_KFFXP  XNUM_KFFXP DISK_KFFXP   AU_KFFXP

    ---------- ---------- ---------- ----------

             0          0          0       1175

             1          0          3       1170

             2          1          3       1175

             3          1          2       1179

             4          2          1       1175

    ...


    SQL>

    可以看到文件的区分布在所有磁盘,由于数据文件为Normal冗余,每个区都是两副本。注意我说的是数据文件为Normal冗余。默认情况下,文件会继承磁盘组的冗余策略。控制文件是个例外:即使在Normal冗余的磁盘组,如果磁盘组包含至少3个failgroup,控制文件也会被创建为high冗余。

    查询磁盘组的AU大小:

    SQL> select VALUE from V$ASM_ATTRIBUTE where

    NAME='au_size' and GROUP_NUMBER=1;

    VALUE

    -------

    1048576

    AU大小为1MB。注意每个磁盘组可以有不同的AU大小。

    Where is my block

    现在已知测试数据在272号ASM file的135号块。数据块为8K的情况下,每个AU可以包含128个块。这就意味着135号块位于第二个virtual extent的第7个块。第二个virtual extent包含3号磁盘的1175号au和2号磁盘的1179号au.

    查询磁盘2和3的名字:

    SQL> select DISK_NUMBER, NAME

    from V$ASM_DISK

    where DISK_NUMBER in (2,3);


    DISK_NUMBER NAME

    ----------- ------------------------------

             2 ASMDISK3

             3 ASMDISK4


    SQL>

    我使用了ASMLIB,所以在OS层面,对应的磁盘名为:

    /dev/oracleasm/disks/ASMDISK3和/dev/oracleasm/disks/ASMDISK4

    Show me the money

    测试数据位于1175号AU的第7个块。我们首先将这个AU的数据dd出来:

    $ dd if=/dev/oracleasm/disks/ASMDISK4 bs=1024k count=1 skip=1175 of=AU1175.dd

    1+0 records in

    1+0 records out

    1048576 bytes (1.0 MB) copied, 0.057577 seconds, 18.2 MB/s

    $ ls -l AU1175.dd

    -rw-r--r-- 1 grid oinstall 1048576 Oct 27 22:45 AU1175.dd

    $

    注意几个参数的含义:

    · bs=1024k -- AU的大小

    · skip=1175 -- 我们需要导出的AU

    · count=1 -- 只需要导出一个AU

    然后将7号块的数据从AU中导出:

    $ dd if=AU1175.dd bs=8k count=1 skip=7 of=block135.dd

    注意bs指定为8k(数据块大小),skip指定为7(要导出的块号)。

    查看数据块内容:

    $ od -c block135.dd

    ...

    0017760 \0 \0 , 001 002 002 301 002 003 C A T 001 006 332 217

    0020000

    $

    在内容的最后可以看到插入的数据 -- CAT.注意Oracle数据块从下向上填充。如果去查看磁盘/dev/oracleasm/disks/ASMDISK3的1179号AU,结果是一样的。

    Conclusion

    要定位ASM中数据块的位置,需要知道数据块位于哪个数据文件。然后通过X$KFFXP视图查看数据文件的区分布。还需要数据块大小和ASM AU大小去定位数据块位于哪个AU。 以上操作和ASM或者RDBMS的版本无关。(V$ASM_ATTRIBUTE视图除外,因为在10g中没有该视图)在Normal和high冗余模式下,将会有多副本数据。但是定位数据块的方法是相同的。


    本文来自云栖社区合作伙伴“DBGEEK”

    展开全文
  • 原文: Where is my data 作者: Bane Radulovic 译者:邱大龙,沃趣科技数据库技术专家,主要参与公司产品实施、测试、维护以及优化。对SQL优化、数据迁移、备份容灾等有深入的研究,对大数据量数据迁移、故障...

    原文: Where is my data
    作者: Bane Radulovic
    译者:邱大龙,沃趣科技数据库技术专家,主要参与公司产品实施、测试、维护以及优化。对SQL优化、数据迁移、备份容灾等有深入的研究,对大数据量数据迁移、故障恢复、高并发下数据库性能调优有丰富的经验。
    审校:魏兴华
    责编:仲培艺

    有时候我们想要知道一个特定的database block位于ASM的哪个磁盘,磁盘的哪个AU以及AU的哪一个块。本篇文章将向大家展示如何解决这个问题。

    Database Instance

    首先在数据库里创建测试表空间:

    SQL> create tablespace T1 datafile '+DATA';
    
    Tablespace created.
    
    SQL> select f.FILE#, f.NAME "File", t.NAME "Tablespace"
    from V$DATAFILE f, V$TABLESPACE t
    where t.NAME='T1' and f.TS# = t.TS#;
    
    FILE# File                               Tablespace
    ----- ---------------------------------- ----------
       6  +DATA/br/datafile/t1.272.797809075 T1
    
    SQL>

    注意到ASM file number是272。

    现在创建一张测试表并插入数据:

    SQL> create table TAB1 (n number, name varchar2(16))
    tablespace T1;
    Table created.
    SQL> insert into TAB1 values (1, 'CAT');
    1 row created.
    SQL> commit;
    Commit complete.

    查询块号:

    SQL> select ROWID, NAME from TAB1;
    ROWID NAME
    ------------------ ----
    AAASxxAAGAAAACHAAA CAT
    SQL> select
    DBMS_ROWID.ROWID_BLOCK_NUMBER('AAASxxAAGAAAACHAAA')
    "Block number" from DUAL;
    Block number
    ------------
    135

    查询数据文件的块大小:

    SQL> select BLOCK_SIZE from V$DATAFILE where FILE#=6;
    BLOCK_SIZE
    ----------
    8192

    可以看到插入的数据位于135号块,数据文件块大小为8K。

    ASM Instance

    连接ASM实例,查询272号文件的区分布:

    SQL> select GROUP_NUMBER from V$ASM_DISKGROUP where NAME='DATA';
    
    GROUP_NUMBER
    ------------
               1
    
    SQL> select PXN_KFFXP, -- physical extent number
    XNUM_KFFXP,            -- virtual extent number
    DISK_KFFXP,            -- disk number
    AU_KFFXP               -- allocation unit number
    from X$KFFXP
    where NUMBER_KFFXP=272 -- ASM file 272
    AND GROUP_KFFXP=1      -- group number 1
    order by 1;
    
    PXN_KFFXP  XNUM_KFFXP DISK_KFFXP   AU_KFFXP
    ---------- ---------- ---------- ----------
             0          0          0       1175
             1          0          3       1170
             2          1          3       1175
             3          1          2       1179
             4          2          1       1175
    ...
    
    SQL>

    可以看到文件的区分布在所有磁盘,由于数据文件为Normal冗余,每个区都是两副本。注意我说的是数据文件为Normal冗余。默认情况下,文件会继承磁盘组的冗余策略。控制文件是个例外:即使在Normal冗余的磁盘组,如果磁盘组包含至少3个failgroup,控制文件也会被创建为high冗余。

    查询磁盘组的AU大小:

    SQL> select VALUE from V$ASM_ATTRIBUTE where
    NAME='au_size' and GROUP_NUMBER=1;
    VALUE
    -------
    1048576

    AU大小为1MB。注意每个磁盘组可以有不同的AU大小。

    Where is my block

    现在已知测试数据在272号ASM file的135号块。数据块为8K的情况下,每个AU可以包含128个块。这就意味着135号块位于第二个virtual extent的第7个块。第二个virtual extent包含3号磁盘的1175号AU和2号磁盘的1179号AU。

    查询磁盘2和3的名字:

    SQL> select DISK_NUMBER, NAME
    from V$ASM_DISK
    where DISK_NUMBER in (2,3);
    
    DISK_NUMBER NAME
    ----------- ------------------------------
             2 ASMDISK3
             3 ASMDISK4
    
    SQL>

    我使用了ASMLIB,所以在OS层面,对应的磁盘名为:

    /dev/oracleasm/disks/ASMDISK3和/dev/oracleasm/disks/ASMDISK4

    Show me the money

    测试数据位于1175号AU的第7个块。我们首先将这个AU的数据dd出来:

    $ dd if=/dev/oracleasm/disks/ASMDISK4 bs=1024k count=1 skip=1175 of=AU1175.dd
    1+0 records in
    1+0 records out
    1048576 bytes (1.0 MB) copied, 0.057577 seconds, 18.2 MB/s
    $ ls -l AU1175.dd
    -rw-r--r-- 1 grid oinstall 1048576 Oct 27 22:45 AU1175.dd
    $

    注意几个参数的含义:

    • bs=1024k – AU的大小
    • skip=1175 – 我们需要导出的AU
    • count=1 – 只需要导出一个AU

    然后将7号块的数据从AU中导出:

    $ dd if=AU1175.dd bs=8k count=1 skip=7 of=block135.dd

    注意bs指定为8k(数据块大小),skip指定为7(要导出的块号)。

    查看数据块内容:

    $ od -c block135.dd
    ...
    0017760 \0 \0 , 001 002 002 301 002 003 C A T 001 006 332 217
    0020000
    $

    在内容的最后可以看到插入的数据 – CAT。注意Oracle数据块从下向上填充。如果去查看磁盘/dev/oracleasm/disks/ASMDISK3的1179号AU,结果是一样的。

    Conclusion

    要定位ASM中数据块的位置,需要知道数据块位于哪个数据文件。然后通过X$KFFXP视图查看数据文件的区分布。还需要数据块大小和ASM AU大小去定位数据块位于哪个AU。以上操作和ASM或者RDBMS的版本无关。(V$ASM_ATTRIBUTE视图除外,因为在10g中没有该视图)在Normal和high冗余模式下,将会有多副本数据。但是定位数据块的方法是相同的。

    展开全文
  • 终于把这篇文章翻译完了Liam Cleary 的 Where is the SharePoint Project? 翻译完了,感觉自己太少做这方面的的事情,翻译出来的文字很羞涩,不够流畅,以后得多花点时间在这方面上了。 有兴趣看我翻译好的请点击:...

    终于把这篇文章翻译完了Liam ClearyWhere is the SharePoint Project? 翻译完了,感觉自己太少做这方面的的事情,翻译出来的文字很羞涩,不够流畅,以后得多花点时间在这方面上了。

    有兴趣看我翻译好的请点击:Sharepoint项目在哪里?,或者查看作者的原文Where is the SharePoint Project?

    做个总结:

    1、项目经常花太多的时间聚焦于什么是产品可以为我们提供的,而不是真正的去解决业务需求

    公司已经经历了四个Sharepoint项目了,我们想的时候很多都范下了这样的错误,被Sharepoint所局限。在今后的项目构筑中,更多的来讲应该从需求开始考虑,而不是先看看Sharepoint能做什么,然后再看看什么可以用Sharepoint来做。

    2、Sharepoint只是一个可以促进技术变革的平台而无法改变我们的企业文化

    企业文化就像人的思想,而Sharepoint就像一张纸和一支笔,没有好的思想是无法在纸上写出好东西的。但或许在写的过程中如果有很好的引导, 人的思想也是会得到改善的,所以我觉得如果能够设计出优秀Sharepoint项目,在适应企业文化的同时,对企业文化也应该起着推动作用。

    3、作者总结出的几个指导方针:

    1、卷入业务用户

    2、选择真实的业务流程并在Sharepoint项目上对他们进行建模

    3、不要急着安装和使用Sharepoint所有的功能

    4、记住Sharepoint不仅仅是一个产品,而是一个可以构筑的平台

    公司的社内Portal的第二步骤开发即将开始了,相信这几点的记录对我们后面的项目设计有很大的帮助。

    转载于:https://www.cnblogs.com/jecoso/archive/2008/10/02/1302997.html

    展开全文
  • 题意:有n个大理石刻着数字,有q个猜测,对n个大理石数字先排序,然后对q个猜测依次判断是否对应有大理石数字,依照判断输出格式。 思路:这道题比较简单,无非就是先...没几次看英文题,看的烦的慌,尤其是翻译...

     

    题意:有n个大理石刻着数字,有q个猜测,对n个大理石数字先排序,然后对q个猜测依次判断是否对应有大理石数字,依照判断输出格式。

    思路:这道题比较简单,无非就是先排序,然后查找,因为题意给定的范围,直接用简单查找进行,不用担心超出int范围(其实还是懒,懒得想其他),需要注意的是需要覆盖上一次输入的数,要不然当前输入的大理石数小于上一次输入的会有上次输入的数组残留,我这里把设数组在while里边,省了memset. 题解写的复杂,懒得改了,以后有机会再改。呼呼

    没几次看英文题,看的烦的慌,尤其是翻译翻译翻的还不准确,头疼,好好英语,任重道远。

    #include<algorithm>
    #include<iostream>
    using namespace std;
    int main()
    {
        int n,q,count=1,k,m;
        while(scanf("%d%d",&n,&q)!=EOF)
        {
            if(n==0&&q==0) break;
            k=0,m=0;
            int mar[10002],quer[10002];
            for(int i=0;i<n;i++) cin>>mar[i];
            for(int i=0;i<q;i++) cin>>quer[i];    
            sort(mar,mar+n);
            for(int i=0;i<q;i++)
            {
                m=0;
                for(int j=0;j<n;j++){
                        if(k==0){
                        printf("CASE# %d:\n",count);
                        count++;
                        k=1;
                        }
                    if(quer[i]==mar[j]){
                        m=1;
                        printf("%d found at %d\n",quer[i],j+1);
                        break;
                    }
                }
                if(m==0)
                printf("%d not found\n",quer[i]);
            }
        }
        return 0;
    }

    展开全文
  • 题意翻译 现有N个大理石,每个大理石上写了一个非负整数。首先把各数从小到大排序,然后回 答Q个问题。每个问题问是否有一个大理石写着某个整数x,如果是,还要回答哪个大理石上 写着x。排序后的大理石从左到右编号...
  • 题目比较简单就不翻译了,主要实现排序和搜索: 1)存数组 2)上 sort 3) lower_bound 查 4)验证 奉AC代码:(注意 lower_bound 的使用) #include "stdafx.h" #include <cstdio> #include <cstring> ...
  • where there is a will,there is a way翻译汉语为:“有志者,事竟成。”where意为在哪里there is意为有a意为一个will意为将way意为方式,方法,道路。拓展资料:地点状语从句表示地点、 方位, 这类从句通常由...
  • 原题及翻译 Raju and Meena love to play with Marbles. 拉朱和米娜喜欢玩弹珠。 They have got a lot of marbles with numbers written on them. 他们有很多写着数字的大理石。 At the beginning, Raju would place...
  • 翻译过来就是 “id” 这一列含糊不清 大多出现在连表查询并且都有相同的字段(id) <select id="getInsuranceInfoById" parameterType="java.lang.Integer" resultMap="item"> select <include refid=...
  • (一)Column ‘create_time’ in where clause is ambiguous 问题: 这个不关你是在IDEA的控制台看Mybatis报错还是在看Mysql返回来的抱错都能看到这个,“ambiguous”,谷歌翻译第一个结果是暧昧,可以的这报错,...
  • 百度翻译→百度翻译 没使用过该网站的同学请猛戳这里→vJudge教程 思路 数组存入,sort排序,find或lower_bound查找。 分析: 最开始没有注意到n是有上限的,于是开了一个vector(小声哔哔,vector比数组慢了一倍有...
  • 最近的研究需要用到natural gradient,但是2002年的那篇ICML看不懂。...链接:http://kvfrans.com/what-is-the-natural-gradient-and-where-does-it-appear-in-trust-region-policy-optimization/ 阅读本文只需要少...
  • 作者:Yogi前言:因为项目需要增加对中文繁体的支持,所以利用谷歌翻译,将项目原有的中文简体翻译成中文繁体,但是直接将谷歌翻译后的内容拷贝到string.xml中,遇到问题:Found text“ ” where item tag is ...
  • [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build. 翻译...
  • WinSCP - 翻译 - 更新 - 4.2.5

    千次阅读 2010-02-04 07:53:00
    WinSCP - 翻译 - 更新 - 4.2.5Environment variable WINSCP_PATHpointing to path, where WinSCP executable file is located, is set onstartup, so it can be used to configure portable paths relative to
  • MSGO聊天翻译器-源码

    2021-02-14 16:32:54
    API | YOUR_API_KEY_GOES_HERE MSGO_PATH | DIRECT_PATH_TO_WHERE_MSGO_IS IE。 API | trnsl.1.1.5OZL30V8WG4ROL9C.vrkwjdp2x930jrnw.q2ej16r6via27p764zj15kcy3fe6vkvv3g104xpe MSGO_PATH | C:\ BNO \ ...
  • 2014美赛翻译

    2014-02-07 10:25:02
    转自... PROBLEM A: The Keep-Right-Except-To-Pass Rule In countries where driving automobiles on the right is the rule (that is, USA, China
  • kafka官网简介翻译

    2020-08-22 14:38:44
    event streaming(事件流) Event streaming is the digital equivalent of the human body’s central nervous system....foundation for the ‘always-on’ world where businesses are increasingly softwar
  • EAColourfulProgressView 效果: ...EAColourfulProgressView is a custom progress view where the current filling colour is generated between two colours, based on the current value. It ...
  • Inside Symbian SQL 翻译连载 四

    千次阅读 2010-06-07 22:02:00
    2.3.9删除一条记录 删除一条记录与更新一条记录的方法类似... _LIT(KDeleteRec, "DELETE FROM songsTbl WHERE title ='Imagine'"); // The database object is already connected to a database file /
  • 发布日期不是翻译

    2017-02-07 10:42:19
    <p>where is 'M' is a month. I want to translate inside the the_time() function. <p><strong>Below is the screenshot :</strong></p> <p><img src=...
  • 翻译ASP功能

    2013-12-29 22:08:11
    That's where I'm not sure what the code is doing exactly. The best I can do by looking at it is that it's going through the string strTemp it's creating a new sum adding the value of each digit. ...
  • Twig DateExtension翻译

    2015-10-28 11:05:44
    <p>This configuration seems to be partially working because in my template I have (where foo is a DateTime): <pre><code>{{ foo|time_diff }} - {{ "test"|trans }} </code></pre> <p>The result should be...
  • In this paper, we propose a deep neural network approach to solve this problem by mapping both the tag-based user and item profiles to an abstract deep feature space, where the deepsemantic ...
  • <p>I have a website where only a part should be translated (into english - german is default). But on this page also links to pages with only a default language version are displayed in menus. These ...
  • normit en es " hey cowboy where is your horse? " = > " Hey vaquero dónde está tu caballo? " normit fr en " qui est votre papa? " = > " Who's Your Daddy? " 文本数据输入不需要括号: normit fr ru qui...
  • 百度api翻译小demo

    千次阅读 2019-01-17 14:17:22
    $res = Db::name('cn_base_district') //-&amp;gt;where('district_name_us','') -&amp;gt;where('district_name_us', '') -&...where('district_is_level', '=', '3') -&amp;...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 291
精华内容 116
关键字:

whereis翻译