Showing posts with label Oracle. Show all posts
Showing posts with label Oracle. Show all posts

Thursday, 29 March 2018

Oracle Partitioning Choices/Strategies

Partitioning in Oracle(live blog-growing with me)


Single-Level Partitioning

  • Range- if data can be divided into ranges eg. 0-100, 100-200 and so on. Important thing is the access by queries, to take advantage of partition pruning or partition level access.
  • Hash- Lot of data and I know the columns frequently used to access but data doesn't fit in type of range or list.. I this case just divide the total data  into finite partitions(10,20 or more), generally would depend on size of the table and system performance. To start 100k per partition you can start with. Need to experiment  a little bit to get to a optimal number.
  • List- Lot of data but can be divided  per list eg. Finite list of zip codes, regions, types etc. Other criteria still apply like access by list of values and quantity of data.

Composite Partitioning: or sub partition is again another way to divide the data into further smaller manageable pieces and improve access speed to get required data as quickly as possible using partition keys and other required conditions. 
  • Composite Range-Range Partitioning
  • Composite Range-Hash Partitioning
  • Composite Range-List Partitioning
  • Composite List-Range Partitioning
  • Composite List-Hash Partitioning
  • Composite List-List Partitioning
  • Composite Hash-Hash Partitioning
  • Composite Hash-List Partitioning
  • Composite Hash-Range Partitioning

Considerations:
1. Size of table and number of rows.
2. Queries accessing the table and their frequency, specifically the conditional clause. to take advantage of partition pruning.
3. Can application/queries be  modified to take advantage of partitioning.
4. Any retention plan for the data/maintainence of data.

Important Consideration for Vendor Software(Oracle EBS Suite/Sieble/etc)

  • Evaluation of partition, if it can be done from vendor(warranty consideration).
  • Approval must from vendor for warrenty reasons.
  • Safer to attempt only for custom objects.
  • Better ask than be sorry later, always ask vendor, is it do-able or are there any concerns. Vendor has experience dealing with multiple customers, they are in better position to confirm than any of us,



Operations:
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/Partitioning/12c_parti.html


Friday, 8 September 2017

Oracle : Experiment on basic compression on table data

---------Exp start
SQL> select count(1) from scott.xemp;

  COUNT(1)
----------
  14680064

select table_name,COMPRESSION,COMPRESS_FOR from dba_tables where table_name='XEMP';

TABLE_NAME                     COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
XEMP                           DISABLED

SQL> select sum(bytes)/power(1024,2) from dba_segments where segment_name='XEMP';

SUM(BYTES)/POWER(1024,2)
------------------------
                     704


SQL> alter table scott.xemp move compress;

Table altered.

SQL> select sum(bytes)/power(1024,2) from dba_segments where segment_name='XEMP';

SUM(BYTES)/POWER(1024,2)
------------------------
                     176

SQL>  select table_name,COMPRESSION,COMPRESS_FOR from dba_tables where table_name='XEMP';

TABLE_NAME                     COMPRESS COMPRESS_FOR
------------------------------ -------- ------------
XEMP                           ENABLED  BASIC
---------Exp END

Basic compression is free(double check). 

For experiment, table was freshly created with no deletes on the table(i.e. compact). Looks like compression gave about 75% reduction in size. 


This reduces the logical foot print of the table and one may be able to reclaim some space, reduction of file size  is another issue, we may be able to release some space there too(subject to hit and try method).


Monday, 8 May 2017

Oracle: Activate Standby Database (Failover/Primary lost situation)

Generally a in a disaster situation when primary is lost and standby needs to take over PRIMARY role.
(alternate Procedure at bottom)
This is a test run for this blog purpose only:

select switchover_status from v$database;

SWITCHOVER_STATUS
--------------------
NOT ALLOWED

SQL> select NAME,OPEN_MODE,DATABASE_ROLE,GUARD_STATUS from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE    GUARD_S
--------- -------------------- ---------------- -------
ALOK      MOUNTED              PHYSICAL STANDBY NONE

SQL> /

NAME      OPEN_MODE            DATABASE_ROLE    GUARD_S
--------- -------------------- ---------------- -------
ALOK      MOUNTED              PHYSICAL STANDBY NONE

SQL>  select inst_id,process, status, sequence#, block#,thread# from gv$managed_standby  order by 1,2,3;

   INST_ID PROCESS   STATUS        SEQUENCE#     BLOCK#    THREAD#
