0.下载oracle11
在官网下载oracle11,下载地址如下:
oracle11:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
1, 安装jdk
# mkdir /usr/lib/jvm
# tar zxvf jdk-8u5-linux-i586.gz -C /usr/lib/jvm/
配置jdk使其生效
# nano /etc/profile
在文件最末尾添加如下所示内容,ctrl+x,y退出即可完成保存,用其他编辑器类似。
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH={JAVA_HOME}/bin:$PATH
3
更新默认jdk
# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_211/bin/java 300
# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_211/bin/javac 300
# update-alternatives --config java
系统会列出系统中所有的jdk版本,选择最新安装的那个版本输入2即可
2, 配置软件源(清华源) 软件源选错 大概率白忙一场
注意ubuntu版本对应的软件源 nano /etc/apt/source.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiver$
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe mu$
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiv$
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe $
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multive$
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe m$
3, 配置swap (物理内存相同即可)
# dd if=/dev/zero of=/swapfile bs=1G count=8
# chown root:root /swapfile
# chmod 0600 /swapfile
# ls -lh /swapfile
# mkswap /swapfile
# swapon /swapfile
Update /etc/fstab file
You need to make sure the swap file enabled when server comes on line after the reboot. Edit /etc/fstab file, enter:# vi /etc/fstab
Append the following line:
/swapfile none swap sw 0 0
Save and close the file.
4,更新内核参数
nano /etc/sysctl.conf
#### Oracle 11g Kernel Parameters ####
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 818227
kernel.shmmax = 4189323264
kernel.shmmni = 4096
kernel.panic_on_oops = 1
# semaphores: semmsl, semmns, semopm, semmni
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=1048576
nano /etc/security/limits.conf
#### oracle User Settings 4 Oracle 11g ####
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
/sbin/sysctl -p
echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe'
> /etc/apt/sources.list.d/extra-trusty.list
apt update
sudo apt install lsb-cxx pdksh
wget http://launchpadlibrarian.net/207968936/libmotif4_2.3.4-8ubuntu1_amd64.deb
dpkg -i libmotif4_2.3.4-8ubuntu1_amd64.deb
apt-get -f install
sudo rm /etc/apt/sources.list.d/extra-trusty.list
apt update
apt-get install alien autoconf automake autotools-dev binutils doxygen
elfutils expat gawk gcc gcc-multilib g++-multilib libstdc++6:i386 ksh less libtiff5
libtiff5-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386
libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 libstdc++5 make
openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev x11-utils libpth-dev
zlibc libglapi-mesa:i386 libglu1-mesa:i386 libqt4-opengl:i386
libpthread-workqueue0 libpthread-workqueue-dev libzthread-2.3-2 libzthread-dev
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
cd /lib64
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .
5, 配置vncserver
sudo apt-get install xorg lxde-core tightvncserver
6 Creating users and groups
groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle
7, 创建oracle以及相关文件夹
mkdir -p /u01/app/oracle/product/11.2.0/
chown -R oracle:oinstall /u01
chmod -R 775 /u01
cd /home/[myUser]/Downloads
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
chown -R oracle:oinstall database
mv database /tmp
su oracle
nano ~/.bashrc
Insert:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=[HOSTNAME]; export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=[DBSID]; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
In this Example Respectively:
HOSTNAME = 127.0.0.1
DBSID = SID
Load New .bashrc Settings:
bash 或 source ~/.bashrc
8 Install oracle
cd /tmp/database
chmod -R +x /tmp/database
./runInstaller
-
-
Ins_ctx.mk 错误解决方法:
nano fix2.sh # Fix ctx/lib/ins_ctx.mk ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 cat << __EOF__ > /tmp/memcpy_wrap.c #include <stddef.h> #include <string.h> asm (".symver wrap_memcpy, memcpy@GLIBC_2.14"); void *wrap_memcpy(void *dest, const void *src, size_t n) { return memcpy(dest, src, n); } __EOF__ if [ -e "${ORACLE_HOME}/ctx/lib/ins_ctx.mk" ]; then sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ${ORACLE_HOME}/ctx/lib/ins_ctx.mk gcc -c /tmp/memcpy_wrap.c -o ${ORACLE_HOME}/ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c fi chmod +x fix2.sh sh fix2.sh 点击 retry
Ins_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 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
-
9 oracle ORA-12505 修改nano listener.ora
#/u01/app/oracle/product/11.2.0/dbhome_1
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
10 ORA-01034和ORA-27101解决方法
sqlplus /nolog
conn / as sysdba
startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。
过几秒钟等命令运行完成,就能连接了。这个时候,可以输入"select * fromuser_tables;"测试一下,看是否有查询结果
11 外网连不上oracle的问题
listener.ora tnsnames.ora
里面的监听地址(127.0.0.1)改成 0.0.0.0
lsnrctl stop
lsnrctl start