When you create an instance of IQ, you should use RAW devices for stability and performance. I recently created an instance and ran into the error SQLCODE=-1010000, ODBC 3 State=”HY000″ The file ‘/IQ/iq00/sybdev/IQ_MAIN/iq00main001.iq’ already exists on AIX. The symbolic link /IQ/iq00/sybdev/IQ_MAIN/iq00main001.iq was pointing to the RAW device /dev/ip00main001. After many long hours on the phone with SAP, we found the solution, I’m rather embarrassed to say.
On AIX:
- buffered (cooked) partitions are /dev/iq00main001
- unbuffered (REAL) RAW devices are /dev/riq00main001
Note the letter “r” designating a RAW device.
When in doubt, you can use the file utility:
Block Special effectively means cooked partition:
file /dev/iq00main001 /dev/iq00main001: block special (35/1)
Character Special means RAW device:
file /dev/rip00main001 /dev/rip00main001: character special (35/1)
Thanks to John Ting, Richard Weisbrod and Peter Bavin of SAP! It took a long time but we finally figured out what that something really really simple we’re overlooking was.
Feature Request 747716: for IQ to detect non-character raw device during db OR dbfile creation.