検索
ホームページデータベースmysql チュートリアルUbuntu12.04(32位)安装Oracle 11g(32位)全过程

Ubuntu12.04 ( 32 位)安装 Oracle11g ( 32 位)全过程 1. 将系统更新到最新: sudo apt-get update sudo apt-get dist-upgrade 2. 安装 Oracle 所需的依赖包: sudo apt-get install automake sudo apt-get install autotools-dev sudo apt-get install b

Ubuntu12.0432位)安装Oracle11g32位)全过程


1.将系统更新到最新:

sudo apt-get update
sudo apt-get dist-upgrade


2.安装Oracle所需的依赖包:

sudo apt-get install automake

sudo apt-get install autotools-dev
sudo apt-get install binutils
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install expat
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install ia32-libs
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install lib32z1
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-i386
sudo apt-get install libelf-dev
sudo apt-get install libltdl-dev
sudo apt-get install libmotif4
sudo apt-get install libodbcinstq4-1libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0
sudo apt-get installlibpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install lsb-cxx
sudo apt-get install make
sudo apt-get install openssh-server
sudo apt-get install pdksh
sudo apt-get install rlwrap
sudo apt-get install rpm
sudo apt-get installsysstat
sudo apt-get install unixodbc
sudo apt-get installunixodbc-dev
sudo apt-get install unzip
sudo apt-get installx11-utils
sudo apt-get install zlibc

很多都是Ubuntu已经自带的了,谨慎起见都执行一遍吧。


3.检查系统变量

/sbin/sysctl-a | grep sem

/sbin/sysctl-a | grep shm

/sbin/sysctl-a | grep file-max

/sbin/sysctl-a | grep aio-max

/sbin/sysctl-a | grep ip_local_port_range

/sbin/sysctl-a | grep rmem_default

/sbin/sysctl-a | grep rmem_max

/sbin/sysctl-a | grep wmem_default

/sbin/sysctl-a | grep wmem_max


然后根据上面命令中得到的参数值在/etc/sysctl.conf中增加对应数据,比如:
fs.aio-max-nr= 1048576
fs.file-max = 6815744
kernel.shmall =2097152kernel.shmmax = 536870912
kernel.shmmni = 4096kernel.sem =250 32000 100 128

net.ipv4.ip_local_port_range= 9000 65500

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144
net.core.wmem_max = 1048586


运行一下命令更新内核参数:
sysctl –p


4.添加对当前用户(假如用户名是zhs)用户的内核限制在/etc/security/limits.conf文件中增加以下数据
zhs soft nproc 2047

zhs hard nproc 16384

zhs soft nofile 1024

zhs hard nofile 65536

zhs soft stack 10240


5.查看/etc/pam.d/login,增加以下行(有了就不用增加了):

session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:

session required pam_limits.so


6.创建需要的文件夹(用于安装oracle)并设置其所有权:
sudo mkdir -p /opt/oracle
sudo mkdir -p /opt/oraInventory

sudo chown -R zhs:zhs /opt/oracle

sudo chown -R zhs:zhs /opt/oraInventory

后两步中,第一个zhs代表当前用户,第二个zhs代表当前用户所在的组,linux用户通常属于好几个组,其中有一个组名和用户名相同。这两步可能可以不用执行,因为那两个目录本身就是zhs创建的。


7.安装JRE环境

如果Ubuntu上没安装JRE的话,需要安装JRE(我这里直接安装了JDK,以JDK为例):

Oracle官网下载JDK6(考虑到兼容性问题,安装6):

下载jdk-6u45-linux-i586.bin这个文件。放到主文件夹(home目录)下,进入终端:

$sudo chmod 777 jdk-6u37-linux-x64.bin //将文件赋予运行权限

$sudo -s ./jdk-6u37-linux-x64.bin /usr/lib/jdk //JDK安装到/usr/lib/jdk目录下。