---------- --------- ------------ ---------- ---------- ----------
         1 ARCH      CONNECTED             0          0          0
         1 ARCH      CONNECTED             0          0          0
         1 ARCH      CONNECTED             0          0          0
         1 ARCH      CONNECTED             0          0          0
         1 MRP0      WAIT_FOR_LOG         24          0          1
         1 RFS       IDLE                  0          0          0
         1 RFS       IDLE                  0          0          0
         1 RFS       IDLE                  0          0          0
         1 RFS       IDLE                 24         39          1

9 rows selected.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

Database altered.

SQL> ALTER DATABASE ACTIVATE PHYSICAL STANDBY DATABASE;

Database altered.

SQL> select inst_id,process, status, sequence#, block#,thread# from gv$managed_standby  order by 1,2,3;

   INST_ID PROCESS   STATUS        SEQUENCE#     BLOCK#    THREAD#
---------- --------- ------------ ---------- ---------- ----------
         1 ARCH      CONNECTED             0          0          0
         1 ARCH      CONNECTED             0          0          0
         1 ARCH      CONNECTED             0          0          0
         1 ARCH      CONNECTED             0          0          0

SQL> select NAME,OPEN_MODE,DATABASE_ROLE,GUARD_STATUS from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE    GUARD_S
--------- -------------------- ---------------- -------
ALOK      MOUNTED              PRIMARY          NONE

SQL> alter database open;   <=DB is ready for use

Database altered.

SQL> select NAME,OPEN_MODE,DATABASE_ROLE,GUARD_STATUS from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE    GUARD_S
--------- -------------------- ---------------- -------
ALOK      READ WRITE           PRIMARY          NONE
----------------------Alternate Procedure
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
shut immediate;
alter database open;-----opens in read only mode.(If not open or complains on more recovery, stop and recover more)
shut immediate;
startup mount
alter database activate standby database;
shutdown immediate


Monday, 12 December 2016

Oracle : Histograms and the impact

Histograms:

Google definition: Histograms are a feature of the cost-based optimizer (CBO) that allows the Oracle engine to determine how data is distributed within a column. They are most useful for a column that is included in the WHERE clause of SQL and the data distribution is skewed.

Study table data, if it doesn't fit the size and definition, don't use histograms. It can have serious performance impact.

Some reference commands:
exec DBMS_STATS.GATHER_TABLE_STATS(ownname => 'SCOTT' , tabname => 'XEMP',method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO',estimate_percent=>20,degree=>2,cascade=>TRUE,GRANULARITY=>'ALL');

select num_rows,last_analyzed from dba_tables where table_name='XEMP';

select column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

select count(1) from xemp where deptno=30;

explain plan for select sum(sal) from xemp where deptno=30;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY);



exec dbms_stats.delete_column_stats(ownname=>'SCOTT', tabname=>'XEMP', colname=>'DEPTNO', col_stat_type=>'HISTOGRAM');
--------------------------------------------------------------------------------------------------------

10:00:47 SQL> explain plan for select sum(sal) from xemp where deptno in (10,20);

SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY);

Explained.

Elapsed: 00:00:00.13
10:01:23 SQL> 10:01:23 SQL>
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 2458953120

---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |     1 |    16 | 14837   (1)| 00:02:59 |
|   1 |  SORT AGGREGATE    |      |     1 |    16 |            |          |
|*  2 |   TABLE ACCESS FULL| XEMP |  4196K|    64M| 14837   (1)| 00:02:59 |
---------------------------------------------------------------------------

Predicate Information (identified by operation id):

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
---------------------------------------------------

   2 - filter("DEPTNO"=10 OR "DEPTNO"=20)

14 rows selected.

10:02:15 SQL> explain plan for select sum(sal) from xemp where deptno=10;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY);

Explained.

Elapsed: 00:00:00.00
10:02:34 SQL>
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 2458953120

---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |     1 |    16 | 14834   (1)| 00:02:59 |
|   1 |  SORT AGGREGATE    |      |     1 |    16 |            |          |
|*  2 |   TABLE ACCESS FULL| XEMP |  1571K|    23M| 14834   (1)| 00:02:59 |
---------------------------------------------------------------------------

Predicate Information (identified by operation id):

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
---------------------------------------------------

   2 - filter("DEPTNO"=10)

14 rows selected.

Elapsed: 00:00:00.03

10:10:53 SQL> explain plan for select sum(sal) from xemp where deptno=30;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY);
Explained.

Elapsed: 00:00:00.01
10:11:05 SQL>

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2551043416

-------------------------------------------------------------------------------------
| Id  | Operation                    | Name | Rows  | Bytes | Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT             |      |     1 |    16 |     4   (0)| 00:00:01 |
|   1 |  SORT AGGREGATE              |      |     1 |    16 |            |          |
|   2 |   TABLE ACCESS BY INDEX ROWID| XEMP |     3 |    48 |     4   (0)| 00:00:01 |
|*  3 |    INDEX RANGE SCAN          | IND1 |     3 |       |     3   (0)| 00:00:01 | ç======================
-------------------------------------------------------------------------------------


PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------

   3 - access("DEPTNO"=30)

15 rows selected.
----Histogram deleted
10:11:07 SQL> exec dbms_stats.delete_column_stats(ownname=>'SCOTT', tabname=>'XEMP', colname=>'DEPTNO', col_stat_type=>'HISTOGRAM');

PL/SQL procedure successfully completed.

Elapsed: 00:00:00.00
10:12:11 SQL> explain plan for select sum(sal) from xemp where deptno=30;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY);
Explained.

Elapsed: 00:00:00.00
10:12:27 SQL>

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Plan hash value: 2458953120

---------------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |     1 |    16 | 14834   (1)| 00:02:59 |
|   1 |  SORT AGGREGATE    |      |     1 |    16 |            |          |
|*  2 |   TABLE ACCESS FULL| XEMP |  1398K|    21M| 14834   (1)| 00:02:59 |
---------------------------------------------------------------------------

Predicate Information (identified by operation id):

PLAN_TABLE_OUTPUT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------

   2 - filter("DEPTNO"=30)

14 rows selected.    

Data on which histogram was run:
10:03:31 SQL> select count(1) from xemp where deptno=&dep;
Enter value for dep: 10
old   1: select count(1) from xemp where deptno=&dep
new   1: select count(1) from xemp where deptno=10

  COUNT(1)
----------
   1572864

Elapsed: 00:00:00.24
10:04:12 SQL> /
Enter value for dep: 20
old   1: select count(1) from xemp where deptno=&dep
new   1: select count(1) from xemp where deptno=20

  COUNT(1)
----------
   2621440

Elapsed: 00:00:00.24
10:04:15 SQL> /
Enter value for dep: 30
old   1: select count(1) from xemp where deptno=&dep
new   1: select count(1) from xemp where deptno=30

  COUNT(1)
----------
         6
------------------------Impact of Method opt procedure
My preference:
exec dbms_stats.gather_schema_stats(ownname=>'&OWNER', estimate_percent => 100, method_opt => 'for all columns size AUTO',degree=>4,cascade=>true);
or
exec dbms_stats.gather_schema_stats(ownname=>'&OWNER',method_opt =>'FOR ALL INDEXED COLUMNS SIZE SKEWONLY', estimate_percent => 100, degree=>4,cascade=>true);

To drop current histogram and have only normal stats:
exec dbms_stats.gather_schema_stats(ownname=>'&OWNER',method_opt =>NULL, estimate_percent => 100, degree=>4,cascade=>true);   ----For Small database this should be enough.


Enter value for owner: SCOTT
old   1: select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='&owner'
new   1: select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT'

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          XEMP                           EMPNO                                   128          0 NONE            27-DEC-16
SCOTT                          XEMP                           ENAME                                     8          0 NONE            27-DEC-16
SCOTT                          XEMP                           JOB                                       4          0 NONE            27-DEC-16
SCOTT                          XEMP                           MGR                                       5      11860 NONE            27-DEC-16
SCOTT                          XEMP                           HIREDATE                                  8          0 NONE            27-DEC-16
SCOTT                          XEMP                           SAL                                       7          0 NONE            27-DEC-16
SCOTT                          XEMP                           COMM                                      0      97380 NONE            27-DEC-16
SCOTT                          XEMP                           DEPTNO                                    2          0 NONE            27-DEC-16
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            27-DEC-16
SCOTT                          YEMP                           ENAME                                    14          0 NONE            27-DEC-16
SCOTT                          YEMP                           JOB                                       5          0 NONE            27-DEC-16

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          YEMP                           MGR                                       6      12152 NONE            27-DEC-16
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            27-DEC-16
SCOTT                          YEMP                           SAL                                      12          0 NONE            27-DEC-16
SCOTT                          YEMP                           COMM                                      4      97132 NONE            27-DEC-16
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            27-DEC-16

16 rows selected.

SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER', estimate_percent => 100, method_opt => 'for all columns size AUTO',degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT'
  2  ;

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 FREQUENCY       13-JAN-17

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          DEPT                           DEPTNO                                    4          0 NONE            13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 FREQUENCY       13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname=>'&OWNER', tabname=>'&TABLE', estimate_percent => 10, method_opt => 'FOR ALL INDEXED COLUMNS SIZE 254', degree => DBMS_STATS.DEFAULT_DEGREE, cascade => TRUE);
Enter value for owner: SCOTT
Enter value for table: ^C

SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER', estimate_percent => 100, method_opt => 'for all columns size AUTO',degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 FREQUENCY       13-JAN-17

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          DEPT                           DEPTNO                                    4          0 NONE            13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 FREQUENCY       13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

SQL> set pagesize 1000
SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER', estimate_percent => 100, method_opt => 'FOR ALL INDEXED COLUMNS SIZE 254',degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 HEIGHT BALANCED 13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 FREQUENCY       13-JAN-17
SCOTT                          DEPT                           DEPTNO                                    4          0 HEIGHT BALANCED 13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 FREQUENCY       13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 FREQUENCY       13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER', estimate_percent => 100, method_opt => 'FOR ALL INDEXED COLUMNS SIZE 1',degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 FREQUENCY       13-JAN-17
SCOTT                          DEPT                           DEPTNO                                    4          0 NONE            13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER', estimate_percent => 100, degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 FREQUENCY       13-JAN-17
SCOTT                          DEPT                           DEPTNO                                    4          0 NONE            13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 FREQUENCY       13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER',method_opt =>NULL, estimate_percent => 100, degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          DEPT                           DEPTNO                                    4          0 NONE            13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

SQL> exec dbms_stats.gather_schema_stats(ownname=>'&OWNER',method_opt =>'FOR ALL INDEXED COLUMNS SIZE SKEWONLY', estimate_percent => 100, degree=>4,cascade=>true);
Enter value for owner: SCOTT

PL/SQL procedure successfully completed.

SQL> select /*Histgram Check owner */ owner,table_name,column_name,num_distinct,num_nulls,histogram,last_analyzed  from dba_tab_col_statistics where owner='SCOTT';

OWNER                          TABLE_NAME                     COLUMN_NAME                    NUM_DISTINCT  NUM_NULLS HISTOGRAM       LAST_ANAL
------------------------------ ------------------------------ ------------------------------ ------------ ---------- --------------- ---------
SCOTT                          SALGRADE                       GRADE                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       LOSAL                                     5          0 NONE            13-JAN-17
SCOTT                          SALGRADE                       HISAL                                     5          0 NONE            13-JAN-17
SCOTT                          EMP                            EMPNO                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          EMP                            JOB                                       5          0 NONE            13-JAN-17
SCOTT                          EMP                            MGR                                       6          1 NONE            13-JAN-17
SCOTT                          EMP                            HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          EMP                            SAL                                      12          0 NONE            13-JAN-17
SCOTT                          EMP                            COMM                                      4         10 NONE            13-JAN-17
SCOTT                          EMP                            DEPTNO                                    3          0 NONE            13-JAN-17
SCOTT                          DEPT                           DEPTNO                                    4          0 NONE            13-JAN-17
SCOTT                          DEPT                           DNAME                                     4          0 NONE            13-JAN-17
SCOTT                          DEPT                           LOC                                       4          0 NONE            13-JAN-17
SCOTT                          BONUS                          ENAME                                     0          0 NONE            13-JAN-17
SCOTT                          BONUS                          JOB                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          SAL                                       0          0 NONE            13-JAN-17
SCOTT                          BONUS                          COMM                                      0          0 NONE            13-JAN-17
SCOTT                          XEMP                           EMPNO                                   134          0 FREQUENCY       13-JAN-17
SCOTT                          XEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          XEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          XEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          XEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          XEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          XEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          XEMP                           DEPTNO                                    3          0 FREQUENCY       13-JAN-17
SCOTT                          YEMP                           EMPNO                                   134          0 NONE            13-JAN-17
SCOTT                          YEMP                           ENAME                                    14          0 NONE            13-JAN-17
SCOTT                          YEMP                           JOB                                       5          0 NONE            13-JAN-17
SCOTT                          YEMP                           MGR                                       6      12152 NONE            13-JAN-17
SCOTT                          YEMP                           HIREDATE                                 13          0 NONE            13-JAN-17
SCOTT                          YEMP                           SAL                                      12          0 NONE            13-JAN-17
SCOTT                          YEMP                           COMM                                      4      97132 NONE            13-JAN-17
SCOTT                          YEMP                           DEPTNO                                    3          0 NONE            13-JAN-17

34 rows selected.

Just for reference: this demo data for scott schema, XEMP & YEMP are clone table created by me.
SQL> select count(1) from XEMP;

  COUNT(1)
----------
     97136

SQL> select count(1) from YEMP;

  COUNT(1)
----------
     97136

Must Read: http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-bp-for-stats-gather-12c-1967354.pdf