Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Error with python setup.py build for cx_Oracle

Jihai ChenJul 30 2012 — edited Aug 6 2012
Hi,

I've followed the instructions for installing cx_Oracle so far, but I am stuck at python setup.py build. it gives me the following error:

[jihchen@rws66173fwks cx_Oracle-5.1.2]$ python setup.py build
running build
running build_ext
building 'cx_Oracle' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/scratch/jihchen/install/instantclient_11_2/sdk/include -I/scratch/jihchen/install/python/Python-2.6.5/include/python2.6 -c cx_Oracle.c -o build/temp.linux-x86_64-2.6-11g/cx_Oracle.o -DBUILD_VERSION=5.1.2
In file included from /scratch/jihchen/install/python/Python-2.6.5/include/python2.6/Python.h:58,
from cx_Oracle.c:6:
/scratch/jihchen/install/python/Python-2.6.5/include/python2.6/pyport.h:685:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
In file included from /scratch/jihchen/install/instantclient_11_2/sdk/include/oci.h:3045,
from cx_Oracle.c:10:
/scratch/jihchen/install/instantclient_11_2/sdk/include/ociap.h:10795: warning: function declaration isn’t a prototype
/scratch/jihchen/install/instantclient_11_2/sdk/include/ociap.h:10801: warning: function declaration isn’t a prototype
error: command 'gcc' failed with exit status 1


I have set up my $ORACLE_HOME by downloading and extracting instant client, and followed the BUILD.txt's instruction to link the .so file with:

ln -s libclntsh.so.11.1 libclntsh.so

What am I missing?

Thanks,

Jihai

Comments

Dude!

Check the last paragraph: https://docs.oracle.com/en/database/oracle/oracle-database/18/cwsol/understanding-oracle-flex-clusters.html#GUID-26BBAAB…

A Leaf Node sends periodic heartbeat messages to its associated Hub Node, which is different from the heartbeat messages that occur between Hub Nodes. During planned shutdown of the Hub Nodes, a Leaf Node attempts to connect to another Hub Node, unless the Leaf Node is connected to only one Hub Node. If the Hub Node is evicted, then the Leaf Node is also evicted from the cluster.

https://docs.oracle.com/en/database/oracle/oracle-database/18/cwlin/about-oracle-flex-asm-clusters-networks.html#GUID-89…

Oracle Flex ASM can use either the same private networks as Oracle Clusterware, or use its own dedicated private networks. Each network can be classified PUBLIC, ASM & PRIVATE, PRIVATE, or ASM.

DarkwingDuck

Thanks!

"A Leaf Node sends periodic heartbeat messages to its associated Hub Node, which is different from the heartbeat messages that occur between Hub Nodes."

This was new for me. I knew about the heartbeat beetween leaf node an hubnode, and that leaf is evicted.

But I thought it is the same heartbeat as the one between the hub-nodes.

Oracle Flex ASM can use either the same private networks as Oracle Clusterware, or use its own dedicated private networks. Each network can be classified PUBLIC, ASM & PRIVATE, PRIVATE, or ASM.

Well, that the point nobody could figure out for me clearly, which might be a result of my poor english. :-(

I got this one:

The private network is for the cluster, such as heartbead an - on RAC - cluster interconnect.

The ASM Interface is for the a new comunication which comes with flex asm.

If an database instances runs on  an hubnode without ASM instance, any communication with the ASM instance (needed for example creating a datafile, logswitches) runs over the ASM interfaces.

On leaf nodes I read this:

  • Use Indirect access to the Oracle ASM disks, where I/O is handled as a service for the client on a Hub Node.
  • Submit disk service requests through the Oracle ASM network.

A leaf node needs data that is stored on ACFS.

So the IO runs from the leaf nodes the hub node it is connected to and the hubnode sends the requested data.

As this runs over the ASM interface (which should be a seperated interface in seperate network, NOT private)  it puts no load on private interfaces.

If you answer "yes"... well, you just made my day!

Dude!
Answer

As far a I know:

ASM hub nodes are ASM RAC cluster nodes that provide ASM client service to ASM flex (leaf) nodes. ASM client I/O on behalf of ASM flex nodes is performed on the ASM hub node. ASM client communication between the ASM hub and flex nodes is via a separate ASM client network.

ASM flex nodes also run Oracle Clusterworks to communicate with ASM hub nodes. For the hub and leaf node interconnect, you can use the ASM client network, a private network between the all hub and all leaf nodes, or the private network of your RAC cluster. It is best to have a private network for Oracle Clusterworks communication between hub and leaf nodes.

ACFS uses a kernel driver to provide a local filesystem mounting an ASM disk group. ACFS is only available for ASM RAC or hub nodes, and is not available for ASM leaf nodes. https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwsol/restrictions-and-guidelines-for-oracle-acfs.html#GUID-587B11C1-CB42-4584-A626-A95C925C78E3

https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwsol/restrictions-and-guidelines-for-oracle-acfs.html#G…

Marked as Answer by DarkwingDuck · Sep 27 2020
DarkwingDuck

Thanks a lot

1 - 4
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 3 2012
Added on Jul 30 2012
2 comments
4,526 views