注意:最后安装完成后可能安装到了主文件夹下了,这是使用命令将其全部复制到/usr/lib/jdk目录下即可。(如果没有权限,就使用sudochmod 777获取权限再复制)

配置JDK的环境变量,使用编辑器打开主文件夹下的.bashrc配置文件(隐藏),向其中加入如下内容:

#JDK
JAVA_HOME=/usr/lib/jdk/jdk1.6.0_45
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};

注意核对一下目录结构是不是正确的。

接着使新设的环境变量生效,在终端执行命令:source.bashrc

最后验证JDK是否安装正确:

java -version

出现了JDK版本信息就表示正确了。


8.Oracle配置环境变量。同样在主文件夹下的.bashrc配置文件中加入如下内容:

#Oracle
#
这个写刚刚创建的文件夹
export ORACLE_BASE=/opt/oracle 
#
这个后面可以随便填写
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#
数据库的sid
export ORACLE_SID=orcl

export ORACLE_UNQNAME=orcl
#
默认字符集
export NLS_LANG=.AL32UTF8
#
环境变量
export PATH=${PATH}:${ORACLE_HOME}/bin/;


接着使新设的环境变量生效,在终端执行命令:source.bashrc


9.oracle本身并不支持ubuntu来安装,所以要进行欺骗oracle的安装程序(sudo执行):

ln -s /etc /etc/rc.d

ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/

ln -s /usr/bin/awk /bin/awk

ln -s /usr/bin/basename /bin/basename

ln -s /usr/bin/rpm /bin/rpm

ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a/usr/lib/libpthread_nonshared.a

ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a/usr/lib/libc_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /lib/

ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/

ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /lib/

ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /usr/lib/


sudo touch /etc/redhat-release
sudo echo ‘Red Hat Linux release 5’> /etc/redhat-release


因为Ubuntu将某些库文件根据32位系统和64位系统分别存放了,但Oracle只认/usr/lib/lib目录,所以需要进行上面的软链接。


10.下载32(x86)Oraclefor Linux安装程序,解压后得到database文件夹


11.在终端设置语言环境

export LANG=en_US或者exportLANG=zh_CN.gbk

这一步如果不设的话,Oracle安装程序的启动界面可能会出现乱码。


12.database文件夹下的runInstaller文件赋予可执行权限:

sudo chmod 777 runInstaller

跳转到database目录,在终端下执行:

./runInstaller


13.出现填写电邮地址的界面,电邮地址不要填写且复选框不要勾选,点击“下一步”按钮。弹出带叉号标志的提示点击“YES”按钮后就可进入下一步。


14.剩下的过程基本上很顺利了,只需要设置一下密码就行了,其他的设置都在启动安装程序前完成了,不要进行改动!


15.图形界面下进行依赖检查的时候会列出很多依赖检查失败了,无法进入下一步了,此时选中右上角的“忽略所有”就可以进入下一步了。


16.安装的过程会出现两个错误(接近70%的时候)

第一个错误:

Errorin invoking target 'agent nmhs' of makefile'opt/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See'/opt/oraInventory/logs/installActions2014-08-09_03-15-56AM.log' fordetails.


解决方法:

打开一个新的终端,输入如下命令:

sed-i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g'$ORACLE_HOME/sysman/lib/ins_emagent.mk

然后在图形界面点击‘Retry’就能继续安装了。


第二个错误:

Errorin invoking target 'all_no_orcl' of makefile'/opt/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See'/opt/oraInventory/logs/installActions2014-08-09_03-16-32AM.log' fordetails.


解决方法:

在新终端中输入如下四个命令:

sed-i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1-Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk

sed-i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1-Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk

sed-i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g'$ORACLE_HOME/bin/genorasdksh

sed-i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g'$ORACLE_HOME/srvm/lib/ins_srvm.mk

然后在图形界面点击‘Retry’就能继续安装了。

下面的安装过程就没有什么问题了。


