Ubuntu下可以安装Oracle吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu下可以安装Oracle吗相关的知识,希望对你有一定的参考价值。

在ubuntu10.04下安装oracle10g,最主要的步骤是oracle运行环境的配置。真正的安装就一条简单的语句。

1、 下载的是11g的ZIP文件:
Oracle Database 11 g Release 2 Standard Edition, Standard Edition One, and Enterprise Edition
2、JDK的环境已配置。
3.ZIP文件的解压缩
Zip文件有两个,解压缩的方法一定要对,不然之后安装的时候就会各种各样问题
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
得到一个database如:生成/home/xiaoyaomeng/software/database
安装依赖包:
切换到Root用户,拷贝到终端下运行就行了:sudo apt-get install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text ia32-libs intltool-debian ksh lesstif2 lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libdb4.8 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip
检查系统变量:
/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中增加对应数据:
1、sudo gedit /etc/sysctl.conf
2、加入(数字根据上一步得到的值对应):
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.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
3、编辑完成之后保存,然后在终端下执行
sysctl -p
4、添加对Oracle用户的内核限制
sudo gedit /etc/security/limits.conf
往文件里面添加:
( administrator是你的用户名) administrator soft nproc 2047 administrator hard nproc 16384 administrator soft nofile 1024 administrator hard nofile 65536 administrator soft stack 10240 5、查看 /etc/pam.d/login ( sudo gedit /etc/pam.d/login )增加以下行(有就不增加了) session required pam_limits.so
同样检查/etc/pam.d/su ( sudo gedit /etc/pam.d/su ),增加以下行(就不用增加了) session required pam_limits.so
1.创建安装Oracle的目录 :mkdir ~/Oracle/oracle11g mkdir ~/Oracle/oradata 2.配置Oracle环境变量 :sudo gedit xiaoyaomeng/.bashrc #这个写刚刚创建的文件夹 export ORACLE_BASE= ~/Oracle/oracle11g export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID="orcl" export NLS_LANG=.AL32UTF8
1、.欺骗oracle的安装程序 拷贝到终端执行: mkdir /usr/lib64 ln -s /etc /etc/rc.d ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/ 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/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/ echo \'Red Hat Linux release 5\' > /etc/redhat-release
2、.运行安装程序
># cd /home/xiaoyaomeng/software/database (解压缩database的那个路径位置)
># export LANG=US (设置字符显示为英文)
># ./runInstaller
根据图形界面进行一步步地安装:
左边就是提示你一些不符合它Oracle标准的系统变量参数,还有一些你没有装上的packages,这些自己调整好之后按Check Again,就可以进行重新检测,或者说如果觉得这些不影响,可以直接按“Ignore All” 忽略掉这些“警告”。
参考技术A 1.下载Oracle JDK版本
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
2.创建java目录
$ sudo mkdir -p /usr/local/java
#将下载的jdk-6u45-linux-x64.bin拷贝至/usr/local/java目录
$ cd /usr/local/java
$ sudo cp /home/dennis/Downloads/jdk-6u45-linux-x64.bin
3.解压bin文件
$ sudo chmod +x jdk-6u45-linux-x64.bin
$ sudo ./jdk-6u45-linux-x64.bin
$ sudo rm -rf jdk-6u45-linux-x64.bin
4.配置JAVA_HOME和PATH环境变量
$ sudo vi /etc/profile
#在该文件的末尾加上如下部分:
JAVA_HOME=/usr/local/java/jdk1.6.0_45
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export PATH
5.配置ubuntu的JDK和JRE的位置
$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.6.0_45/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.6.0_45/bin/javac" 1
$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.6.0_45/bin/javaws" 1
6.配置Oracle为系统默认JDK/JRE
$ sudo update-alternatives --set java /usr/local/java/jdk1.6.0_45/bin/java
$ sudo update-alternatives --set javac /usr/local/java/jdk1.6.0_45/bin/javac
$ sudo update-alternatives --set javaws /usr/local/java/jdk1.6.0_45/bin/javaws
7.配置完成后,执行如下命令使其立即生效。
$ . /etc/profile
#再次执行"java -version"显示如下:
dennis@dubuntu1404:~$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

如何在 Ubuntu 下安装 JDK 11?

【中文标题】如何在 Ubuntu 下安装 JDK 11?【英文标题】:How to install JDK 11 under Ubuntu? 【发布时间】:2019-03-01 11:16:55 【问题描述】:

Java 11 is out。有人知道如何从命令行安装它(来自 Oracle 的 OpenJDK)吗?

我希望看到类似 Oracle Java 10 之前的内容:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java10-installer

P。 S.在similar问题中提出指令:

sudo apt-get install openjdk-11-jdk

