红联Linux门户
Linux帮助

Linux非图形界面安装Oracle数据库

发布时间:2015-09-23 19:15:44来源:linux网站作者:maohaiqing0304

注释:

一个未开图形界面的Linux OS,如何安装Oracle软件及数据库,如下是2大步骤

克隆软件
手动建库


一、克隆软件

1、基本配置

1.1)系统软件包安装

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc  libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

1.2)用户创建

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

1.3)文件配置

1.3.1) 环境变量

  vi ~oracle/.bash_profile

  export ORACLE_BASE=/data/app/oracle

  export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1

  export ORACLE_SID=test# 最多 8个字符 ; 操作系统和 oracle实例关联的纽带 ;ORACLE_HOME+ORACLE_SID==>hash==> 共享内存段

  export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin#  将安装后的 oracle 命令追加到执行搜索路径

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib#动态库的位置

  export nls_lang="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"  #客户端字符集设置

  # 加载配置 :oracle 用户注销重新登录 或 source .bash_profile

1.3.2) 主机

  echo "10.240.1.7 Database-backup" >>  /etc/hosts#避免报错startup noumount时报错ORA-00000: normal, successful completion

1.3.3) 软件目录

  mkdir -p /data/app/oracle/product/11.2.0.4/db_1

chown -R oracle:oinstall /data/app

  1.3.4) 资源限制

1.3.4,1) vim /etc/sysctl.conf  添加到文件底端

kernel.shmall = 2097152  

#Total amount of shared memory available(bytes or pages); 页的数量 ;2097152*4096/1024/1024/1024=8G; 如果内存大于 8G,必须修改此参数

kernel.shmmax = 2147483648

# 要>= 物理内存的一半 Maximum size of shared memory segment(bytes); 建议 >=sga_max_size(oracle申请内存大小 );

# 单个程序内存段最大多少 ;4G 的话分为两段 mem_seg1 mem_seg2,影响效率 ;

kernel.shmmni = 4096

#Maximum number of shared memory segments system-wide; 页的大小 ;

  kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI

  SEMMSL  Maximum number of semaphores per set; 每个信号对象集的最大信号对象数

  SEMMNS  Maximum number of semaphores system-wide; 系统范围内最大信号对象数 ;SEMMNS = SEMMSL*SEMMNI

  SEMOPM每个信号对象支持的最大操作数

  SEMMNI  Maximum number of semaphore identifiers; 系统范围内最大信号对象集数

  fs.file-max  #系统中所允许的文件句柄最大数目

  net.ipv4.ip_local_port_range  # 应用程序可使用的 IPv4 端口范围

  net.core.rmem_default  #套接字接收缓冲区大小的缺省值

  net.core.rmem_max  #套接字接收缓冲区大小的最大值

  net.core.wmem_default  #套接字发送缓冲区大小的缺省值

  net.core.wmem_max#套接字发送缓冲区大小的最大值

  #注释:OS32bit,oracle 最多申请 1.7G; 应该装64bitOS

  #加载参数 sysctl -p

1.3.4 ,2) /etc/security/limits.conf  oracle 在 linux 上操作的limit

[root@dba ~]# grep -v '^#' /etc/security/limits.conf

  oracle soft nproc 2047  #oracle 在 linux上打开 proc 数量

  oracle hard nproc 16384

  oracle soft nofile 1024  #oracle 在 linux上打开 file 的数量

  oracle hard nofile 65536

  [root@dba ~]# grep 'limit' /etc/pam.d/system-auth

  sessionrequired  pam_limits.so

1.3.4,3) 关闭防火墙、SELINUX

iptables -F

更改 /etc/selinux/config 文件 -->SELINUX=disabled

2、克隆 ORACLE_HOME

2.1)复制

scp  db_1 oracle@10.240.1.7:/data/app/oracle/product/11.2.0.4/db_1/

  2.2)执行clone.pl 克隆脚本更改参数配置(ORACLE_SID、ORACLE_HOME)

  $ cd /data/app/oracle/product/11.2.0.4/db_1/clone/bin

  $ ls
  clone.pl prepare_clone.pl
  $ perl clone.pl  ORACLE_SID= test ORACLE_BASE=/data/app/oracle ORACLE_HOME=/data/app/oracle/product/11.2.0.4/db_1/ ORACLE_HOME_NAME=OraDb11g_home1

.......最后提示如下信息表示,克隆成功...


The following configuration scripts need to be executed as the "root" user.

/data/app/oracle/product/11.2.0.4/db_1/root.sh

To execute the configuration scripts:

1. Open a terminal window

2. Log in as "root"

3. Run the scripts

  The cloning of OraDb11g_home1 was successful.
  ...................


