目录
一、 环境及相关软件
二、 安装虚拟机及Linux系统
1. 安装虚拟机
2. 安装操作系统CentOS
3.网络和防火墙的配置
3.1网络设置
3.2 防火墙设置:关闭防火墙
三、 Oracle安装
1. 硬件检测
2. 关闭SELinux
3. 修改hosts文件
4. 检查安装依赖系统包
5. 拷贝ORACLE软件
6. 创建操作系统组和用户
7. 修改OS内核参数
8. 修改用户限制文件
9. 创建安装目录和设置文件权限
10. 设置oracle环境变量
11. 安装oracle软件(用oracle用户登录)
12.oracle用户运行dbca安装实例
四、 简单操作
1. 日常操作
1.1 数据库开启及关闭
1.2 创建用户、赋权及表空间
内存的分配以实际电脑运行内存为准,我的电脑运行内存是8G,所以我分配3G给虚拟机操作系统
内存建议1G及以上(不建议少于512M):
可以把不必要的设备移除,比如声卡等
依次设置hostname&network,root password,software section(这个选选择desktop,不然后面会很麻烦)
以上都设置之后需要等几分钟,完成之后直接reboot,然后根据提示一直选择Next就可以了
时区选择上海
这里直接skip
以下这个用户最好不是oracle,我这里就以oracle
在/etc/sysconfig/network-scripts文件夹下的ifcfg-ens32中修改,配置完成后重启网络
以下操作了就可以连接到xshell
如果还是不行连接不上xshell就执行systemctl stop NetworkManager && systemctl disable NetworkManager试试看
[root@19c ~]# cat /etc/issue // (版本)
[root@19c ~]# uname -r // (版本)
[root@19c ~]# grep MemTotal /proc/meminfo //(内存大小)
[root@19c ~]# grep SwapTotal /proc/meminfo //(交换区大小)
[root@19c ~]# grep "model name" /proc/cpuinfo //(CPU信息)
[root@19c ~]# free //(可用内存)
备注:
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可(如果不想重启系统,使用命令setenforce 0)
[root@19c ~]# /usr/sbin/sestatus -v //检查SELinux status,参数为enabled即为开启状态
[root@19c ~]# vi /etc/selinux/config //关闭SELinux
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可(如果不想重启系统,使用命令setenforce 0)
[root@19c ~]# hostname
19c
[root@19c ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@19c ~]# vim /etc/hosts
[root@19c ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.244.2 19c
[root@19c ~]# vim /etc/sysconfig/network
[root@19c ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=19c
[root@19c ~]# yum install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel
备注:如果这里报错就检查一下网络配置,不行就按如下操作
1.连接上镜像文件,连接之后就会自动把文件放在/dev/sr0
2.然后我们创建一个目录挂载到/dev/sr0
3.然后创建public -yum-ol6.repo 这个文件名自定义
4.更新一下yum
5.这样配置完成之后我们就可以yun install一些包了,但是如果想让虚拟机每次重启都能自动使用yum 的话还需要最后一步操作
执行 df -T 查看/dev/sr0 的文件类型
然后编辑vi /etc/fstab
[root@19c ~]# rpm -q gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel | grep "not installed"
//备注:检查依赖包是否安装完全,如果安装包有显示is not installed(没安装)(如:package gcc is not installed)就用yum install 命令安装,如:[root@19c ~]# yum install gcc
[root@19c ~]# mkdir -p /u01/app/oracle/product/19.2.0/db_home1 //创建软件文件夹,19c要求安装文件包要放在这样的目录里面
[root@19c ~]# mkdir -p /u01/app/oracle/product/19.2.0/db_home1/
[root@19c ~]# cd /u01/app/oracle/product/19.2.0/db_home1/
[root@19c db_home1]# ll -ls
total 0
[root@19c db_home1]# pwd
/u01/app/oracle/product/19.2.0/db_home1
[root@19c db_home1]# yum -y install lrzsz //安装一个上传下载文件的包,然后就可以直接把oracle软件包拖动到这个目录下面了
提示:如果传输文件的时候出现乱码的情况:如下,可以 rz -b 再拖动oracle软件包
如果还是乱码的话就用本地ftp的方式,如下:192.168.244.7是我数据库的IP地址,然后直接进入到安装目录下进入sftp
[root@19c db_home1]# yum -y install unzip //安装一个解压缩的包,将文件解压到这个目录
Loaded plugins: refresh-packagekit, security
Setting up Install Process
Package unzip-6.0-1.el6.x86_64 already installed and latest version
Nothing to do
[root@19c db_home1]# unzip LINUX.X64_193000_db_home.zip//里面是解压后的所有oracle安装文件。
[oracle@19c db_home1]$ ll -ls
total 2987996
2987996 -rw-r--r-- 1 oracle oinstall 3059705302 Jul 23 09:25 LINUX.X64_193000_db_home.zip
备注:如果没有安装unzip,则执行命令yum install unzip
创建oracle用户以及oinstall组,oinstall为主要组,确保/home/oracle目录不存在
[root@19c 19c]# id oracle
id: oracle: no such user
[root@19c 19c]# groupadd oinstall
[root@19c 19c]# groupadd dba
[root@19c 19c]# useradd -g oinstall -G dba -d /home/oracle oracle
[root@19c 19c]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
备注: oinstall为主要组,确保/home/oracle目录不存在
[root@19c db_home1]# vi /etc/sysctl.conf //在文件最后增加
fs.aio-max-nr = 1048576 fs.file-max = 6553600 kernel.shmall = 2097152 kernel.shmmax = 1073741824 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
备注:在/etc/sysctl.conf 文件最后增加(根据文档要求kernel.shmmax设成物理内存的一半最合理)设置原则:kernel.shmmax 为 4GB-1byte或一半的物理内存, 哪个值更低用哪个。
[root@19c db_home1]# /sbin/sysctl -p //让参数生效
[root@19c 19c]# /sbin/sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
备注:如有以下报错,请参考下面解决方法
报错解决:
[root@19c db_home1]# modprobe bridge
[root@19c db_home1]# lsmod|grep bridge
[root@19c db_home1]# /sbin/sysctl -p
[root@19c db_home1]# vi /etc/security/limits.conf //在文件后增加 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 [root@19c db_home1]# vi /etc/pam.d/login //在文件后增加 session required pam_limits.so [root@19c db_home1]# vi /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 [root@19c db_home1]# source /etc/profile //使设置生效
[root@19c db_home1]# mkdir /u01/app/oracle/oradata //数据库数据安装目录 [root@19c db_home1]# mkdir /u01/app/oraInventory [root@19c db_home1]# mkdir /u01/app/oracle/oraInventory [root@19c db_home1]# mkdir /u01/app/oracle/fast_recovery_area [root@19c db_home1]# chown -R oracle:oinstall /u01/app/oracle [root@19c db_home1]# chown -R oracle:oinstall /u01/app/oraInventory [root@19c db_home1]# chown -R oracle:oinstall /u01/app/oracle/oraInventory [root@19c db_home1]# chmod -R 775 /u01/app/oracle [root@19c db_home1]# chmod -R 775 /u01/app/oraInventory [root@19c db_home1]# chmod -R 775 /u01/app/oracle/oraInventory
[root@19c db_home1]# su - oracle //进入oracle用户
[oracle@19c ~]$ vi /home/oracle/.bash_profile //或 vi ~/.bash_profile在文件最后增加
ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/19.2.0/db_home1 ORACLE_SID=CDB PATH=$PATH:$ORACLE_HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
注:注意SID设置
[oracle@19c ~]$ source /home/oracle/.bash_profile //使设置生效
[oracle@19c ~]$ env //检查环境变量
cd 到 /u01/app/oracle/product/19.2.0/db_home1执行 .runInstaller
注:此处若无法调出图形界面则需进行相应设置
[root@19c ~]# xhost + //使用root用户
[root@19c ~]# su – oracle
[oracle@19c ~]$ export DISPLAY=192.168.244.2:0.0 //设置本机IP
最后提示需要执行两个脚本(用
root用户执行)
脚本执行完毕后,点击OK,即完成软件安装!
这里问我们要不要建立监听,我们创建一个监听,监听的名字默认是listener,和11g安装不同的是,11g要先运行netca配置监听才能运行dbca创建实例(两个都是oracle用户执行)
配置内存
配置默认数据块的大小
配置连接模式
勾选这个在数据库创建完成之后会自动创建一些模式对象,例如scott用户
问需不需要配置em图形界面,我们可以不配
设置用户密码,我们可以统一设置一样的密码
以下是配置的总的结果,如果没什么问题可以点finish完成安装
开启:
[root@oracle1 ~]# su – oracle
[oracle@oracle1 ~]$ lsnrctl start //启动监听
[oracle@oracle1 ~]$ sqlplus / as sysdba
SQL> startup; //启动数据库
SQL> exit;
关闭:
[root@oracle1 ~]# su – oracle
[oracle@oracle1 ~]$ lsnrctl stop //启动监听
[oracle@oracle1 ~]$ sqlplus / as sysdba
SQL> shutdown immediate; //启动数据库
SQL> exit;
[oracle@oracle1 ~]$ sqlplus / as sysdba
SQL> create user INPUT identified by INPUT;
SQL> grant dba to INPUT; //按需求赋权
SQL> create tablespace GTA_INPUT_DATA datafile '/u01/app/oracle/oradata/gtadb21/INPUT01.dbf' size 10M; //表空间大小及是否自动扩展可按需设置
SQL> alter user SYSDESIGN default tablespace GTA_SOFTSYS_DATA; //设置默认表空间