一、 环境
1. CentOS Linux release 7.5.1804 (Core)
2. Python 2.7.5
3. libc 2.17
4. libstdc++.so.6.0.19
二、 下载
下载到系统/data/software/oracle/database路径下
三、 基础配置
1. 创建用户和用户组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
chown -R oracle:dba /home/oracle
chmod 700 /home/oracle/
2. 更改/data/software/oracle
1. chown -R oracle:oinstall /data/software/oracle/
2. chmod -R 775 /data/software/oracle/
3. 解压文件
oracle用户下:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
chown -R oracle:oinstall /data/software/oracle
chmod -R 775 /data/software/oracle
chmod -R 750 /data/software/oracle/database
4. 创建目录
oracle用户下:
1. mkdir /data/software/oracle/oracle11g
5. 配置环境
root用户下:
1、用dd命令创建一个16G的文件
dd if=/dev/zero of=/var/swapfile bs=1M count=1024
chmod 600 /var/swapfile
2、将它创建为Linux Swap虚拟交换文件
mkswap /var/swapfile
3、激活并使用/var/swapfile交换文件
swapon /var/swapfile
4、设置系统启动后自动激活虚拟交换文件。
vi /etc/fstab
/var/swapfile swap swap defaults 0 05. 修改需要先关闭swap swapoff -a
root用户下
-
修改
vi /etc/security/limits.conf
文件:# oracle配置 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
-
修改
vi /etc/pam.d/login
文件:# Oracle配置 session required /lib/security/pam_limits.so session required pam_limits.so
-
修改
vi /etc/sysctl.conf
文件:# Oracle配置 fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
立即生效:sysctl -p
-
修改
vi /etc/profile
文件:# Oracle配置 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi export ORACLE_BASE=/data/software/oracle/oracle11g export ORACLE_HOME=/data/software/oracle/oracle11g/product/11.2.0/natsudb export ORACLE_SID=natsu export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
立即生效:source /etc/profile
-
修改
vi /etc/sudoers
文件:将oracle用户加入到sudo组 # Oracle配置 root ALL=(ALL) ALL这一行下加入 oracle ALL=(ALL) ALL
-
修改
vi /etc/hosts
文件:# Oracle配置 114.215.136.213 iZ28g7uaof2Z
五、 安装过程
1. 静默安装配置
- db_install.rsp
oracle.install.responseFileVersion=/data/software/oracle/oracle11g/install/rspfmt_dbinstall_response_schema_v11_2_0
#安装类型
oracle.install.option=INSTALL_DB_SWONLY
#主机名称
ORACLE_HOSTNAME=iZ28g7uaof2Z
#安装组
UNIX_GROUP_NAME=oinstall
#INVENTORY目录
INVENTORY_LOCATION=/data/software/oracle/oraInventory
#选择语言
SELECTED_LANGUAGES=en,zh_CN,zh_TW
# Oracle_Home
ORACLE_HOME=/data/software/oracle/oracle11g/product/11.2.0/natsudb
# Oracle_Base
ORACLE_BASE=/data/software/oracle/oracle11g/app/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
# oper用户组
oracle.install.db.OPER_GROUP=oinstall
#
oracle.install.db.CLUSTER_NODES=
# 数据库类型
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# globalDBName 与SID一致 最长6位
oracle.install.db.config.starterdb.globalDBName=pubora
# SID
oracle.install.db.config.starterdb.SID=pubora
#
oracle.install.db.config.starterdb.characterSet=AL32UTF8
#
oracle.install.db.config.starterdb.memoryOption=true
# 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.memoryLimit=512
#
oracle.install.db.config.starterdb.installExampleSchemas=false
#
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 设定所有数据库用户使用同一个密码
oracle.install.db.config.starterdb.password.ALL=
# SYS账号密码
oracle.install.db.config.starterdb.password.SYS=SYS163com
# SYSTEM账号密码
oracle.install.db.config.starterdb.password.SYSTEM=SYSTEM163com
# SYSMAN账号密码
oracle.install.db.config.starterdb.password.SYSMAN=SYSMAN163com
# DBSNMP账号密码
oracle.install.db.config.starterdb.password.DBSNMP=DBSNMP163com
#
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=
#
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=false
#设置安全更新
DECLINE_SECURITY_UPDATES=true
#
PROXY_HOST=
#
PROXY_PORT=
#
PROXY_USER=
#
PROXY_PWD=
- dbca.rsp
[GENERAL]
#
RESPONSEFILE_VERSION = "11.2.0"
#
OPERATION_TYPE = "createDatabase"
#
[CREATEDATABASE]
#
GDBNAME = "pubora"
#
SID = "pubora"
#
TEMPLATENAME = "General_Purpose.dbc"
#
NATIONALCHARACTERSET= "AL32UTF8"
oracle用户下:
2. 安装编译
# 1. 检查
rpm -qa libaio
# 2. Cnetos8 libaio不能大于libaio-0.3.109
rpm -e libaio-0.3.112-1.el8.x86_64
# 3. 下载
wget http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
# 4. 安装
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
# 5. 检查安装
rpm -q binutils compat-libcap1 vsftpd gcc gcc-c++ glibc-devel glibc elfutils-libelf-devel compat-libcap1 libaio-devel ksh libgcc libstdc++ libstdc++-devel libaio-devel make sysstat unixODBC unixODBC-devel | grep "not installed"
# 6. oracle安装
./runInstaller -silent -responseFile /data/software/oracle/database/response/db_install.rsp -ignorePrereq
表示安装完成
以下问题时,root用户下执行:unset DISPLAY
以下问题时,root用户下执行:dnf install libnsl
3. 使用root用户执行脚本
# 1. 执行
/data/software/oracle/oraInventory/orainstRoot.sh
# 2. 执行
/data/software/oracle/oracle11g/product/11.2.0/natsudb/root.sh
# 3. 执行
chmod 760 /etc/oraInst.loc /etc/oratab
# 4. 执行
chown oracle:oinstall /etc/oraInst.loc /etc/oratab
4. 编译监听
# 1. 执行
export DISPLAY=114.215.136.213:0
# 2. 执行
netca -silent -responsefile /data/software/oracle/database/response/netca.rsp
5. 创建数据库
# 1. 执行
dbca -silent -responseFile /data/software/oracle/database/response/dbca.rsp
# 编辑etc/oratab
natsu:/data/software/oracle/oracle11g/product/11.2.0/natsudb:N =>
natsu:/data/software/oracle/oracle11g/product/11.2.0/natsudb:Y
6. 监听
# 1. 监听状态
lsnrctl status
lsnrctl start
lsnrctl stop
六、 常用命令
1. 监听:lsnrctl status|start|stop
2. 启动和停止 dbstart $ORACLE_HOME | dbshut $ORACLE_HOME
3. 登录:
- 登录数据库:sqlplus / as sysdba
- 显示服务名:show parameter service_names;
- 强制注册服务:alter system register;
- 查看实例:select instance_name from v$instance;
- 查看数据库:select name from v$database;
- 启动数据库:startup
- 关闭数据库:shutdown
七、 卸载
rm -rf /data/software/oracle/oracle11g/*
rm -rf /etc/oraInst.loc /etc/oratab
rm -rf /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
rm -rf /etc/oracle
rm -rf /etc/inittab.cssd
九、 编码
SQL>SHUTDOWN IMMEDIATE --关闭数据库
SQL>STARTUP MOUNT --启动到 Mount
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP;
SQL>select userenv('language') from dual; --查看服务端字符集
十、 使用
1. 创建表空间
-- 1. 查询oracle数据库表空间文件路径
select name from v$datafile;
-- 2. 创建表空间
-- 格式:
create tablespace 表空间名称 --创建表空间
datafile '根路径/表空间名称.dbf' --物理文件名
size 50M --大小
autoextend on --自动增长
next 50M maxsize 10240M --每次扩展50M,最大为10240M
extent management local;
-- 例子:
create tablespace natsu
logging datafile '/data/software/oracle/oracle11g/oradata/natsu/natsu.dbf'
size 100M
autoextend on
next 32M maxsize 10240M
extent management local;
-- 3. 查询oracle数据库临时表空间文件路径
select name from v$tempfile;
-- 4. 创建临时表空间
-- 格式:
create temporary tablespace 表空间名称 --创建表空间
tempfile 'shopping.dbf' --物理文件名
size 50M --大小
autoextend on --自动增长
next 50M maxsize 20480M --每次扩展50m,最大为20480m
extent management local;
-- 例子:
create temporary tablespace natsu_temp
tempfile '/data/software/oracle/oracle11g/oradata/natsu/natsu_temp.dbf'
size 50M
autoextend on
next 50M maxsize 20480M
extent management local;
-- 5. 创建用户
-- 格式:
create user 用户名 identified by "密码"
default tablespace 用户表空间
temporary tablespace 用户临时表空间;
-- 例子:
create user natsu identified by "natsu163com"
default tablespace natsu
temporary tablespace natsu_temp;
-- 6. 赋予用户权限
-- 用户登录数据库的权限
grant create session to natsu;
-- 用户操作表空间的权限
grant unlimited tablespace to natsu;
grant create tablespace to natsu;
grant alter tablespace to natsu;
grant drop tablespace to natsu;
grant manage tablespace to natsu;
-- 用户操作表的权限(包含有create index权限, alter table, drop table权限)
grant create any table to natsu;
-- 用户操作视图的权限(包含有alter view, drop view权限)
grant create any view to natsu;
-- 用户操作触发器的权限(包含有alter trigger, drop trigger权限)
grant create any trigger to natsu;
-- 用户操作存储过程的权限(包含有alter procedure, drop procedure 和function 以及 package权限)
grant create any procedure to natsu;
-- 用户操作序列的权限(包含有创建、修改、删除以及选择序列)
grant create any sequence to natsu;
-- 用户回退段权限:
grant create rollback segment to natsu;
grant alter rollback segment to natsu;
grant drop rollback segment to natsu;
-- 用户同义词权限(包含drop synonym权限)
grant create synonym to natsu;
grant create public synonym to natsu;
grant drop public synonym to natsu;
-- 授予用户关于用户的权限:
grant create user to natsu;
grant alter user to natsu;
grant become user to natsu;
grant drop user to natsu;
-- 授予用户关于角色的权限:
grant create role to natsu;
-- 授予用户操作概要文件的权限
grant create profile to natsu;
grant alter profile to natsu;
grant drop profile to natsu;
-- 允许从sys用户所拥有的数据字典表中进行选择
grant select any dictionary to natsu;