虚拟机ubuntu16.04安装Oracle11g数据库

    安装ubuntu桌面版。(建议硬盘最小20GB,这个只是确保安装能完成,装数据就别想了)。

设置用户名为ora_user


设置桥接网卡模式


gedit/etc/network/interfaces
autolo
ifacelo inet loopback
autoenp0s3
ifaceenp0s3 inet static
address192.168.1.随意
netmask255.255.0.0
gateway192.168.1.1
DNS192.168.1.1


gedit /etc/resolv.conf
nameserver 192.168.1.1
nameserver 114.114.114.114
这两个每个都可以。

确保可以ping通外网。


切换root

apt-get install automake autotools-dev binutils bzip2 elfutils expat gawk gcc gcc-multilib g++-multilib ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc zip default-jre

正常的内核参数不足以使oracle数据库正常运行,所以要修改这些参数。
编辑/etc/sysctl.conf,添加内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744     #linux分配的最大文件句柄数
kernel.shmall = 2097152     #系统共享内存页面的最大数目
kernel.shmmax = 536870912      #共享内存段的最大尺寸
kernel.sem = 250 32000 100 128     
kernel.shmmni = 4096     #系统共享内存段的最大数目
net.ipv4.ip_local_port_range = 9000 65500  #ip端口号,原本的1024~4999不够oracle
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

命令:sysctl -p

修改单个用户允许使用的进程和文件数目
编辑/etc/security/limits.conf
ora_user         soft    nproc           2047
ora_user         hard    nproc           16384
ora_user         soft    nofile          1024
ora_user         hard    nofile          65536
ora_user         soft    stack           10240

修改/etc/pam.d/login,下面这句话没有就添加,有就算了。
Session required/lib/security/pam_limits.so

切换普通用户
mkdir ~/tools
mkdir ~/tools/oracle11g

sudo groupadd oracle
sudo groupadd dba
usermod -G oracle ora_user
usermod -G dba ora_user
chown -R ora_user:oracle /home/ora_user/tools

su ora_user
gedit ~/.profile
#安装目录
export ORACLE_BASE=/home/ora_user/tools/oracle11g
#脚本目录
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/:$ORACLE_HOME/lib64;
source ~/.profile

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/


安装包:linux.x64_11gR2_database_1of2.zip,linux.x64_11gR2_database_2of2.zip
现在把压缩文件解压缩,得到database目录。
Cd database
chmod 777 runInstaller
./runInstaller
1、填不填无所谓


2、选择第二个,安装数据库。


3、选择第一个


4、这一步我选了两个,可能没啥用。不选中文也可以。


5、选择第一项,企业版



6、把oraclebase修改为上文中创建的目录。



7、直接next



8



9检查安装条件。点击右上角ignoreall全部忽略。软件包版本太高,oracle11g识别不了。



10、安装







启动oracle

lsnrctlstart

exportORACLE_SID=orcl

sqlplus

conn/ as sysdba

start

startup


安装时出现问题解决方法:
1、Error in invoking target ‘install’ of makefile ‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/home/dong/tools/oraInventory/logs/installActions2015-01-22_09-39-03AM.log’ for details.
   这个我查的结果是缺少glibc库,glibc在Ubuntu下是叫libc6,已经装好了,但是oracle不识别。


2Errorin invoking target ‘all_no_orcl’ of makefile‘/home/dong/tools/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk’.See‘/home/dong/tools/Inventory/logs/installActions2016-03-19_02-37-44PM.log’for details.

解决办法:

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

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’就能继续安装了。











使用时出现问解决方法:

1SQLplus启动,出现错误:netservice name is incorrectly specified

Sudogedit ~/.profile

添加:exportORACLE_SID=orcl

source~/.profile



2sqlpluslsnrctlemctl等命令不识别,

cp /home/ora_user/tools/oracle11g/product/11.2.0/dbhome_1/bin/lsnrctl /bin
cp /home/ora_user/tools/oracle11g/product/11.2.0/dbhome_1/bin/sqlplus /bin
cp /home/ora_user/tools/oracle11g/product/11.2.0/dbhome_1/bin/emctl /bin
cp /home/ora_user/tools/oracle11g/product/11.2.0/dbhome_1/bin/dbca /bin

3、startup报错:
ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/opt/oracle10g/product/10.2/db_1/dbs/initORA10G.ora
mv /tools/oracle11g/admin/mydb/pfile/init.ora.012009233838(数字随机) /tools/oracle11g/product/11.2/dbhome_1/dbs/initorcl.ora(orcl为我们数据库的实例名)




一些oracle语句:

alteruser xxx identified by password; 给用xxx改成密码password

grantcreate session to username; 赋予这个客户以创建会话的权限。





创建的普通用户没有自己的表空间,还得申请空间,赋予空间和权限才可以有自己的空间。

Createtablespace mydb datafile size 100m;

--创建表空间并分配其大小

createuser zhoushan_test identified by FCDP--
为用户分配表空间
defaulttablespace mydb


grant connect,dba,resource toFCDP--
给用户分配权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值