没用。

【问题讨论】:

当您尝试sudo apt-get install openjdk-11-jdk 时遇到什么错误? Here 是 Linux 的“官方”安装说明。有一个 RPM (yum),或者您可以从存档库手动安装。但显然没有 Debian apt-get(还)。问:那为什么不直接从 tar.gz 安装呢?另见update-alternatives @Mureinik "E: Unable to locate package openjdk-11-jdk" on Ubuntu 16.04 @Mureinik 目前这个包仍然安装 Java 10。它将在接下来的几天内更新,我假设提供 Java 11。 @Robert 下几天、下周、下个月... 【参考方案1】:

现在可以这样安装openjdk-11了:

sudo apt-get install openjdk-11-jdk

(之前它安装了openjdk-10,但现在没有了)

【讨论】:

这是 Oracle 构建还是来自采用 OpenJDK? 其实我认为它是Oracle OpenJDK 之一。我认为 Debian/Ubuntu 只需从 Oracle OpenJDK 版本下载 tarball,在顶部添加一些补丁并构建它们的包。 如果您不在任何 GUI 环境中使用 Java,您可能更喜欢安装 openjdk-11-jdk-headless。或者,如果您只想运行某些东西,而不是编译,openjdk-11-jre[-headless] 可能也适合您。 我必须先运行sudo add-apt-repository ppa:openjdk-r/ppa 才能添加存储库。 这里也一样。还 sudo apt-get update 更新存储库。然后sudo apt-get install openjdk-11-jdk 工作了。【参考方案2】:

要在 Ubuntu 中安装 Openjdk 11,以下命令运行良好。

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt install openjdk-11-jdk

【讨论】:

在 Pi 第一个命令给我:aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/stretch 为我工作openjdk-11-jdk-headless【参考方案3】:

对于在 Ubuntu 上运行 JDK 并想要升级到 JDK11 的任何人,我建议通过 sdkman 安装。 SDKMAN是一个JVM切换、移除和升级的工具。

SDKMAN 是一种用于在大多数基于 Unix 的系统上管理多个软件开发工具包的并行版本的工具。它提供了方便的命令行界面 (CLI) 和 API,用于安装、切换、删除和列出候选人。

安装 SDKMAN

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version

安装 Java (11.0.3-zulu)

$ sdk install java

【讨论】:

哇,甚至类似于 Anaconda for Java?谁会想! 错误:“下载的 zip 存档损坏。您连接到互联网了吗?” @masterxilo 请您详细说明您遇到的错误,确保您需要互联网才能下载 SDKMAN 工具。我只尝试在 UNIX-Platform 上安装 SDKMAN 工具,您是在 Windows 平台上尝试吗? 是的! sdkman 让生活更轻松。超级简单的安装和配置,适用于 linux 服务器、linux docker 镜像或本地机器。免去使用包管理器的麻烦。【参考方案4】:
sudo apt-get install openjdk-11-jdk

之后,试试

java -version

要确保java版本是1.11.x,如果发现旧版本或不同,请检查下面的命令以查看可用的jdks,

update-java-alternatives --list

您应该会看到类似下面的内容,

java-1.11.0-openjdk-amd64      1111      /usr/lib/jvm/java-1.11.0-openjdk-amd64 

java-1.8.0-openjdk-amd64      1081      /usr/lib/jvm/java-1.8.0-openjdk-amd64

您可以从上面的列表中看到 java 1.11,使用下面的命令将 java 11 设置为默认值,

sudo update-alternatives --config java

对于上面的命令,你会得到类似下面的东西,并且会要求设置一个选项,

There are 3 choices for the alternative java (providing /usr/bin/java).
   Selection    Path   Priority   Status

 ------------------------------------------------------------   

 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  
 1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode

 *2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081    manual mode 

 3            /usr/lib/jvm/jdk1.8.0_211/bin/java  0         manual mode 

 Press <enter> to keep the current choice[*], or type selection number:

您可以选择所需的选择编号,我的情况是 0

对于javac,

sudo update-alternatives --config javac

会产生类似下面的结果,

 There are 3 choices for the alternative javac (providing /usr/bin/javac).

 Selection    Path                     Priority  Status

 ------------------------------------------------------------   

 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/javac   1111      auto mode   

 1           /usr/lib/jvm/java-11-openjdk-amd64/bin/javac   1111      manual mode

 *2            /usr/lib/jvm/java-8-openjdk-amd64/bin/javac    1081      manual mode   
 3            /usr/lib/jvm/jdk1.8.0_211/bin/javac        0         manual mode
 
 Press <enter> to keep the current choice[*], or type selection number:

在我的情况下,它又是 0

经过以上步骤,试试

java -version

