Debian 8 下安装 oracle 11g(手动建库非ASM)

原文地址::https://blog.csdn.net/hkyw000/article/details/70159799

相关文章

1、在 Debian、Ubuntu 和 Kubuntu 上安装 Oracle 数据库 XE----https://www.oracle.com/technetwork/cn/topics/xe-on-kubuntu-087016-zhs.html

2、debian安装apache2+php5+oci8 连接远程oracle数据库----http://blog.chinaunix.net/uid-20951322-id-2410633.html

3、Debian安装oracle客户端和设置----http://blog.chinaunix.net/uid-20951322-id-2410631.html

4、在 debian 上使用 qt 访问 oracle 数据库----https://ouonline.net/connecting-to-oracle-with-qt-on-debian

5、Oracle即时基于ARM Debian的设备客户端(Oracle Instant Client for ARM based Debian device)----https://www.it1352.com/231433.html

oracle一直是不支持debian系统的。怎奈领导非要在debian上装,所以开始。

1.创建目录及用户:

/usr/sbin/groupadd -g 501 oinstall && /usr/sbin/groupadd -g 502 dba && /usr/sbin/groupadd -g  503 oper && /usr/sbin/useradd -g oinstall -G dba,oper -d /home/oracle/ -s /bin/bash oracle

mkdir -p /data/ora11g/product/11.2.0.4/db_1 && mkdir -p /home/oracle && chown -R oracle:oinstall /data/ora11g && chmod -R 775 /data/ora11g && chown -R oracle:oinstall /home/oracle
  • 1
  • 2
  • 3

2.安装依赖包

这里要配置好源 vi /etc/apt/sources.list
常用命令:

apt-cache pkgnames | grep  libXp | more
apt-cache searche xxxx
  • 1
  • 2

安装好依赖包:(尽量检查全,不然后面不知道会报什么奇怪的错误)

apt-get install gcc g++ glibc-* libaio*  libstdc++6 libstdc++-4.9-dev make binutils openjdk-7-jdk libc6 libc6-dev libstdc++6 libstdc++5 rpm gawk alien ksh  lesstif2 libmotif3 libaio1 linux-headers-*common elfutils libaio-dev sysstat unixodbc-bin unixodbc-dev pdksh
  • 1

3 . 修改配置文件
这里的机器配置是48核 120G内存,所以有些参数不要照抄 (top 按 1 看核数)

vi /etc/sysctl.conf
(至于这里的参数如何改,可以参考我的别的文章
http://blog.csdn.net/hkyw000/article/details/53486940)

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16515072
kernel.shmmax = 67645734912
kernel.shmmni = 4096
kernel.sem = 5010 641280 5010 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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

systcl -p 使之生效

vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
  • 1
  • 2
  • 3
  • 4

vi /etc/pam.d/login 最后加上:

session required pam_limits.so
  • 1

最后检查防火墙 iptables -F 清空所有规则。

4.解压文件

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
unzip p13390677_112040_Linux-x86-64_3of7.zip
  • 1
  • 2
  • 3

5.开始静默安装
里面这些rsp模板文件的参数 自己看着改吧,不多说了。

./runInstaller -silent -force  -ignoreSysPrereqs -ignorePrereq -responseFile /home/oracle/db_install.rsp
  • 1

6 . 完成之后开始dbca建库的时候报错,缺少两个库文件
njni11,libclntsh.so.11.1

UnsatisfiedLinkError exception loading native library: njni11 
Java.lang.UnsatisfiedLinkError: /data/ora11g/product/11.2.0/dbhome_1/lib/libnjni11.so: /data/ora11g/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: undefined symbol: nnfyboot
  • 1
  • 2

修改是把家目录下的inventory/Scripts/ext/lib/下的libclntsh.so.11.1 拷贝到$ORACLE_HOME/lib文件夹中去

7.之后dbca正常运行 但是开始报TNS无连接。后续安装监听后,sqlplus / as sysdba
登录也不行。lsnrctl命令无反应。 我这里采取了一个比较极端的方式,把别的机器的linux系统下正常运行的数据库机器上的 $ORACLE_HOME/bin 下的文件都 rsync到 这个debian机器上了。 之后就有反应了。。。其实很多奇怪诡异的地方,不好按正常思路解决。

8.这里贴两个标准的listener.ora 和tnsnames.ora 文件

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.19)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /data/ora11g
DIAG_ADR_ENABLED_LISTENER = OFF
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = test)
      (ORACLE_HOME = /data/ora11g/product/11.2.0.4/db_1)
      (SID_NAME = test)
    )
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /data/ora11g/product/11.2.0.4/db_1)
     (PROGRAM = extproc)
    )
  )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
