共计 7659 个字符,预计需要花费 20 分钟才能阅读完成。
这篇文章主要介绍了 Linux 非图形界面如何安装 oracle 数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
注释:
一个未开图形界面的 Linux OS,如何安装 oracle 软件及数据库,如下是 2 大步骤
1、克隆软件
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
echo 123456 | passwd –stdin 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 =250 32000 100 128
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
session required pam_limits.so
1.3.4,3) 关闭防火墙、SELINUX
iptables -F
更改 /etc/selinux/config 文件 — SELINUX=disabled
2、克隆 ORACLE_HOME
2.1)将远程 ORACLE_HOME 完全复制到本地
#进入到本地 ORACLE_HOME 路径
su – oracle
cd /data/app/oracle/product/11.2.0.4/
#将远程 ORACLE_HOME 完全复制到本地
scp -pr oracle@10.240.1.8:/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 ~]$ cd $ORACLE_HOME/dbs
[oracle@Database-backup dbs]$ pwd
/data/app/oracle/product/11.2.0.4/db_1/dbs
[oracle@Database-backup dbs]$
[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
# 进入数据库
[oracle@Database-backup dbs]$sqlplus / as sysdba
# 开启数据库到 nomount 状态
SQL startup nomount
ORACLE instance started.
Total System Global Area 313159680 bytes
Fixed Size 2252824 bytes
Variable Size 104861672 bytes
Database Buffers 201326592 bytes
Redo Buffers 4718592 bytes
SQL
3、创建数据库,到 open 状态 — 前提:mkdir -p /data/app/dbf/;chown -R oracle:oinstall /data/app/dbf/
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 ZHS16GBK
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 表 : @?/sqlplus/admin/pupbld.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 ~]$cd $ORACLE_HOME/lib/
[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
4、创建数据库时报错
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file ?/rdbms/admin/dtxnspc.bsq near line 5
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace UNDOTBS02 does not exist or of wrong type
Process ID: 35451
Session ID: 2661 Serial number: 1
原因:参数文件和创建数据库脚本的默认 undo 空间不一致。
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Linux 非图形界面如何安装 oracle 数据库”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!