Oracle 配置及安装
- 安装 AnolisOS-7.9
- 选择 GUI的服务器
1 基础环境配置
1 .桌面环境安装(可选)
yum groupinstall "GNOME Desktop" "Graphical Administration Tools" #安装图形化
systemctl set-default graphical #设置图形模式为默认模式启动
reboot #重启
#设置启动级别
2 .关闭防火墙
#生产环境 开放相应端口即可
systemctl stop firewalld
systemctl disable firewalld
- 其他防火墙操作
systemctl enable firewalld # 设置开机启动
systemctl status firewalld #查看状态
firewalld --list-all # 查看开放端口及服务
firewalld --add-port=65535/tcp、65535/udp --permanent #添加开放端口 默认zone 都是 public
firewalld --add-server=ssh --permanent #添加放行服务
vim /usr/lib/firewalld/servers/XXX.xml #修改默认的服务名 及端口
firewalld --reload # 重读防火墙策略使其生效
3 关闭 SELINUX
vim /etc/selinux/config #修改SELINUX的值为disabled
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
reboot # 重启生效
2 安装依赖环境
- 龙蜥自带java环境 卸载掉
yum remove java-* -y #卸载原机自带 java
1. 安装OpenJDK
wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
## 离线 上传java包到服务器
tar -xavf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
mv java-se-8u41-ri/ java
cp -r java/ /usr/bin/
vim /etc/profile
JAVA_HOME=/usr/bin/java/
export PATH=$PATH:$JAVA_HOME/bin/
#或者
sed -i '$aJAVA_HOME=/usr/bin/java/\nexport PATH=$PATH:$JAVA_HOME/bin/' /etc/profile
source /etc/profile
java -version
javac
2. 安装编译环境及依赖
------------------
# wget ftp://ftp.icm.edu.pl/vol/rzm3/linux-redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm #下载pdksh rpm包
#如wget no found common yum install wget
# rpm -ivh pdksh-5.2.14-1.i386.rpm #手动安装
#安装编译等环境
yum -y install binutils-* gcc-* gcc-c++-* glibc-* glibc-devel-* glibc-headers-* libstdc* elfutils-libelf-devel* libaio-devel* unixODBC-* libaio-* libgcc-* libXi-* libXtst-* make-* sysstat-* libc.so.6* ksh pcre-devel
- 离线安装 配置本地YUM源
#离线安装 上传 龙蜥镜像到服务器 本地回环挂载
mkdir /mnt/iso #创建挂载点目录
mount -o loop /root/AnolisOS-7.9-GA-x86_64-dvd.iso /mnt/iso/ #本地回环挂载
vim /etc/yum.repos.d
[centosplus]
name=Anolis-base
baseurl=file:///mnt/iso
gpgcheck=0
enabled=1
3. oracle 配置
1.创建oracle 用户/组
#创建user 切换到root用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle #创建oracle用户 属组 为oinstall 附属组为 dba
echo "password" | passwd --stdin oracle #给oracle设置密码
2 .修改oracle 用户限制
vim /etc/security/limits.conf #添加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.启动加载pam_limits.so文件
vim /etc/pam.d/login
session required pam_limits.so
4.修改profile 文件
vim /etc/profile #添加如下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
5.调整内核参数
vim /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
sysctl -p #重读生效
#输出如下
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
6. 创建数据库目录
mkdir -p /opt/oracle/product #创建oracle安装目录
mkdir -p /opt/oracle/oradata #创建oracle数据文件存放目录
mkdir -p /opt/oracle/oraInventory #创建oracle数据库清单目录
chown -R oracle:oinstall /opt/oracle #设置oracle用户为目录的所
chmod -R 777 /opt/oracle/ #修改权限
mkdir -p /opt/oracle/product /opt/oracle/oradata /opt/oracle/oraInventory
chown -R oracle:oinstall /opt/oracle
ls -ld /opt/oracle/ #验证
drwxrwxrwx 5 oracle oinstall 56 Jun 30 02:39 /opt/oracle/
7.配置oracle用户的环境变量
su - oracle
vim /home/oracle/.bash_profile #添加文件上方
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db-home_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LANG=en_US.UTF8
source /home/oracle/.bash_profile #重读
8.配置主机名监听
vim /etc/hosts
192.168.1.232 oracle #本机ip
systemctl restart network.service #重启网络
4. 安装 Oracle
1. 上传Oracle安装包解压
ls
linux.x64_11gR2_database_2of2.zip
linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
2. 安装
cd database/
./runInstaller
#安装界面若出现乱码
export LANG=en-US
#执行./runInstaller报错256颜色不通过问题
export DISPLAY=192.168.1.232:0.0 #本机ip
- 未显示安装界面
xhost + #root下执行 关闭访问控制,允许任何主机访问本地的X服务器;
3. 步骤

