RE: Turn off Partitioning

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <mwf@xxxxxxxx>, <jlewisoracle@xxxxxxxxx>, "'ORACLE-L'" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 18 Aug 2021 13:17:11 -0400

by old one, I don’t mean the old oracle home (which presumably everyone is 
making recoverable already in accordance with your service levels), I 
specifically mean the existing orainventory and location (for as many as you 
have, especially if you have one of the obsolete webclients still kicking 
around that you haven’t decided is worth enough money to replace but still does 
something for you. They can be completely disjoint from everything else 
depending on vintage, and last I knew, the way to get rid of them was 
re-implement all your client facing technology stack.)

 

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Mark W. Farnham
Sent: Wednesday, August 18, 2021 11:08 AM
To: jlewisoracle@xxxxxxxxx; 'ORACLE-L'
Subject: RE: Turn off Partitioning

 

One tiny last bit: In many releases over the years something *could* go bump in 
the night and fubar orainventory and/or put a new partial one in a new place 
upstream of the old one in location searching, so before all y’all add a new 
home, make sure you back up the old one and know what the latest twists of path 
searching order do as the net from Oracle, Operating System, and shell layers 
and whether the environment needs to be dotted or just the script invoked. 
Sigh. They probably have that all fixed by now, but my paranoia is well earned.

 

mwf

 

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Jonathan Lewis
Sent: Wednesday, August 18, 2021 6:54 AM
To: ORACLE-L
Subject: Re: Turn off Partitioning

 

 

That's a good point - if you've used partitioning there will be entries 
(deleted) in tabpart$, indpart$ et. al. So maybe after a re-install you'd need 
to create an empty database and move the data from the old to the new 
(transportable tablespaces seems the best option for that).

 

Another thought that's just occurred to me that if you're licensed for the 
diagnostic and performance tools, and even if you do nothing but keep a history 
of optimizer statistics there are some sys tables that will be partitioned (by 
setting an event when the tables are created, I think) so if you remove 
partitioning from the excutable what happens to them.  (Perhaps the "part_off" 
library has a run-time check that may allow only SYS to create and use 
partitioned tables).

 

 

Regards

Jonathan Lewis

 

 

On Wed, 18 Aug 2021 at 11:40, Howard Latham <howard.latham@xxxxxxxxx> wrote:

If there is a record of you using a chargeable feature you are risking a big 
back payment they are not kind to big or small if you can rebuild the dB. 

Sent from another Galaxy. 

 

  _____  

From: oracle-l-bounce@xxxxxxxxxxxxx <oracle-l-bounce@xxxxxxxxxxxxx> on behalf 
of Mikhail Velikikh <mvelikikh@xxxxxxxxx>
Sent: Wednesday, August 18, 2021 11:22:25 AM
To: Jonathan Lewis <jlewisoracle@xxxxxxxxx>
Cc: ORACLE-L <oracle-l@xxxxxxxxxxxxx>
Subject: Re: Turn off Partitioning 

 

chopt is a way to go as it is documented here: 
https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/chopt-tool.html#GUID-057E4EFC-74ED-43B3-B03B-C83C5A5D3C7F

The exact commands it uses are in $ORACLE_HOME/bin/chopt.ini. 

Here is an example for partitioning (it is basically as Jonathan said with an 
additional command to make oracle):

 

[partitioning]
option=Oracle Partitioning
enable=run:/usr/bin/make -f 
/u01/app/oracle/product/21.3.0/dbhome_1/rdbms/lib/ins_rdbms.mk part_on 
ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1;run:/usr/bin/make -f 
/u01/app/oracle/product/21.3.0/dbhome_1/rdbms/lib/ins_rdbms.mk ioracle 
ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1
disable=run:/usr/bin/make -f 
/u01/app/oracle/product/21.3.0/dbhome_1/rdbms/lib/ins_rdbms.mk part_off 
ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1;run:/usr/bin/make -f 
/u01/app/oracle/product/21.3.0/dbhome_1/rdbms/lib/ins_rdbms.mk ioracle 
ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1

 

 

 

On Wed, 18 Aug 2021 at 09:34, Jonathan Lewis <jlewisoracle@xxxxxxxxx> wrote:

 

 

It's a very long time since I did one, but the most secure way to deal with the 
problem is to create an Oracle executable that does not include the bits you 
don't want to pay for; but many years ago - for UNIX systems - I would use 
"make" to create new libraries and executables.

 

If you go to $ORACLE_HOME/rdbms/lib you will find a file called ins_rdbms.mk, 
this is the control file for make-ing Oracle. If you know where the log files 
are for the Oracle installation you will find there a file called something 
like "make.log". At the top of the file you'll find a line like:

 

/usr/bin/make -f ins_rdbms.mk clean rat_on part_on dm_on olap_on sdo_on rac_off 
dnfs_off ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1/

 

In this line "part_on" is one of the targets for make, and if you search 
ins_rdbms.mk you'll find the rule that applies for part_on; just below that 
there's a rule for part_off. 

 

So you could execute make, changing the command line you find to use part_off 
instead of part_on (and changing the ORACLE_HOME/as appropriate. However, there 
are 3 things I would do first:

 

a) Wait for a sanity check for someone who's done this some time in the last 10 
years; I haven't done it since 8i

b) Talk to whoever installs Oracle at your site to make sure that my 
(potentially outdated) information about make is still okay

c) Do a complete Oracle software install to a new Oracle Home - because the 
install might allow you to pick No-partitioning in the setup pages, and it's 
far better to do this type of thing with the official mechanisms if they exist.

d) If you have to mess about with make, do it on the second Oracle Home.

 

Regards

Jonathan Lewis

 

 

 

 

Other related posts: