FAQ
I had a Veritas Cluster Non-RAC setup where I had 4 Database on Node1 and 4 on
Node2 and these cluster nodes act as High availability for each other. All
database are running with own VIP. Both Nodes have Local Oracle Software which
is 9i/10g/11g along with Oracle 11g Grid Agent.

Now if I failover one Database from Node A to Node B, then I can use emcli and
can relocate the Agent configuration for Oracle Database listener.

What I need is to Automate the process so that I don't need to manuall execute
the emcli command. I can do this using hares commands like. Anyone can share the
process used with VCS commands. EM agent are always running on both nodes and
only Database might be moved few times.

TIA

Sanjay

Search Discussions

  • Austin Hackett at Jun 3, 2011 at 8:10 am
    Hi Sanjay

    As I understand the way Oracle recommends that you install a Grid Agent
    in an active/passive cluster is to install one agent per node, and then
    an additional agent on cluster-aware storage for each VIP. This agent
    moves around the cluster with the VIP and is stopped/started by the
    clusterware scripts. In terms of the clustered agent, the key is to pass
    the ORACLE_HOSTNAME parameter to runInstaller, specifying the hostname
    of the VIP, rather than the local node node. Full details are given in
    My Oracle Support Note "How to Configure Grid Control Agents to Monitor
    Virtual Hostname in HA environments [ID 406014.1]". I used this approach
    successfully for 10.2 agents in an HP Serviceguard Cluster, and
    according to the support note the procedure applies to 10.2 and 11.1.

    Hope this helps

    Austin

    Date: Thu, 2 Jun 2011 17:34:00 -0700 (PDT)
    From: Sanjay Mishra
    Subject: Oracle Grid Agent for Veritas Cluster Active-Passive
    environment

    I had a Veritas Cluster Non-RAC setup where I had 4 Database on Node1
    and 4 on
    Node2 and these cluster nodes act as High availability for each other.
    All
    database are running with own VIP. Both Nodes have Local Oracle Software
    which
    is 9i/10g/11g along with Oracle 11g Grid Agent.
    Now if I failover one Database from Node A to Node B, then I can use
    emcli and
    can relocate the Agent configuration for Oracle Database listener.

    What I need is to Automate the process so that I don't need to manuall
    execute
    the emcli command. I can do this using hares commands like. Anyone can
    share the
    process used with VCS commands. EM agent are always running on both
    nodes and
    only Database might be moved few times.

    TIA

    Sanjay
  • Prabhu Krishnaswamy at Jun 3, 2011 at 11:11 am
    Hi Lists


    We are in the process of analyzing the IT infra monitoring/management tools for an alternative of Oracle GC, like Quest Foglight, BMC, HP Openview,etc for an large datacenter. Could you please recommend any good tools which been used on your environments.


    TIA.


    Thanks
    Prabhu
  • Dennis Williams at Jun 7, 2011 at 7:01 pm
    Prabhu,

    My facility uses Oracle GC. In case you didn't get many replies to your
    question, you might scan the archives for this list because this question
    comes up from time to time.

    Dennis Williams
    On Fri, Jun 3, 2011 at 6:11 AM, Prabhu Krishnaswamy wrote:

    Hi Lists

    We are in the process of analyzing the IT infra monitoring/management tools
    for an alternative of Oracle GC, like Quest Foglight, BMC, HP Openview,etc
    for an large datacenter. Could you please recommend any good tools which
    been used on your environments.

    TIA.
    Thanks
    Prabhu
    --
    http://www.freelists.org/webpage/oracle-l
  • Ram Srinivasan at Jun 9, 2011 at 11:19 am
    Prabhu:
    Grid Control is the best tool for a large data center. We are currently
    using 10.2.0.5.0 version on each network. And all our DBAs are so used to
    it that they can't do any command line tasks any more. Grid control is so
    easy to use, to monitor the performance of the databases, performance of the
    servers, job-scheduling, monitoring, etc., data guard management, etc., etc.

    Ram Srinivasan
    On Fri, Jun 3, 2011 at 7:11 AM, Prabhu Krishnaswamy wrote:

    Hi Lists

    We are in the process of analyzing the IT infra monitoring/management tools
    for an alternative of Oracle GC, like Quest Foglight, BMC, HP Openview,etc
    for an large datacenter. Could you please recommend any good tools which
    been used on your environments.

    TIA.
    Thanks
    Prabhu
    --
    Sincerely
    Ram Srinivasan

    --
    http://www.freelists.org/webpage/oracle-l
  • Niall Litchfield at Jun 9, 2011 at 11:31 am

    On Thu, Jun 9, 2011 at 12:19 PM, Ram Srinivasan wrote:

    Prabhu:
    all our DBAs are so used to it that they can't do any command line tasks
    any more.
    I hope that's not a recommendation :)
  • Guillermo Alan Bort at Jun 9, 2011 at 2:26 pm
    I have two main strategies, for general monitoring GC is the tool of choice.

    When we have a specific problem in a database I fire up spotlight and toad
    and do everything from there, it just depends on what you are used to.

    Oh, and not being able to do things from the command line is most definitely
    not a plus. Choosing not to is open to discussion, but not being able... not
    a good idea.

    Cheers
    Alan.-
    On Thu, Jun 9, 2011 at 8:31 AM, Niall Litchfield wrote:

    On Thu, Jun 9, 2011 at 12:19 PM, Ram Srinivasan <
    srinivasanram2004_at_gmail.com> wrote:
    Prabhu:
    all our DBAs are so used to it that they can't do any command line tasks
    any more.
    I hope that's not a recommendation :)
    --
    Niall Litchfield
    Oracle DBA
    http://www.orawin.info
    --
    http://www.freelists.org/webpage/oracle-l
  • Amaral, Rui at Jun 9, 2011 at 2:36 pm
    I agree with Alan.

    In my current and previous places of work we used/use GC as a general monitoring tool and notification system. Adding custom extensions is nice too but when it comes to the nitty-gritty nothing beats command line, especially during those times when there's an issue that hits the db and os at the same time. Also, ever tried to dig and manipulate the trace files data in GC? run root/oracle commands to debug in GC when the db is in a slow or hung state?

    Rui Amaral
    Database Administrator
    ITS - SSG

    TD Bank Financial Group
    220 Bay St., 11th Floor
    Toronto, ON, CA, M5K1A2
    (bb) (647) 204-9106

    From: oracle-l-bounce_at_freelists.org On Behalf Of Guillermo Alan Bort
    Sent: Thursday, June 09, 2011 10:27 AM
    To: niall.litchfield_at_gmail.com
    Cc: srinivasanram2004_at_gmail.com; prabhu_adam_at_hotmail.com; oracle-l_at_freelists.org
    Subject: Re: Oracle Grid control

    I have two main strategies, for general monitoring GC is the tool of choice.

    When we have a specific problem in a database I fire up spotlight and toad and do everything from there, it just depends on what you are used to.

    Oh, and not being able to do things from the command line is most definitely not a plus. Choosing not to is open to discussion, but not being able... not a good idea.

    Cheers
    Alan.-

    On Thu, Jun 9, 2011 at 8:31 AM, Niall Litchfield > wrote:
    On Thu, Jun 9, 2011 at 12:19 PM, Ram Srinivasan > wrote:
    Prabhu:
    all our DBAs are so used to it that they can't do any command line tasks any more.

    I hope that's not a recommendation :)
    --
    Niall Litchfield
    Oracle DBA
    http://www.orawin.info

    NOTICE: Confidential message which may be privileged. Unauthorized use/disclosure prohibited. If received in error, please go to www.td.com/legal for instructions.
    AVIS : Message confidentiel dont le contenu peut être privilégié. Utilisation/divulgation interdites sans permission. Si reçu par erreur, prière d'aller au www.td.com/francais/avis_juridique pour des instructions.

    --
    http://www.freelists.org/webpage/oracle-l
  • Goran bogdanovic at Jun 10, 2011 at 8:08 am
    question to those who use GC for monitoring:

    which (if any) Disaster Recovery solution did you implement for GC?

    many thanks,
    goran
    On Thu, Jun 9, 2011 at 4:36 PM, Amaral, Rui wrote:

    I agree with Alan.

    In my current and previous places of work we used/use GC as a general
    monitoring tool and notification system. Adding custom extensions is nice
    too but when it comes to the nitty-gritty nothing beats command line,
    especially during those times when there's an issue that hits the db and os
    at the same time. Also, ever tried to dig and manipulate the trace files
    data in GC? run root/oracle commands to debug in GC when the db is in a slow
    or hung state?

    Rui Amaral
    Database Administrator
    ITS - SSG
    TD Bank Financial Group
    220 Bay St., 11th Floor
    Toronto, ON, CA, M5K1A2
    (bb) (647) 204-9106



    ------------------------------
    *From:* oracle-l-bounce_at_freelists.org [mailto:
    oracle-l-bounce@freelists.org] *On Behalf Of *Guillermo Alan Bort
    *Sent:* Thursday, June 09, 2011 10:27 AM
    *To:* niall.litchfield_at_gmail.com
    *Cc:* srinivasanram2004_at_gmail.com; prabhu_adam_at_hotmail.com;
    oracle-l@freelists.org
    *Subject:* Re: Oracle Grid control

    I have two main strategies, for general monitoring GC is the tool of
    choice.

    When we have a specific problem in a database I fire up spotlight and toad
    and do everything from there, it just depends on what you are used to.

    Oh, and not being able to do things from the command line is most
    definitely not a plus. Choosing not to is open to discussion, but not being
    able... not a good idea.

    works>

    Cheers
    Alan.-


    On Thu, Jun 9, 2011 at 8:31 AM, Niall Litchfield <
    niall.litchfield_at_gmail.com> wrote:
    On Thu, Jun 9, 2011 at 12:19 PM, Ram Srinivasan <
    srinivasanram2004_at_gmail.com> wrote:
    Prabhu:
    all our DBAs are so used to it that they can't do any command line
    tasks any more.
    I hope that's not a recommendation :)
    --
    Niall Litchfield
    Oracle DBA
    http://www.orawin.info

    NOTICE: Confidential message which may be privileged. Unauthorized
    use/disclosure prohibited. If received in error, please go to
    www.td.com/legal for instructions.
    AVIS : Message confidentiel dont le contenu peut être privilégié.
    Utilisation/divulgation interdites sans permission. Si reçu par erreur,
    prière d'aller au www.td.com/francais/avis_juridique pour des
    instructions.
    --
    http://www.freelists.org/webpage/oracle-l
  • Guillermo Alan Bort at Jun 10, 2011 at 12:39 pm
    It depends on the scale you are implementing, but it all ends up in the load
    balancer.

    OEM works on three levels:
    1. Repository database: This is a (somewhat) standard Oracle Database and
    can benefit from a number of DR solutions (RAC and DG is what we normally
    use, but you could go with any other option you see fit)
    2. OMS: This is the "web interface" (it actually does a lot more) and the
    trickiest component of the lot, the plus side is you can have as many as you
    want, usually you shouldn't have more than 500 targets per OMS. If you
    balance the load this is just a matter of adding OMS as you add targets
    (which is a rather simple process)
    3. Agents: Agents are the thing that gathers all the data and sends them to
    the repository (not directly). Agents, when secured, will only work on a
    fixed address, so you have to make sure this is a load balanced address and
    that the load is distrubuted among all OMS so in case of any number of OMS
    failing, the rest can take the load. Granted, if you have a very big farm
    and a log of OMS crash, you probably will experience bad performance, but
    it'll still work.

    We usually have DG and at least one OMS in the DR site, so in case of a
    total site shutdown we still have monitoring of everything that was moved to
    DR and the rest of the sites.

    So, as you see the secret is having a load balancer, as this IS a single
    point of failure (which can be secured using some HA load balancing
    options, but I will leave that to your network or unix engineers)... for
    very small sites I'd recommend HAProxy, but if you can get your hands on
    some real hardware load balancers they are far more reliable.

    hth
    Alan.-
    On Fri, Jun 10, 2011 at 5:08 AM, goran bogdanovic wrote:

    question to those who use GC for monitoring:

    - which (if any) Disaster Recovery solution did you implement for GC?

    many thanks,
    goran


    On Thu, Jun 9, 2011 at 4:36 PM, Amaral, Rui wrote:

    I agree with Alan.

    In my current and previous places of work we used/use GC as a general
    monitoring tool and notification system. Adding custom extensions is nice
    too but when it comes to the nitty-gritty nothing beats command line,
    especially during those times when there's an issue that hits the db and os
    at the same time. Also, ever tried to dig and manipulate the trace files
    data in GC? run root/oracle commands to debug in GC when the db is in a slow
    or hung state?

    Rui Amaral
    Database Administrator
    ITS - SSG
    TD Bank Financial Group
    220 Bay St., 11th Floor
    Toronto, ON, CA, M5K1A2
    (bb) (647) 204-9106



    ------------------------------
    *From:* oracle-l-bounce_at_freelists.org [mailto:
    oracle-l-bounce@freelists.org] *On Behalf Of *Guillermo Alan Bort
    *Sent:* Thursday, June 09, 2011 10:27 AM
    *To:* niall.litchfield_at_gmail.com
    *Cc:* srinivasanram2004_at_gmail.com; prabhu_adam_at_hotmail.com;
    oracle-l@freelists.org
    *Subject:* Re: Oracle Grid control

    I have two main strategies, for general monitoring GC is the tool of
    choice.

    When we have a specific problem in a database I fire up spotlight and toad
    and do everything from there, it just depends on what you are used to.

    Oh, and not being able to do things from the command line is most
    definitely not a plus. Choosing not to is open to discussion, but not being
    able... not a good idea.
    works>
    Cheers
    Alan.-


    On Thu, Jun 9, 2011 at 8:31 AM, Niall Litchfield <
    niall.litchfield_at_gmail.com> wrote:
    On Thu, Jun 9, 2011 at 12:19 PM, Ram Srinivasan <
    srinivasanram2004_at_gmail.com> wrote:
    Prabhu:
    all our DBAs are so used to it that they can't do any command line
    tasks any more.
    I hope that's not a recommendation :)
    --
    Niall Litchfield
    Oracle DBA
    http://www.orawin.info

    NOTICE: Confidential message which may be privileged. Unauthorized
    use/disclosure prohibited. If received in error, please go to
    www.td.com/legal for instructions.
    AVIS : Message confidentiel dont le contenu peut être privilégié.
    Utilisation/divulgation interdites sans permission. Si reçu par erreur,
    prière d'aller au www.td.com/francais/avis_juridique pour des
    instructions.
    --
    http://www.freelists.org/webpage/oracle-l
  • Jorgensen, Finn at Jun 3, 2011 at 5:35 pm
    Sanjay,

    I've been in this exact situation. While you can do what Austin suggested in my case it was a prohibitive amount of work to install an agent per database protected by VCS.

    I use EMCLI just like you do. The trick to getting the command run automatically is to have it executed by what's called a "VCS post-online trigger". This is a file called postonline in the directory /opt/VRTSvcs/bin/triggers. This file has a comment about halfway down that says "put your code here...". Put your code there.

    Postonline is called by root so you have to su to oracle to get emcli to execute correctly. Postonline is also called with the VCS package/group name as the first parameter. In my case VCS groups are called the same thing as the database SID so that made it easy for me to figure out which targets to relocate. I wrote a script called gcrelocate.sh which takes the SID as a parameter, looks up the target name of the database and the listener in the repository database and then executes the appropriate EMCLI commands to relocate them to the new server. The call in postonline looks like this :
    `su - oracle -c "/oracle/exec.sh gcrelocate.sh $ARGV[1] >> /oracle/local/logs/gcrelocate.out 2>&1"`;

    /oracle/exec.sh is just a little script that sets up the environment appropriately for the oracle user when scripts are called from cron or other automated or remote tools (like postonline or ssh).

    The one caveat is that the emcli relocate command requires both the old agent name and the new agent name. Since postonline only fires when the target is brought up on the new server you no longer know where it came from (at least not when in a large, generic environment like I am. If you only have 2 servers then it's easy. It came from the one you're not on now). I solved that by keeping the name of the server a target is running on in a file that fails over with the rest of the package. I chose the pfile directory. After the successful call to emcli relocate by gcrelocate.sh it updates the file in the pfile directory to contain the new filename so it's ready for a failback.

    HTH,

    Finn

    From: oracle-l-bounce_at_freelists.org On Behalf Of Sanjay Mishra
    Sent: Thursday, June 02, 2011 8:34 PM
    To: oracle-l@freelists.org
    Subject: Oracle Grid Agent for Veritas Cluster Active-Passive environment

    I had a Veritas Cluster Non-RAC setup where I had 4 Database on Node1 and 4 on Node2 and these cluster nodes act as High availability for each other. All database are running with own VIP. Both Nodes have Local Oracle Software which is 9i/10g/11g along with Oracle 11g Grid Agent.

    Now if I failover one Database from Node A to Node B, then I can use emcli and can relocate the Agent configuration for Oracle Database listener.

    What I need is to Automate the process so that I don't need to manuall execute the emcli command. I can do this using hares commands like. Anyone can share the process used with VCS commands. EM agent are always running on both nodes and only Database might be moved few times.

    TIA

    Sanjay
    This e-mail and any attachments are confidential, may contain legal,
    professional or other privileged information, and are intended solely for the
    addressee. If you are not the intended recipient, do not use the information
    in this e-mail in any way, delete this e-mail and notify the sender. CEG-IP2
  • Sanjay Mishra at Jun 3, 2011 at 6:17 pm
    Thanks Finn and Austin. I checked the doc referred by Austin earlier but due to
    Shared Storage requirement and multiple Agent, I am looking exactly what you
    have referred. I will look on this Postonline trigger details as I am not aware
    of it and will check this option.

    Rgds
    Sanjay

    ________________________________
    From: "Jorgensen, Finn"
    To: "smishra_97_at_yahoo.com"; "oracle-l_at_freelists.org"

    Sent: Fri, June 3, 2011 1:35:35 PM
    Subject: RE: Oracle Grid Agent for Veritas Cluster Active-Passive environment

    Sanjay,

    I’ve been in this exact situation. While you can do what Austin suggested in my
    case it was a prohibitive amount of work to install an agent per database
    protected by VCS.

    I use EMCLI just like you do. The trick to getting the command run automatically
    is to have it executed by what’s called a “VCS post-online trigger”. This is a
    file called postonline in the directory /opt/VRTSvcs/bin/triggers. This file has
    a comment about halfway down that says “put your code here…”. Put your code
    there.

    Postonline is called by root so you have to su to oracle to get emcli to execute
    correctly. Postonline is also called with the VCS package/group name as the
    first parameter. In my case VCS groups are called the same thing as the database
    SID so that made it easy for me to figure out which targets to relocate. I wrote
    a script called gcrelocate.sh which takes the SID as a parameter, looks up the
    target name of the database and the listener in the repository database and then
    executes the appropriate EMCLI commands to relocate them to the new server. The
    call in postonline looks like this :
    `su - oracle -c "/oracle/exec.sh gcrelocate.sh $ARGV[1] >>
    /oracle/local/logs/gcrelocate.out 2>&1"`;

    /oracle/exec.sh is just a little script that sets up the environment
    appropriately for the oracle user when scripts are called from cron or other
    automated or remote tools (like postonline or ssh).

    The one caveat is that the emcli relocate command requires both the old agent
    name and the new agent name. Since postonline only fires when the target is
    brought up on the new server you no longer know where it came from (at least not
    when in a large, generic environment like I am. If you only have 2 servers then
    it’s easy. It came from the one you’re not on now). I solved that by keeping the
    name of the server a target is running on in a file that fails over with the
    rest of the package. I chose the pfile directory. After the successful call to
    emcli relocate by gcrelocate.sh it updates the file in the pfile directory to
    contain the new filename so it’s ready for a failback.

    HTH,
    Finn

    From:oracle-l-bounce_at_freelists.org On
    Behalf Of Sanjay Mishra
    Sent: Thursday, June 02, 2011 8:34 PM
    To: oracle-l_at_freelists.org
    Subject: Oracle Grid Agent for Veritas Cluster Active-Passive environment

    I had a Veritas Cluster Non-RAC setup where I had 4 Database on Node1 and 4 on
    Node2 and these cluster nodes act as High availability for each other. All
    database are running with own VIP. Both Nodes have Local Oracle Software which
    is 9i/10g/11g along with Oracle 11g Grid Agent.

    Now if I failover one Database from Node A to Node B, then I can use emcli and
    can relocate the Agent configuration for Oracle Database listener.

    What I need is to Automate the process so that I don't need to manuall execute
    the emcli command. I can do this using hares commands like. Anyone can share the
    process used with VCS commands. EM agent are always running on both nodes and
    only Database might be moved few times.

    TIA
    Sanjay>>> This e-mail and any attachments are confidential, may contain legal,
    professional or other privileged information, and are intended solely for the
    addressee. If you are not the intended recipient, do not use the information
    in this e-mail in any way, delete this e-mail and notify the sender. CEG-IP2
  • Vishal Gupta at Jun 5, 2011 at 5:20 pm
    Finn,



    Once the database has been brought up by VCS after successful failover,
    you could also get the information about previous hostname it was
    running on from AWR DBA_HIST_DATABASE_INSTANCE view. Just the take the
    second last record from there i.e. record of last startup.



    http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/statviews
    _3211.htm#I1023404



    Regards,

    Vishal Gupta

    www.vishalgupta.com



    From: oracle-l-bounce_at_freelists.org
    On Behalf Of Jorgensen, Finn
    Sent: 03 June 2011 18:36
    To: 'smishra_97_at_yahoo.com'; 'oracle-l@freelists.org'
    Subject: RE: Oracle Grid Agent for Veritas Cluster Active-Passive
    environment



    Sanjay,



    I've been in this exact situation. While you can do what Austin
    suggested in my case it was a prohibitive amount of work to install an
    agent per database protected by VCS.



    I use EMCLI just like you do. The trick to getting the command run
    automatically is to have it executed by what's called a "VCS post-online
    trigger". This is a file called postonline in the directory
    /opt/VRTSvcs/bin/triggers. This file has a comment about halfway down
    that says "put your code here...". Put your code there.



    Postonline is called by root so you have to su to oracle to get emcli to
    execute correctly. Postonline is also called with the VCS package/group
    name as the first parameter. In my case VCS groups are called the same
    thing as the database SID so that made it easy for me to figure out
    which targets to relocate. I wrote a script called gcrelocate.sh which
    takes the SID as a parameter, looks up the target name of the database
    and the listener in the repository database and then executes the
    appropriate EMCLI commands to relocate them to the new server. The call
    in postonline looks like this :

    `su - oracle -c "/oracle/exec.sh gcrelocate.sh $ARGV[1] >>
    /oracle/local/logs/gcrelocate.out 2>&1"`;



    /oracle/exec.sh is just a little script that sets up the environment
    appropriately for the oracle user when scripts are called from cron or
    other automated or remote tools (like postonline or ssh).



    The one caveat is that the emcli relocate command requires both the old
    agent name and the new agent name. Since postonline only fires when the
    target is brought up on the new server you no longer know where it came
    from (at least not when in a large, generic environment like I am. If
    you only have 2 servers then it's easy. It came from the one you're not
    on now). I solved that by keeping the name of the server a target is
    running on in a file that fails over with the rest of the package. I
    chose the pfile directory. After the successful call to emcli relocate
    by gcrelocate.sh it updates the file in the pfile directory to contain
    the new filename so it's ready for a failback.



    HTH,

    Finn



    From: oracle-l-bounce_at_freelists.org
    On Behalf Of Sanjay Mishra
    Sent: Thursday, June 02, 2011 8:34 PM
    To: oracle-l@freelists.org
    Subject: Oracle Grid Agent for Veritas Cluster Active-Passive
    environment



    I had a Veritas Cluster Non-RAC setup where I had 4 Database on Node1
    and 4 on Node2 and these cluster nodes act as High availability for each
    other. All database are running with own VIP. Both Nodes have Local
    Oracle Software which is 9i/10g/11g along with Oracle 11g Grid Agent.

    Now if I failover one Database from Node A to Node B, then I can use
    emcli and can relocate the Agent configuration for Oracle Database
    listener.

    What I need is to Automate the process so that I don't need to manuall
    execute the emcli command. I can do this using hares commands like.
    Anyone can share the process used with VCS commands. EM agent are always
    running on both nodes and only Database might be moved few times.

    TIA

    Sanjay
    This e-mail and any attachments are confidential, may contain legal,
    professional or other privileged information, and are intended solely
    for the
    addressee. If you are not the intended recipient, do not use the
    information
    in this e-mail in any way, delete this e-mail and notify the sender.
    CEG-IP2

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouporacle-l @
categoriesoracle
postedJun 3, '11 at 12:34a
activeJun 10, '11 at 12:39p
posts13
users11
websiteoracle.com

People

Translate

site design / logo © 2022 Grokbase