TEST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.19)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = test)
    )
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

9 . 之后鉴于别的各种报错,决定手动建库
目录方面基本不用补了,因为开始都建的差不多了。
首先创建密码文件

orapwd file=orapwSID password=oracle entries=5
  • 1
  • 2

然后从好的机器上拷贝一份initXXX.ora文件,数据库以pfile启动到nomount状态

建库脚本:

create database test CONTROLFILE REUSE 
   MAXINSTANCES 8 
   MAXDATAFILES 3000
   MAXLOGHISTORY 1024
   MAXLOGFILES 64
   MAXLOGMEMBERS 4
   character set AL32UTF8 national character set AL16UTF16
   logfile 
   group 1 ('/data/ora11g/oradata/test/redo01.log') size 1g reuse,
   group 2 ('/data/ora11g/oradata/test/redo02.log') size 1g reuse,
   group 3 ('/data/ora11g/oradata/test/redo03.log') size 1g reuse,
   group 4 ('/data/ora11g/oradata/test/redo04.log') size 1g reuse,
   group 5 ('/data/ora11g/oradata/test/redo05.log') size 1g reuse,
   group 6 ('/data/ora11g/oradata/test/redo06.log') size 1g reuse,
   group 7 ('/data/ora11g/oradata/test/redo07.log') size 1g reuse,
   group 8 ('/data/ora11g/oradata/test/redo08.log') size 1g reuse,
   group 9 ('/data/ora11g/oradata/test/redo09.log') size 1g reuse
datafile '/data/ora11g/oradata/test/system01.dbf' size 1g reuse extent management local
sysaux datafile '/data/ora11g/oradata/test/sysaux01.dbf' size 20g
default temporary tablespace temp tempfile '/data/ora11g/oradata/test/temp01.dbf' size 5g reuse
undo tablespace undotbs1 datafile '/data/ora11g/oradata/test/undotbs01.dbf' size 30g reuse
USER SYS IDENTIFIED BY "ora11g" USER SYSTEM IDENTIFIED BY "ora11g";
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

建库完成后要跑一个脚本,主要用什么用户来跑

spool /home/oracle/record.log
@?/rdbms/admin/catalog.sql ;      (必跑,建数据字典视图)
@?/rdbms/admin/catproc.sql ;      (必跑,建存储过程包)
@?/rdbms/admin/catblock.sql ;     (建锁相关的几个视图)
@?/rdbms/admin/catoctk.sql ;      (建密码工具包dbms_crypto_toolkit)
@?/rdbms/admin/owminst.plb ;      (建工作空间管理相关对象,如dmbs_wm)
spool off
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

之后可以检查log 查看是否有不能接受的报错。

connect system/oracle
@?/sqlplus/admin/pupbld.sql
@?/sqlplus/admin/help/hlpbld.sql helpus.sql
connect /as sysdba
CREATE TABLESPACE USERS LOGGING DATAFILE '/data/ora11g/oradata/test/user01.dbf' SIZE 30g EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DEFAULT TABLESPACE USERS;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

最后重启数据库,到mount模式开启归档 ,结束。

猜你喜欢

转载自blog.csdn.net/xqhrs232/article/details/113657099