17.最后应该就顺利完成了,按照安装程序提示最后执行两个脚本:

sudo /opt/oraInventory/orainstRoot.sh
sudo /opt/oracle/product/11.2.0/dbhome_1/root.sh

就完成了全部的安装。




注:本人用ubuntu12.0412.10,按照此方法装oracle都成功了

参考资料:http://blog.csdn.net/idber/article/details/9039857



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
複数の単一列インデックスに対して複合インデックスをいつ使用する必要がありますか?複数の単一列インデックスに対して複合インデックスをいつ使用する必要がありますか?Apr 11, 2025 am 12:06 AM

データベースの最適化では、クエリ要件に従ってインデックス作成戦略を選択する必要があります。1。クエリに複数の列が含まれ、条件の順序が固定されている場合、複合インデックスを使用します。 2。クエリに複数の列が含まれているが、条件の順序が修正されていない場合、複数の単一列インデックスを使用します。複合インデックスは、マルチコラムクエリの最適化に適していますが、単一列インデックスは単一列クエリに適しています。

MySQLでスロークエリを識別して最適化する方法は? (スロークエリログ、Performance_schema)MySQLでスロークエリを識別して最適化する方法は? (スロークエリログ、Performance_schema)Apr 10, 2025 am 09:36 AM

MySQLスロークエリを最適化するには、slowquerylogとperformance_schemaを使用する必要があります。1。LowerQueryLogを有効にし、しきい値を設定して、スロークエリを記録します。 2。performance_schemaを使用してクエリの実行の詳細を分析し、パフォーマンスのボトルネックを見つけて最適化します。

MySQLおよびSQL:開発者にとって不可欠なスキルMySQLおよびSQL:開発者にとって不可欠なスキルApr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

MySQL非同期マスタースレーブレプリケーションプロセスを説明してください。MySQL非同期マスタースレーブレプリケーションプロセスを説明してください。Apr 10, 2025 am 09:30 AM

MySQL非同期マスタースレーブレプリケーションにより、BINLOGを介したデータの同期が可能になり、読み取りパフォーマンスと高可用性が向上します。 1)マスターサーバーレコードはBinlogに変更されます。 2)スレーブサーバーは、I/Oスレッドを介してBINLOGを読み取ります。 3)サーバーSQLスレッドは、BINLOGを適用してデータを同期させます。

MySQL:簡単な学習のためのシンプルな概念MySQL:簡単な学習のためのシンプルな概念Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQL:ユーザーフレンドリーなデータベースの紹介MySQL:ユーザーフレンドリーなデータベースの紹介Apr 10, 2025 am 09:27 AM

MySQLのインストールと基本操作には、次のものが含まれます。1。mysqlをダウンロードしてインストールし、ルートユーザーパスワードを設定します。 2。sqlコマンドを使用して、createdatabaseやcreateTableなどのデータベースとテーブルを作成します。 3. CRUD操作を実行し、挿入、選択、更新、コマンドを削除します。 4.パフォーマンスを最適化し、複雑なロジックを実装するためのインデックスとストアドプロシージャを作成します。これらの手順を使用すると、MySQLデータベースをゼロから構築および管理できます。

InnoDBバッファープールはどのように機能し、なぜパフォーマンスに不可欠なのですか?InnoDBバッファープールはどのように機能し、なぜパフォーマンスに不可欠なのですか?Apr 09, 2025 am 12:12 AM

Innodbbufferpoolは、データとインデックスページをメモリにロードすることにより、MySQLデータベースのパフォーマンスを向上させます。 1)データページは、ディスクI/Oを削減するためにBufferPoolにロードされます。 2)汚れたページは、定期的にディスクにマークされ、リフレッシュされます。 3)LRUアルゴリズム管理データページの排除。 4)読み出しメカニズムは、可能なデータページを事前にロードします。

MySQL:初心者向けのデータ管理の容易さMySQL:初心者向けのデータ管理の容易さApr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)