去除默认勾选
不设置邮箱
选择创建和配置数据库
安装 server class
single instance
高级安装
添加 中文语言环境
选择企业版
配置之前创建的路径
选择 字符集为 UTF-8
设置数据库账号密码
一些依赖版本不对 选择忽略全部
报错1
Error in invoking target “install” of makefile= ‘/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
Error in invoking target ‘agent nmhs’ of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.
解决方法:在makefile中添加链接libnnz11库的参数
vim $ORACLE_PATH/sysman/lib/ins_emagentmk # $ORACLE_PATH 为Oracle设置安装路径
cd /opt/oracle/product/11.2.0/db_home_1/sysman/lib/
vim ins_emagent.mk
// 找到 MK_EMAGENT_NMECTL 后面添加 -lnnz11
$(MK_EMAGENT_NMECTL) -lnnz11
5 安装完成
1.执行两个脚本
#root 执行脚本
cd $ORACLE_HOME /oraInventory/ # $ORACLE_HOME 为Oracle设置安装路径
cd /opt/oracle/oraInventory
./orainstRoot.sh
cd /opt/oracle/product/11.2.0/db-home_1
./root.sh
- 切换到oracle用户
- 执行 sqlplus 提示 command not found
#创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
ln -s /opt/oracle/product/11.2.0/db-home_1/bin/sqlplus /usr/bin/
6.数据库操作
1. 切换到oracle 用户
su - oracle
2. 登录到Oracle
sqlplus / as sysdba
3. 查询当前表空间路径
select name from v$datafile;
/opt/oracle/oradata/orcl/system01.dbf
/opt/oracle/oradata/orcl/sysaux01.dbf
/opt/oracle/oradata/orcl/undotbs01.dbf
/opt/oracle/oradata/orcl/users01.dbf
- 如报如下错误

只需要开启一下数据库
SQL> startup
ORACLE instance started.
Total System Global Area 6680915968 bytes
Fixed Size 2213936 bytes
Variable Size 3556771792 bytes
Database Buffers 3087007744 bytes
Redo Buffers 34922496 bytes
Database mounted.
Database opened.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/orcl/system01.dbf
/opt/oracle/oradata/orcl/sysaux01.dbf
/opt/oracle/oradata/orcl/undotbs01.dbf
/opt/oracle/oradata/orcl/users01.dbf
4. 创建表空间
create tablespace TS-NAME datafile '/opt/oracle/oradata/orcl/test.dbf' size 2000M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited)
# datafile '/opt/oracle‐11.2/oradata/test.dbf'
# size 2000M --大小初始值
# autoextend on --自动扩展
# next 40M --每次扩展50m
5. 创建用户并指定表空间
create user Username identified by UserPass default tablespace TS-NAME;
# default tablespace:默认表空间
# temporary tablespace:临时表空间
# 将用户分配指定表空间:
alter user USERNAME default tablesapce SPName;
# 修改密码命令
alter user USERNAME identified by New_PASSWORD;
#删除用户
drop user user_name cascade;
#查看当前用户表空间
select default_tablespace from dba_users where username='TEST';
#查询所有表空间
select username,default_tablespace from user_users;
6. 分配权限
grant create session,create table,create view,create sequence,create trigger,create procedure,unlimited tablespace to USER_NAME;
# create session 连接数据库
# create view 创建视图
#角色系统权限[直接赋值给用户或角色的系统权限]
select * from dba_sys_privs;
select * from user_sys_privs;
# 查看整个oracle系统的权限角色列表
select * from dba_role_privs;
# 查看当前登录用户自己的权限、角色列表
select * from user_role_privs;
7. DBA权限
#查看DBA权限的用户
select * from dba_role_privs where granted_role='DBA'
#赋予DBA权限
grant dba to USER_NAME;
#解除DBA权限
revoke dba from USER_NAME;