静默安装oracle11g_R1
补充rhel6.0命令行安装oracle数据库
1.安装linux6.0版本服务器
(用于安装数据库环境最低要求:磁盘10G的lv,内存1G,swap分区是内存的2倍)
2.调试网络、防火墙开放端口、SELINUX允许
3.配置本地主机名、域或远程主机名、域
4.配置yum,本地yum和网络源yum均可
5.开始安装数据库
一.安装数据库所需环境
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel compat-libstdc++
环境变量设置:
[root@159 ~]# env|grep -i oracle
ORACLE_SID=orcl
ORACLE_BASE=/oracle/oracle
PATH=/BOSSSOFT_BLOCKCHAIN_GENESIS/soft/node/bin:/usr/local/home/java/jdk1.8.0_11/bin:/usr/local/home/java/jdk1.8.0_11/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/home/apache-maven-3.5.2/bin:/root/bin:/root/bin:/oracle/oracle/11g/bin:/root/bin
LIB_PATH=/oracle/oracle/11g/lib
ORACLE_HOME=/oracle/oracle/11g
二.下载oracle的linux版本安装包(oracle.com官网下载)
三.创建组和用户
(下面这些组是习惯,官方文档中就是创建这些组,可以更改也可以不更改)
创建所需的用户组(在root帐号下操作):
groupadd oinstall;
groupadd dba;
groupadd oper;
useradd -g oinstall -G dba,oper oracle; #
passwd oracle; #为oracle帐号设置密码(安装的时候需要登录)
把oracle安装在 /oracle 目录下,所以需创建安装目录:
注:建议oracle安装在lvm分区中不要使用根分区,避免后续存储数据增幅过大,无法扩展。这就是常见的数据应用分离,及时应用服务出现问题也不影响数据,类似于mysql的主从。Oracle即使出现故障也可以通过日志文件归档文件进行恢复。
mkdir /oracle;
chown oracle:oinstall /oracle;
chmod 755 /oracle;
安装时还需要设置 Inventory 目录,用于存放日志等:
注:所创建的目录都是根据官方习惯所创
mkdir /oracle/oraInventory;
chown oracle:oinstall /oracle/oraInventory;
chmod 755 /oracle/orainventory;
四.修改环境变量,用于安装数据库时自动读
编辑文件 vi /home/oracle/.bash_profile,添加如下行:
ORACLE_BASE=/oracle; #安装目录
ORACLE_HOME=$ORACLE_BASE/11g; #oracle家目录
ORACLE_SID=orcl; #实例名
LIB_PATH=$ORACLE_HOME/lib;
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin;
export ORACLE_BASE ORACLE_HOME ORACLE_SID LIB_PATH PATH;
编辑文件 vi /etc/pam.d/login,添加如下行(11gR1有要求,R2没有要求):
session required pam_limits.so
注:目前大部分公司政府、银行、证券用的都是11gR1和10g,这个无需配置。
五.提高 Oracle 用户的 shell 限制
Oracle的资源限制针对后期使用sql语句文件时避免出现资源长时间占用、无响应等问题,安装时使用的资源很小可忽略。
编辑系统资源限制配置文件 vi /etc/security/limits.conf,在该文件下添加如下行:
注:如果粘贴进去有多余的空行不美观,可使用如下命令去除空行
#【sed -i '/^\s*$/d' limits.conf】
#for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
注:
noproc 是代表最大进程数
nofile 是代表最大文件打开数
soft 软控制,当前使用值超出值警告
hard 硬控制,超出值报错
soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
[root@loveoracle ~]# vim /etc/sysctl.conf 在文本最下面修改参数
#for oracle softe
#表示文件句柄的最大数量
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#设置最大内存共享段大小bytes
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#允许系统打开的端口范围
net.ipv4.ip_local_port_range = 9000 65500
#用于接收缓冲的内存默认值bytes
net.core.rmem_default = 262144
#用于接收缓冲的内存最大值bytes
net.core.rmem_max = 4194304
#用于发送缓冲的内存默认值bytes
net.core.wmem_default = 262144
#用于发送缓冲的内存最大值bytes
net.core.wmem_max = 1048576
注:可以直接复制粘贴到文件最下面
注: /sbin/sysctl -p 改完后生效
六.安装oracle
安装包相关:
Oracle 11g R2的安装包被压缩成两个文件:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip,将它们上传到安装机器上,并使用 unzip linux.x64_11gR2_database_1of2.zip; unzip linux.x64_11gR2_database_2of2.zip; 进行解压缩,将得到一个名称为 database 的目录。我把它放在 /oracle/database 中。
chmod -R 700 /oracle/database;
chown -R oracle:oinstall /oracle/database;
1.解压缩后进入到database
注:
#安装应答配置文件,修改配置后用于自动安装
db_install.rsp
#创建数据库应答,用于创建数据库存储
dbca.rsp
#建立监听、本地服务名等网络设置应答,就是监听、网络服务名
netca.rsp
2.修改配置文件db_install.rsp,静默安装数据库
[root@159response]# cat db_install.rsp|grep -v ^#|grep -v ^$|grep -v "=$"
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/oracle/11g
ORACLE_BASE=/oracle/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=ORCL
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=70240
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=oracle
oracle.install.db.config.starterdb.password.SYSTEM=oracle
oracle.install.db.config.starterdb.password.SYSMAN=oracle
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
按照如上配置即可
3.登录oracle用户,安装数据库
命令
./runInstaller -silent -force -responseFile /home/package/oracle/database/response/db_install.rsp
注:db_install.rsp这里写的是安装文件的绝对路径
安装日志目录oraInventory/logs
安装过程中会报出需要执行两个脚本文件
4.登录root用户执行脚本
/oracle/oraInventory/orainstRoot.sh
/oracle/oracle/11g/root.sh
5.登录oracle用户,配置数据库配置文件response/dbca.rsp
[root@159response]# cat dbca.rsp |grep -v ^#|grep -v ^$|grep -v "=$"
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl.us.oracle.com"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl.us.oracle.com"
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl.us.oracle.com"
INSTANCENAME = "orcl"
SYSDBAUSERNAME = "sys"
部分主要信息讲解:
6.登录oracle用户,安装监听
dbca -silent -responseFile /home/package/oracle/database/response/dbca.rsp
7.安装完成后检查oracle进程状态、启动监听、启动数据库
ps -ef|grep ora_ #大概20多个进程
查看监听状态 lsnrctl status
启动监听 lsnrctl start
停止监听 lsnrctl stop
启动数据库
[oracle@159~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 4 15:37:57 2019
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> startup
可看出数据库的版本是11.2.0.1.0
关闭数据库正式环境下用shutdown normal/immediate
非正式环境下,可直接shutdown可以kill也可以直接停监听进程
当不能关闭数据库时,可以用startup force来完成数据库的强制关闭,再执行正常启动数据库命令启动数据库.
8.oracle的简单查看和使用
连接数据库
sqlplus test/oracle@192.168.1.159:1521/ORCL
SQL>conn system/oracle@orcl
检查确认数据库实例是否启动。
select status from v$instance;
创建数据库用户,默认放入dba_users表
CREATE USER test IDENTIFIED BY test ; //创建用户test
alter user test account unlock; //解锁用户test
grant select on DEMO_INVOICE_CLOUD.FMB_INVOICE to test; //赋予test select对表的权限
GRANT connect, resource TO test; //连接访问的权限
将一个用户下面的所有表的权限授予另一个用户
1.查看出该用户下面使用的表
select * from dba_tables where owner='SCOTT' and status='VALID'
2.将该用户下面的表拼接成授权语句
select 'grant select,delete,update,insert '|| table_name||' to test ;' from dba_tables where owner='SCOTT' and status='VALID'
3.将步骤2中的输出结果用dba或者有授权权限的用户执行,当前用户如有授权权限则可以执行。
注意:如果需要将当前登录用户数据库中所有表授权给test用户可以使用下面语句进行拼接
select 'grant select,delete,update,insert '|| table_name||' to test ;' from user_tables where owner='SCOTT' and status='VALID'
傻瓜式安装,环境和本地变量配置一样,上面配置可以直接粘贴复制,如出现各种报错,请留言
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。