内存:1G(官方最低要求1G)
硬盘:40G(企业版安装所需4.29G和1.7G数据文件)
1、安装环境介绍
系统:CentOS 7.5 64位
Oracle版本:Oracle 11gR2
2、下载Oracle安装文件
官网下载地址
小编下载地址
Oracle
vm+xsheel+xftp 含注册码
centOs文件
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
uname - m # 检查
cat /etc/redhat-release
4、修改主机名
sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
hostname oracledb
5、添加主机名与IP对应记录
yum -y install vim # 安装vim,如已安装请忽略
vim /etc/hosts # 编辑 hosts
6、关闭Selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
7、创建用户和组
创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba oracle #(主组oinstall,其它组:dba)
passwd oracle #(P)
8、修改内核参数
vim /etc/sysctl.conf # 编辑 sysctl.conf,末尾处添加下面的参数
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
保存并退出
sysctl -p # 使配置生效
vim /etc/security/limits.conf # 编辑 limits.conf,末尾处添加下面的参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vim /etc/pam.d/login
找到这一行:session required pam_namespace.so ,在其下一行添加一条pam_limits.so
session required pam_limits.so
11、创建安装目录并分配权限
mkdir -p /opt/app/oracle/
chmod 755 /opt/app/oracle/
chown oracle.oinstall -R /opt/app/oracle/
12.设置Oracle环境变量
建议用ssh工具,开两个窗口,分别登录root用户和oracle用户,避免来回切换用户
su - oracle # 切换到 oracle 用户
vim ~/.bash_profile # 编辑
注释掉最后两行,在末尾添加如下参数`
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
source ~/.bash_profile # 使配置立即生效
env | grep ORA # 查看环境变量是否完成
切换到 root 用户,使用yum -y install 进行安装
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
1、检查是否全部已经安装,没安装的单独进行安装
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
2、安装Oracle
yum -y install unzip # 安装unzip,如已安装请忽略
将下载的Oracle压缩包放入/opt目录下(使用 FTP 工具或者直接在 CentOS 进行下载,下载地址开头有讲),在/opt目录下进行解压
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解压后进入 database 目录,该目录下有三个 .rsp 文件,用来作为静默安装时的应答文件的模板。三个文件作用分别是:
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答
cd /opt/database/response # 进入 response 目录
cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错
然后修改静默安装的配置文件
进入 Oracle 用户
vim db_install.rsp # 编辑
按照下方的参数进行修改,需要修改的地方标红了
少了两个配置 会导致安装失败 报错 The File Location location was empty 加上下面两个配置
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/data/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/data/oracle/fast_recovery_area
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracledb
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/opt/app/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=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
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.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true //一定要设为 true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
保存并退出
less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$" # 查看配置
如果出现下图错误,可参照 https://www.cnblogs.com/a9999/p/6957280.html 解决,然后重新执行安装命令
[WARING]可暂时忽略,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
安装需要一会儿,如果想看安装进度,可以再打开一个窗口,输出会话日志
tail -f 日志文件(下图中红色框中为日志文件绝对路径)
当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本
sh /opt/app/oracle/oraInventory/orainstRoot.sh
sh /opt/app/oracle/product/11.2.0/db_1/root.sh
四、配置监听程序
监听命令
启动监听:lsnrctl start
停止监听:lsnrctl stop
重启监听:lsnrctl reload
查看监听:lsnrctl status
1、配置监听(使用oracle用户)
su - oracle # 切换到 oracle 用户
$ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp # 配置监听
2、查看监听(使用oracle用户)
snrctl status # 查看舰艇状态
3、静默dbca建库
su - root # 切换到 root 用户
vim /opt/database/response/dbca.rsp
修改如下内容:
复制代码
GDBNAME = “orcl” # 78 行
SID=“orcl” # 149行
CHARACTERSET=“AL32UTF8” # 415行
NATIONALCHARACTERSET=“UTF8” # 425行
复制代码
保存并退出
静默dbca建库
su - oracle # 切换到 oracle 用户
$ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建库
执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码,回车,再输入一次,再回车。
稍等一会,会开始自动创建
4、启动数据库
复制代码
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015
Copyright © 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> start
SP2-1506: START, @ or @@ command has no arguments
SQL> startup
ORACLE instance started.
Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes
Database mounted.
Database opened.
SQL>
复制代码
使用 show parameter;或者 select table_name from dba_tables 看看是否正常
5、配置开机自动启动监听、启动Oracle
su - root # 切换到 root 用户
vim /etc/oratab # 编辑
其中:
*:/home/oracle/oracle92:N
这一行中 * 改为数据库的SID orcl, 第三段的N改为Y
改后如下:
orcl:/home/oracle/oracle92:Y 务必是大写的Y
保存并退出
vim /etc/rc.local # 编辑
在文件末尾增加如下内容
su - oracle -c ‘dbstart’
su - oracle -c ‘lsnrctl start’
保存并退出
chmod +x /etc/rc.local # 配置文件权限
其实开机自动以 oracle 用户执行上面两个命令啦
6、开放1521端口(远程连接Oracle所需)
查看端口是否开放:firewall-cmd --query-port=1521/tcp
永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp
重启防火墙: systemctl restart firewalld.service
查看防火墙状态
systemctl status firewalld.service
备注:启动 | 关闭 | 重启 防火墙
systemctl [start | stop | restart] firewalld.service
如果数据库报如下:
sqlplus / as sysdba报错ORA-01017: invalid username/password; logon denie
则需修改密码 并且登录就可以正常使用了
[oracle@vm-100-11-17-55 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Sun Feb 11 14:04:03 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> conn /as sysdba;
Connected.
2.连接成功后,输入“select username from dba_users”查看用户列表
SQL> select username from dba_users;USERNAME ------------------------------
LIUXIANZHAO
SNPRE
SNUAT
MAMMONUAT
BAITIAOUAT
ACCOUNTUAT
INSURANCEUAT
LOANUAT
GFSMBUAT
COMPANYUAT
FUNDUAT
11 rows selected.
3.若修改某一个用户密码, 修改用户口令 格式为:
alter user 用户名 identified by 新密码;(以companyuat为例,密码修改为 companyuat)
SQL> alter user companyuat identified by companyuat;
User altered.
4.若用户被锁定,解锁用户的锁定状态
SQL> ALTER USER companyuat ACCOUNT UNLOCK;
User altered.
常用命令:查看Oracle数据库中的所有用户名
查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system
select * from dba_users;
查看你能管理的所有用户!
select * from all_users;
查看当前用户信息 !
select * from user_users;
查询你 当前用户下,有哪些表
SELECT * FROM user_tables
查询你 当前用户下, 可以访问哪些表 [也就是访问自己 和 其他用户的]
SELECT * FROM all_tables
查询当前数据库所有的表, 需要你有 DBA 的权限 SELECT * FROM dba_tables