Solaris 10 u10 安装 Oracle 10g2 链接时出现错误的解决方法
Solaris 10 u10 安装 Oracle 10g2 链接时出现错误的解决方法
问题描述:
Exception String: Error in invoking target 'client_sharedlib' of makefile '/u01/app/oracle/product/10.2.0/db_1/network/lib/ins_net_client.mk'. See
'/u01/app/oracle/oraInventory/logs/installActions2012-02-21_11-03-51AM.log' for details.
查看make.log得到如下信息
*** Error code 1
make: Fatal error: Command failed for target `client_sharedlib'
/usr/ccs/bin/make -f ins_net_client.mk client_sharedlib ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1//u01/app/oracle/product/10.2.0/db_1/bin/genclntsh
ld: fatal: symbol 'ntcontab' in file /u01/app/oracle/product/10.2.0/db_1/lib/libn10.a(ntcontab.o): section [3].data: size 0x60: symbol (address 0, size 0x70)
lies outside of containing section
ld: fatal: file processing errors. No output written to /u01/app/oracle/product/10.2.0/db_1/lib/libclntsh.so.10.1
genclntsh: Failed to link libclntsh.so.10.1
在网上找了很久,发现大概有两种处理办法。
1、是Oracle的版本与Solaris的版本不匹配,说是将64的介质安装在32位的系统上。但是我可以确定我的Oracle和Solaris的版本是对应的。
2、环境变量配置不正确,但是我也找了些安装Oralce10g的文档,基本上都应该配置了,我的环境变量配置如下:
MAIL=/usr/mail/${LOGNAME:?} --这个创建完Oracle就存在的,,其它是我增加的
DISPLAY=localhost:0.0
export DISPLAY
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=solarisOracle01
export ORACLE_SID
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/lib
export LD_LIBRARY_PATH
umask 022
解决方法:
这是个BUG,解决方案如下。
Cause
Unpublished bug:
Bug 6791866 - ASSEMBLER CODE GENERATED BY GENNTTAB CAUSES LD ERROR IN LATEST SOLARIS BUILDS
Which states:
Always in the latest Solaris builds
Solaris 11 [Nevada]
and
Solaris 10 Update 10 and above ( Solaris 10 8/11 )
due to stricter integrity checking in the linker (ld)
or
OS patch 144501-19 installed.
Solution
For versions 10.1.x through 10.2.0.x use the following workaround
If this occurs during an installation of the base release or patchset, you will get a pop-up for the link error providing the following options, 'Retry or Continue'. Leave this popup and login to a new session as the owner of the ORACLE_HOME, and complete the following:
1. cd $ORACLE_HOME/bin
2. cp gennttab gennttab_orig
3. vi gennttab
将这段配置中的112改成96
修改前:
ntcontab:
.type ntcontab,@object
.size ntcontab,112
.align 4
修改后:
ntcontab:
.type ntcontab,@object
.size ntcontab,96
.align 4
4. cd $ORACLE_HOME/network/lib
execute command
/usr/ccs/bin/make -f ins_net_client.mk ntcontab.o
execute command
$ORACLE_HOME/bin/genclntsh
5.现在点retry 就好了

MySQLstringtypesimpactstorageandperformanceasfollows:1)CHARisfixed-length,alwaysusingthesamestoragespace,whichcanbefasterbutlessspace-efficient.2)VARCHARisvariable-length,morespace-efficientbutpotentiallyslower.3)TEXTisforlargetext,storedoutsiderows,

MySQLstringtypesincludeVARCHAR,TEXT,CHAR,ENUM,andSET.1)VARCHARisversatileforvariable-lengthstringsuptoaspecifiedlimit.2)TEXTisidealforlargetextstoragewithoutadefinedlength.3)CHARisfixed-length,suitableforconsistentdatalikecodes.4)ENUMenforcesdatainte

MySQLoffersvariousstringdatatypes:1)CHARforfixed-lengthstrings,2)VARCHARforvariable-lengthtext,3)BINARYandVARBINARYforbinarydata,4)BLOBandTEXTforlargedata,and5)ENUMandSETforcontrolledinput.Eachtypehasspecificusesandperformancecharacteristics,sochoose

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

ToaddusersinMySQLeffectivelyandsecurely,followthesesteps:1)UsetheCREATEUSERstatementtoaddanewuser,specifyingthehostandastrongpassword.2)GrantnecessaryprivilegesusingtheGRANTstatement,adheringtotheprincipleofleastprivilege.3)Implementsecuritymeasuresl

ToaddanewuserwithcomplexpermissionsinMySQL,followthesesteps:1)CreatetheuserwithCREATEUSER'newuser'@'localhost'IDENTIFIEDBY'password';.2)Grantreadaccesstoalltablesin'mydatabase'withGRANTSELECTONmydatabase.TO'newuser'@'localhost';.3)Grantwriteaccessto'

The string data types in MySQL include CHAR, VARCHAR, BINARY, VARBINARY, BLOB, and TEXT. The collations determine the comparison and sorting of strings. 1.CHAR is suitable for fixed-length strings, VARCHAR is suitable for variable-length strings. 2.BINARY and VARBINARY are used for binary data, and BLOB and TEXT are used for large object data. 3. Sorting rules such as utf8mb4_unicode_ci ignores upper and lower case and is suitable for user names; utf8mb4_bin is case sensitive and is suitable for fields that require precise comparison.

The best MySQLVARCHAR column length selection should be based on data analysis, consider future growth, evaluate performance impacts, and character set requirements. 1) Analyze the data to determine typical lengths; 2) Reserve future expansion space; 3) Pay attention to the impact of large lengths on performance; 4) Consider the impact of character sets on storage. Through these steps, the efficiency and scalability of the database can be optimized.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version
SublimeText3 Linux latest version

Zend Studio 13.0.1
Powerful PHP integrated development environment