它会显示如下内容,

openjdk version "11.0.4" 2019-07-16 

OpenJDK Runtime Environment (build
 11.0.4+11-post-Ubuntu-1ubuntu218.04.3) 

 OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed > mode, sharing)

【讨论】:

【参考方案5】:

在 Ubuntu 中,您可以通过以下命令简单地安装 Open JDK。

sudo apt-get update    
sudo apt-get install default-jdk

您可以通过以下命令查看java版本。

java -version

如果您想安装 Oracle JDK 8,请按照以下命令操作。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

如果你想切换java版本,你可以试试下面的方法。

vi ~/.bashrc 并添加以下行 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221(路径/jdk 文件夹)

sudo vi /etc/profile 并添加以下行

#JAVA_HOME=/usr/lib/jvm/jdk1.8.0_221
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export JRE_HOME
export PATH

您可以评论其他版本。这需要注销并重新登录才能使用。如果您想在旅途中尝试它,您可以在同一终端中键入以下命令。它只会更新特定终端的 java 版本。

source /etc/profile

你可以随时通过java -version命令查看java版本。

【讨论】:

【参考方案6】:

首先检查default-jdk 包,很可能它已经为您提供了OpenJDK &gt;= 11。 参考:https://packages.ubuntu.com/search?keywords=default-jdk&searchon=names&suite=all&section=all

Ubuntu 18.04 LTS +

所以从 Ubuntu 18.04 LTS 开始应该没问题。

sudo apt update -qq
sudo apt install -yq default-jdk

注意:不要忘记设置JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/default-java
mvn -version

Ubuntu 16.04 LTS

对于 Ubuntu 16.04 LTS,官方 repos 中仅提供 openjdk-8-jdk,因此您需要在 ppa 中找到它:

sudo add-apt-repository -y ppa:openjdk-r/ppa
sudo apt update -qq
sudo apt install -yq openjdk-11-jdk

注意:别忘了设置JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
mvn -version

【讨论】:

【参考方案7】:

我来这里是为了寻找答案,由于没有人为 oracle Java 11 输入命令,而只有 openjava 11 我想出了如何在 Ubuntu 上执行此操作,语法如下:

sudo add-apt-repository ppa:linuxuprising/java
sudo apt update
sudo apt install oracle-java11-installer

【讨论】:

Oracle JVM (Hotspot) 不再免费用于生产。所以我更喜欢 OpenJDK 构建。 可悲的是,我也绑定了这个,但它不起作用。它说 E: Unable to locate package oracle-java11-installer【参考方案8】:

我创建了一个 Bash 脚本,它基本上可以自动执行链接 similar question 中描述的手动安装。它需要tar.gz 文件及其 SHA256 总和值。您可以从我的GitHub project page 找到更多信息并下载脚本。它是在 MIT 许可下提供的。

【讨论】:

【参考方案9】:

刚刚将较旧的 Ubuntu 版本更新为 openJDK 11实际上我只需要 Jenkins 并且它似乎工作正常。

Ubuntu 12.04(精确): 从openjdk-lts (11.0.4+11-1~12.04) precise下载 文件:openjdk-11-jre-headless_11.0.4+11-1~12.04_amd64.deb openjdk-11-jre_11.0.4+11-1~12.04_amd64.deb

Ubuntu 14.04(可信): 从openjdk-lts (11.0.5+10-2ubuntu1~14.04) trusty下载 文件:openjdk-11-jre-headless_11.0.5+10-2ubuntu1_14.04_amd64.deb openjdk-11-jre_11.0.5+10-2ubuntu1_14.04_amd64.deb

安装 下载后,我使用 Ubuntu 软件中心安装了文件(首先是“无头”!) 然后我用sudo update-alternatives --config java选择了新版本

我不必更改任何环境变量(如 JAVA_HOME)——也许 Jenkins 并不关心它们……

【讨论】:

【参考方案10】:

如果你想使用官方的 oracle jdk。 然后从 oracle 网站下载 jdk 11 或最新版本:https://www.oracle.com/java/technologies/javase-downloads.html

然后使用此命令安装: sudo dpkg -i 你下载的文件

然后使用 /etc/profile 文件添加到您的 PATH。

在我的情况下,它只是使用 ubuntu 20.04 100% 工作

注意:官方 oracle jdk 仅供开发免费使用。

【讨论】:

以上是关于Ubuntu下可以安装Oracle吗的主要内容,如果未能解决你的问题,请参考以下文章

Windows下安装Oracle

oracle linux 4.8安装oracl 10g rac错误解决

oracle 10安装

oracl 11g R2(静默安装)

ubuntu下怎么安装oracle10g

Ubuntu下如何安装oracle? 如此错误提示啥意思?