二、手动建库

1、配置参数文件 (测试环境简单参数,若有需求,可补充 )

[oracle@Database-backup dbs]$ cat inittest.ora
db_name=test
db_files = 80
db_file_multiblock_read_count = 8
log_checkpoint_interval = 10000
processes = 50
parallel_max_servers = 5
log_buffer = 32768
max_dump_file_size = 10240# limit trace file size to 5 Meg each
global_names = TRUE
#control_files = (ora_control1, ora_control2)
sga_max_size=300M
sga_target=300M
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=10.240.1.7)(Port=1521)))'  #避免启动数据库时报错(ORA-00119  ORA-00130 local_listener配置无效)
[oracle@Database-backup dbs]$

2、启动数据库到nomount

SQL> startup nomount
  ORACLE instance started.

  Total System Global Area  313159680 bytes
  Fixed Size  2252824 bytes
  Variable Size104861672 bytes
  Database Buffers  201326592 bytes
  Redo Buffers  4718592 bytes
SQL>

3、创建数据库,到open状态
SQL>CREATE DATABASE test
  USER SYS IDENTIFIED BY change_on_install

  USER SYSTEM IDENTIFIED BY manager

  LOGFILE GROUP 1 ( '/data/app/dbf/redo01.log') SIZE 100M,

  GROUP 2 ('/data/app/dbf/redo02.log') SIZE 100 M,

  GROUP 3 ('/data/app/dbf/redo03.log') SIZE 100 M

  MAXLOGFILES 5

  MAXLOGMEMBERS 5

  MAXLOGHISTORY 1

  MAXDATAFILES 100

  MAXINSTANCES 1

  CHARACTER SET GBK

  NATIONAL CHARACTER SET AL16UTF16

  DATAFILE '/data/app/dbf/system01.dbf' SIZE 325M REUSE

  EXTENT MANAGEMENT LOCAL

  SYSAUX DATAFILE '/data/app/dbf/sysaux01.dbf' SIZE 325 M REUSE

  DEFAULT TABLESPACE users datafile '/data/app/dbf/users.dbf' size 50m

  DEFAULT TEMPORARY TABLESPACE tempts1

  TEMPFILE '/data/app/dbf/temp01.dbf'

  SIZE 20 M REUSE

  UNDO TABLESPACE undotbs

  DATAFILE '/data/app/dbf/undotbs01.dbf'

  SIZE 200 M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

Database created.

  SQL>

4、确认数据库状态

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL>

5、 将DBF 设置自动扩展,避免稍后执行脚本加载数据字典表/包/scott用户 时空间不足

  alter database datafile 1 autoextend on;
  alter database datafile 2 autoextend on;
  alter database datafile 3 autoextend on;
  alter database datafile 4 autoextend on;

6、创建数据字典/包/scott用户

  数据字典视图  : @?/rdbms/admin/catalog.sql

  系统包/存储过程 : @?/rdbms/admin/catproc.sql

  用户PROFILE表  : @?/rdbms/admin/pupbld.sql

  测试用户scott:@?/rdbms/admin/scott.sql


以上已完成安装oracle软件及数据库。


问题整理和完善

1、***** sqlplus / as sysdba 提示未找到libclntsh.so.11.1文件

  [oracle@Database-backup ~]$ sqlplus / as sysdba
  sqlplus: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory

  [oracle@Database-backup lib]$ ls libclntsh.so*
  libclntsh.so  libclntsh.so.10.1 -->只有10.1 cp -rp 连带属性完全复制一份,正常若有libclntsh.so.11.1文件可能是权限问题。
  [oracle@Database-backup lib]$ cp -rp  libclntsh.so.10.1 libclntsh.so.11.1
  [oracle@Database-backup lib]$ sqlplus / as sysdba

  ... 正常.

2、用于sys密码登录

  orapwd file=orapwtest password=test

 3、ORA-00904: "wm_concat":invalid identifier
执行创建WMSYS用户脚本
SQL>@?/rdbms/admin/owmctab.plb
SQL>@?/rdbms/admin/owmaggrs.plb
SQL>@?/rdbms/admin/owmaggrb.plb


fedora22安装oracle11gr2:http://www.linuxdiyf.com/linux/13991.html

ubuntu-15.04-desktop-amd64.iso:安装Oracle11gR2:http://www.linuxdiyf.com/linux/13116.html

64位Ubuntu安装Oracle 11G:http://www.linuxdiyf.com/linux/9955.html

Ubuntu 14.04 LTS 64位安装Oracle 11g:http://www.linuxdiyf.com/linux/9954.html

RHEL7.0安装Oracle 12C:http://www.linuxdiyf.com/linux/13100.html