How I gather statistics via OEM db control?

Hi,
According to the documentation,
I may setup a job to automatically
gather statistics for all the segments in my database
via EM database control.
I cant find any documentation on how to do this.
I did find a link in EM which will allow me
to gather statistics ad hoc but I want it automated.
Thanks,
-moi

There should be a stats gathering program scheduled
by default. Check under Database > Administration >
Scheduler > Jobs in Database Control. The job is called
SYS.GATHER_STATS_JOB. You will need to login as SYS to
see the job. The job runs the
DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC procedure.
You can, of course, schedule any other
DBMS_STATS.GATHER_* procedures if you prefer.
Hope this helps.
Kailash.

Similar Messages

  • Gather statistics in OEM

    Hi,
    I launched a job to gather statistics on just one schema on my DATABASE in OEM. How can I identify it's session ? Many thanks before.

    You can try below query:
    select s.username, s.sid,s.serial#, sql.sql_Text
    from v$session s, v$sqlarea sql
    where s.sql_address = sql.address and s.sql_hash_value = sql.hash_value and
    s.username = '&username' and lower(sql.sql_text) like '%dbms_stats%'
    Best Regards
    Krystian Zieja / mob

  • How to gather statistics

    Hi folks!
    I gathered statistcs in one schema with folowing options:
    exec dbms_stats.gather_schema_stats(user,method_opt=>'FOR ALL COLUMNS SIZE 1',estimate_percent=>null,gather_temp=>false,cascade=>true,degree=>dbms_stats.auto_degree);Then:
    exec dbms_stats.gather_schema_stats(user,method_opt=>'FOR ALL COLUMNS SIZE SKEWONLY',estimate_percent=>null,gather_temp=>false,cascade=>true,degree=>dbms_stats.auto_degree);Now, I turn on table monitoring and suggest to gather statistics (per day) with that parameters:
    dbms_stats.gather_schema_stats(ownname =>user, options=>'GATHER STALE', gather_temp => false, cascade => true, estimate_percent => 100, degree => dbms_stats.auto_degree);Default method_opt is FOR ALL COLUMNS SIZE AUTO.
    Now I got better perfomance. How often I need to gather statstics?
    Thanks in advance.
    Best regards, Pavel.

    Thanks, I also think so.
    Little test-case:
    SQL>exec dbms_stats.gather_table_stats(user,'TABLE1',estimate_percent=>null);
    Elapsed: 00:00:01.03
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE1;
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    DISGRP                                                                                             7944        33204
    DISMBR                                                                                            18948        33204
    TYPE                                                                                                  4        33204
    Elapsed: 00:00:00.03
    SQL> exec dbms_stats.gather_table_stats(user,'TABLE1',estimate_percent=>10);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:01.78
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE1';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    DISGRP                                                                                             3836         3269
    DISMBR                                                                                            13686         3269
    TYPE                                                                                                  4         3269
    Elapsed: 00:00:00.00
    SQL> exec dbms_stats.gather_table_stats(user,'TABLE1',estimate_percent=>100);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.52
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE1';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    DISGRP                                                                                             7944        33204
    DISMBR                                                                                            18948        33204
    TYPE                                                                                                  4        33204
    Elapsed: 00:00:00.01
    SQL> exec dbms_stats.gather_table_stats(user,'TABLE1',estimate_percent=>dbms_stats.auto_sample_size);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.53
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE1';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    DISGRP                                                                                             8448         5568
    DISMBR                                                                                            18948        33204
    TYPE                                                                                                  4         5568
    Elapsed: 00:00:00.00
    SQL> select count(distinct disgrp) from TABLE1;
    COUNT(DISTINCTDISGRP)
                     7944
    Elapsed: 00:00:00.02
    SQL> select count(distinct dismbr) from TABLE1;
    COUNT(DISTINCTDISMBR)
                    18948
    Elapsed: 00:00:00.03
    SQL> select count(distinct type) from TABLE1;
    COUNT(DISTINCTTYPE)
                      4
    Elapsed: 00:00:00.01
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE2';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    ID                                                                                               219120       219120
    UNIT                                                                                             114762       219120
    LOC                                                                                                  61       219120
    TIS                                                                                                1230       219120
    RTYP                                                                                                  3       219120
    Elapsed: 00:00:00.02
    SQL> exec dbms_stats.gather_table_stats(user,'TABLE2',estimate_percent=>null);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:07.61
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE2';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    ID                                                                                               219120       219120
    UNIT                                                                                             114762       219120
    LOC                                                                                                  61       219120
    TIS                                                                                                1230       219120
    RTYP                                                                                                  3       219120
    Elapsed: 00:00:00.00
    SQL> exec dbms_stats.gather_table_stats(user,'TABLE2',estimate_percent=>10);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:02.90
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE2';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    ID                                                                                               219950        21995
    UNIT                                                                                              70812        21995
    LOC                                                                                                  43        21995
    TIS                                                                                                 496        21995
    RTYP                                                                                                  3        21995
    Elapsed: 00:00:00.00
    SQL> exec dbms_stats.gather_table_stats(user,'TABLE2',estimate_percent=>50);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:03.70
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE2';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    ID                                                                                               218716       109358
    UNIT                                                                                              92338       109426
    LOC                                                                                                  61       109455
    TIS                                                                                                 994       109567
    RTYP                                                                                                  3       109422
    Elapsed: 00:00:00.00
    SQL> exec dbms_stats.gather_table_stats(user,'COMPS',estimate_percent=>100);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:04.37
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE2';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    ID                                                                                               219120       219120
    UNIT                                                                                             114762       219120
    LOC                                                                                                  61       219120
    TIS                                                                                                1230       219120
    RTYP                                                                                                  3       219120
    Elapsed: 00:00:00.00
    SQL> exec dbms_stats.gather_table_stats(user,'COMPS',estimate_percent=>dbms_stats.auto_sample_size);
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:03.81
    SQL> select column_name,num_distinct,sample_size from user_tab_col_statistics where table_name='TABLE2';
    COLUMN_NAME                                                                                NUM_DISTINCT  SAMPLE_SIZE
    ID                                                                                               217968        54492
    UNIT                                                                                             122237        54492
    LOC                                                                                                  31         5495
    TIS                                                                                                 240         5495
    RTYP                                                                                                  3         5495
    Elapsed: 00:00:00.01
    SQL> select count(distinct id) from TABLE2;
    COUNT(DISTINCTID)
               219120
    Elapsed: 00:00:00.27
    SQL> select count(distinct unit) from TABLE2;
    COUNT(DISTINCTUNIT)
                 114762
    Elapsed: 00:00:00.30
    SQL> select count(distinct loc) from TABLE2;
    COUNT(DISTINCTLOC)
                    61
    Elapsed: 00:00:00.06
    SQL> select count(distinct tis) from TABLE2;
    COUNT(DISTINCTTIS)
                  1230
    Elapsed: 00:00:00.09In that situation, auto_sample_size not bad? But estimate_percent=>100 - exact.
    Best regards, Pavel.

  • How to Gather Statistics of Tables and Indexes

    Hi all,
    Plz help me in Gathering Statistics of Tables and Indexes.
    Thanks

    for tables
    exec dbms_stats.gather_table_stats('SCOTT', 'EMPLOYEES');
    for indexes
    exec dbms_stats.gather_index_stats('SCOTT', 'EMPLOYEES_PK');
    check this link for detail
    http://nimishgarg.blogspot.com/2010/04/oracle-dbmsstats-gather-statistics-of.html

  • How to gather statistics in OLM?

    Dear all experts,
    My manager want me to find out
    OLM
    1) No. of courses created in 2014
    2) No. of registrations in 2014
    3) % of reg/Attendance
    4) Success rate of tests taken by employees
    I do not know any table in OLM/OTA tables are very confusing.
    Also please give me link of any OLM table explaining blogs or article.
    Thanks
    Rahul

    Hello Rahul,
    I can see you posted this a couple of months ago.  You may have found the answer so this is more for anyone with a similar question.
    The Learning Management ERD comes in handy which can be accessed here:
    Log into Oracle Support (http://support.oracle.com)
    |__ Knowledge
          |__ Online Documentation
                |__ EBS eTRM
                      |__ Select Database (eBS version)
                            |__ FND Data
                                  |__ OTA Learning Management
                                        |__Learning Management ERD
    In brief,  these are the main tables containing the data to your questions.  You most likely need to join them to supporting tables (consult the ERD and the database) to get information from them.
    1.  ota.ota_activity_versions
    2.  ota.ota_delegate_bookings
    3.  ota.ota_delegate_bookings
    4.  ota.ota_learning_objects and ota.tests
    Regards,
    Alwyn

  • How to configure the Auto Job to add datafiles via OEM Cloud Ctrl 12c ?

    Hi All,
    1.Could you please give me the step by step procedure to automate the datafile addition via OEM while tablespace crossed its threshold limit? - DB(11gr2) is under OEM monitoring.
    2.How to reload the database information after any configure change in OEM?
    Oracle Enterprise Manager Cloud Control 12c
    Thanks.
    Bala

    Hi Mark/All,
    Please find the below for my answer.
    1.Could you please give me the step by step procedure to automate the datafile addition via OEM while tablespace crossed its threshold limit? - DB(11gr2) is under OEM monitoring.
    Have you considered using AUTOEXTEND? - Yes, Since we have TB of storage available to use for datafiles.
    2.How to reload the database information after any configure change in OEM?
    Could you expand on this please? - I changed the tablespace threshold limit from 85% to 65% for validation, but it didn't notify the tablespace issue throw mail[And it seems the database info Collected date is yesterday so i like to recollect the database information from OEM].
    Thanks
    Bala

  • Gather statistics for schema at OEM

    Hi,
    How do we gather schema statistics thru OEM?

    in V10+ once every 24 hours Oracle collects statistics by default job; so you do not need to take additional action
    Handle:      785301
    Status Level:      Newbie
    Registered:      Jul 29, 2010
    Total Posts:      36
    Total Questions:      17 (17 unresolved)
    so many questions without ANY answers.
    http://forums.oracle.com/forums/ann.jspa?annID=718
    Edited by: sb92075 on Dec 10, 2010 10:12 AM

  • How to use OEM grid control to find any database not in archivelog mode?

    Hello,
    currently we have 130 databases, say, if I want to pick out any database currently NOT in archivelog mode, is there a quick way to find out ?
    by using OEM grid control
    or
    some trick similar,
    but really don't need to check each database manually.
    thank you very much!

    This query works in 12c - please run as SYSMAN.
    It is based on undocumented assumptions though +( AND key_value = 'NOARCHIVELOG')+.
      SELECT *
      FROM SYSMAN.MGMT$GROUP_DERIVED_MEMBERSHIPS O ,
        SYSMAN.MGMT$TARGET T ,
        sysman.MGMT$AVAILABILITY_CURRENT st
      WHERE
      o.member_target_type     IN ('oracle_database', 'rac_database')
      AND ( t.target_type           ='rac_database'
      OR (t.target_type             ='oracle_database'
      AND t.type_qualifier3        != 'RACINST'))
      AND o. member_target_guid     = t.target_guid
      AND t.target_guid             = st.target_guid
      AND st.availability_status    = 'Target Up'
      AND ( EXISTS
        (SELECT *
        FROM sysman.mgmt$metric_current i
        WHERE I.TARGET_GUID = O.MEMBER_TARGET_GUID
        AND metric_name     = 'archFull'
        AND Metric_Column   = 'archTotal'
        AND metric_label    = 'Archive Area'
        AND column_label    = 'Total Archive Area (KB)'
        AND key_value       = 'NOARCHIVELOG'
        ));Another way to achieve the goal is to push extended metrics (SELECT LOG_MODE FROM V$DATABASE) on each DB, and monitor the values they return to the repository. This is an example for a (slightly) different problem - http://iiotzov.wordpress.com/2012/08/08/how-to-use-the-new-oem-12c-metric-extensions-to-enforce-enterprise-wide-custom-policies .
    OEM Repository has many other great uses as well - http://iiotzov.files.wordpress.com/2012/05/oem-repository-a-second-look.doc , http://iiotzov.files.wordpress.com/2011/08/iotzov_oem_repository.pdf
    Iordan Iotzov
    http://iiotzov.wordpress.com/

  • How to inegrate OID with OEM 12c Cloud Control

    Hi All,
    Can anyone please tell me how can I integrate OID with OEM 12c Cloud Control. As we can integrate our weblogic administration console with OID,is it possible to integrate OEM cloud control with OID?
    Thanks in Advance!!

    Hi,
    Please find the URL below:
    http://docs.oracle.com/cd/E24628_01/doc.121/e24473/security.htm#BABGAGIJ
    Following section will provide you the information for OID intergration:
    13.2.5 Oracle Internet Directory (OID)
    You can implement an OID-based authentication scheme to have Enterprise Manager authenticate users against the OID.
    Running the emctl config auth oid command on the OMS creates a WebLogic authentication provider of type OracleInternetDirectoryAuthenticator that uses the configuration parameter values specified by the command. Any configuration values not specified retain the default values. Tuning and modification of advanced OID configuration parameters is carried out through the WebLogic Server Administration Console and not the emctl config auth oid command.
    Prerequisites
    Oracle Internet Directory LDAP server is set up and running.
    Run the emctl config auth oid command on each OMS.
    emctl config auth oid -ldap_host <ldap host> -ldap_port <ldap port> -ldap_principal <ldap principal> [-ldap_credential <ldap credential>] [-sysman_pwd <pwd>] -user_base_dn <user base DN> -group_base_dn <group base DN>
    where:
    ldap_host: LDAP host name
    ldap_port: LDAP port
    ldap_principal: The distinguished name (DN) of the LDAP user the WebLogic server should use to connect to the LDAP server.
    ldap_credential: Password for the user specified by ldap_principal.
    user_base_dn: The base distinguished name (DN) of the tree in the LDAP directory that contains users.
    group_base_dn - The base distinguished name (DN) of the tree in the LDAP directory that contains groups.
    Example:
    emctl config auth oid -ldap_host "ldaphost" -ldap_port "3060" -ldap_principal "cn=orcladmin" -user_base_dn "cn=users,dc=us,dc=oracle,dc=com" -group_base_dn "cn=groups,dc=us,dc=oracle,dc=com" -ldap_credential "my_ldap_password" -sysman_pwd "my_sysman_password"
    Stop the OMS.
    emctl stop oms -all
    Restart the OMS.
    emctl start oms
    Note:
    For Enterprise Manager deployments consisting of multiple OMS instances, emctl config auth oid must be run on each OMS. Each OMS must be restarted in order for changes to take effect.
    Testing the OID Configuration
    Use the WebLogic Server Administration Console (Users and Groups tab) to check whether the OID configuration has been successful. To navigate to this tab, select Home/Summary of Security Realms/myrealm/Users and Groups. From the Users and Groups tab, you should see users and groups showing up from the OID.
    Best Regards,
    Venkat

  • How to install OEM Grid Control R2 on RHEL AS4 (AMD64/EM64T)

    Hi all,
    I was able to install the Oracle Application Server (Infrastructure and BI and Forms) successfully on the another machine with the same specs. The application I installed on the 64-bit machine is a 32-bit Oracle Application Server.
    Now, I tried to install the OEM Grid Control R2 (another 32-bit Oracle Software) on an identical 64-bit machine but had no luck. Ran linux32 bash before trying the install.
    I always get the error "error in invoking target 'dm_on ioracle' of makefile 'OH/db10g/rdbms/lib/ins_rdbms.mk".
    Please help me/guide me in this install if it is at all possible.
    Thanks and regards,
    Mike

    Did you read the installation docs?
    Did you look up trying to do this on metalink before proceeding?

  • How To Install/Configure OEM Grid Control On Windows

    Hi,
    I've downloaded OEM Grid Control for windows (32-bit) from oracle site.
    This .zip files has 3 more .zip files eg
    File Size
    3822442.zip 510 MB (535,208,588 bytes)
    3731596.zip 275 KB (282,502 bytes)
    3731593.zip 510 MB (535,047,905 bytes)
    Can you pls tell me which one is actual OEM Grid Control software, and what are the other .zip files ?
    Pls email me at [email protected]
    Your help greatly appretiated.
    Regards,

    You will be needing all three zip files. It will contain all files needed for installation of a repository Database Instance, the Management Server and an Management Agent.
    cheers
    Rob

  • HOW TO RELINK OEM GRID CONTROL 10.1.0.2 ON AIX 5L

    We are in process for patching our OS from 5.3-01+APARs to 5.3-02 and usually we relink all our oracle products after OS patching.
    I have notes for DB and AS but not for OEM GRID CONTROL.
    Any help are appreciated.
    Diego.

    I thnk you can run /u001/app/oracle/product/10.1.0.3_oms/bin/relink for relinking your binaries.
    Regards,
    http://askyogesh.com

  • Autom. Gather Statistics Job

    Hello,
    i am facing following problem with the automatic gather statistics job which is running every night.
    The jobs starts when the weeknight/weekend_maintenance_windows opens, runs approx. 30 minutes and rebuilds statistics for around 270 objects. But when we check the status of objects next morning or immediate after jobrun, we still find hundrets of objects with stale statistics. We are not facing any heavy performance problems, but i want to know why we found stale statistics. The job uses 30 minutes of the 480 minutes window, so in my opinion there is plenty of time for all objects to create new statistics.
    Is this normal behaviour?
    Can't find anything in metalink.
    Systeminfo:
    Host: HP-UX 11.31
    DB: 10.2.0.4
    Regards
    Ulli

    Ulli,
    uwaldt wrote:
    Hello Randolf,
    we check if column stale_stats contains a 'YES'. The column 'last_analyzed' is filled with a date.OK, and the date corresponds to the latest run of the automatic statistics gathering job or is it outdated? What is the content of the corresponding TABMODIFICATIONS view in that case?
    After we check sthe SQL-script with the 'original' check via dbms_stats.gather_schema_stats, we see that there is a difference between all_tab/ind_statistics and the real value in tabmodifications.Apologies, but I'm not able to follow: What is the "difference between all_tab/ind_statistics and the real value in *_tab_modifications"? You mean to say that the list of objects marked as "STALE_STATS = YES" column differs from the output of the "LIST STALE" call?
    But what shows grid-control if we check there for stale stats?Good question, I can't answer since I seldom use the GUI tools.
    The next is, the developers in house argue with the all_tab/ind_statistics and blame the DBA's to do their housekeeping, especially if the users complain bad performance. I knew that the gather_job do his work, but we can't show it probable to the developers.This all sounds a bit odd. Two comments:
    1. It is possible in 10g to lock the statistics of tables, so that the automatic statistics collection job doesn't touch them. It's quite unlikely since you have to invoke it manually/explicitly using DBMS_STATS.LOCK_TABLE/SCHEMA_STATS, but may be you want to check the column STATTYPE_LOCKED in the TABSTATISTICS views for those objects in question, just to make sure.
    2. All the monitoring related information (*TABMODIFICATIONS/STALE_STATS column etc.) is usually only updated every three hours or if a call to DBMS_STATS.GATHER_STATS is performed. If you want to manually invoke the flush of the monitoring info, you can call DBMSSTATS.FLUSH_DATABASE_MONITORING_INFO to make sure that you look at the latest monitoring information available.
    Above point might explain that you can spot differences/inconsistencies before/after calling DBMS_STATS.GATHER_SCHEMA_STATS to list the stale objects.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Accessing an ASM Instance via OEM

    Gaining access to an ASM-managed database instance via Enterprise manager is done in the same way as accessing a "normal" RDBMS database: http://<host>:<port>/em/
    Is it also possible to access the ASM instance itself via the OEM? If so, what's the typical URL/port for access?
    I have not seen this documented, and I wonder if it's possible to access the ASM instance via OEM after all, or can you view/manage ASM instance information only via SQL statements.
    Thank you.
    John

    That makes perfect sense... nufortunately, I'm sitll confused. I just found a series of screen shots that explicitly say "Database Control", and the home page shows the "+asm" link I mentioned in my earlier post. What's more: these screen shots are directly from Oracle! Their "Oracle By Example" series has an entry called "Creating and Managing ASM Disk Groups", and the section called "Viewing Disk Groups" has a series of shots that clearly shows first an ASM-managed instance, and then the ASM instance itself, being directly managed by Database Control.
    I wish someone from Oracle, or someone who has seen this in action, would chime in and let us know how it works!
    Thanks.

  • Error while installing OEM Grid Control

    I am getting error while installing OEM Grid control (with existing database) at OMS Configuration. So, I cancelled the installation and deleted all databases and started the instal again. I am still getting an error at OMS configuration.
    I am trying to read through the threads here to see if anyone has solved it. I see a lot of threads on this topic but not sure how you guys resolved it.
    Can anyone help here.
    In the oracle installer, I see the message : The c:\oraclehomes\agent10g\cfgtoollogs\configToolfailedCommands" script contains all commans that failed, were skipped or cancelled ....
    --in this file, all I see is:
    rem Copyright (C)1999, 2006 Oracle
    oracle.sysman.emcp.agent.AgentPlugIn
    How should I proceed
    Thanks
    Ramya
    Edited by: Ramya Reddy on Mar 9, 2009 5:25 PM

    go to AOh\bin and run agentca -f and check agent status

Maybe you are looking for

  • How can I save my bin preferences so that the clip order isn't scattered in icon view every time I open it?

    I've attempted to contact Adobe privately about this to no avail. They just sent me an email to let me know "we believe your issue is resolved and have therefore closed your case" but it isn't resolved. I want to open my bin and see my clips sorted i

  • Font problem in Tiger, please help!

    For some reason in Mail and Address Book all my info is corrupt. The word 'from' in Mail is in some condensed font and the copy that follows that is a sentence like a cat has walked over my keyboard. Basically loads of characters depicting the 'conta

  • Transferring Outlook meeting notices (ics files) to iCal

    Hello, When I receive an outlook meeting notice in Mail the ics file does not show up as an attachment. If I look at the same email in my web account the ics meeting notice shows up and can be downloaded and added to ical with no problems. Is there a

  • Discovered a fix for CS3 app crashes while printing in Mavericks

    I was having issues printing in InDesign CS3 while using Mavericks.  I found this link and it solved my problems. Crash printing | Illustrator, InDesign | CS3, CS4 | Mac OS 10.7 Hope this helps.

  • Best MacBook Pro Stand?

    Hello everyone - relatively new here and wanting to setup my 17" MBP next to my 24" Dell monitor (no it's not Apple but pretty sweet none the less). What's a good stand? Should I get with fans? Adjustable?