目录css
1.安装环境node
2.系统要求linux
2.检查所需软件包sql
3.配置host和主机名shell
1.建立相关用户和组bash
2.建立数据库软件目录和数据文件存放目录session
Linux版本:
[oracle@yscsbfdb ~]$ uname -a
Linux yscsbfdb 4.1.12-61.1.28.el6uek.x86_64 #2 SMP Thu Feb 23 20:03:53 PST 2017 x86_64 x86_64 x86_64 GNU/Linux
[oracle@yscsbfdb ~]$ cat /proc/version
Linux version 4.1.12-61.1.28.el6uek.x86_64 (mockbuild@x86-ol6-builder-06) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #2 SMP Thu Feb 23 20:03:53 PST 2017
[oracle@yscsbfdb ~]$ cat /etc/issue
Oracle Linux Server release 6.9
Kernel \r on an \m
[oracle@yscsbfdb ~]$ lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: OracleServer
Description: Oracle Linux Server release 6.9
Release: 6.9
Codename: n/a
Oracle版本:Oracle 11.2.0.4.0
[root@yscsbfdb ~]# free -h
total used free shared buffers cached Mem: 251G 32G 219G 17G 337M 29G -/+ buffers/cache: 2.2G 249G Swap: 16G 0B 16G |
[root@yscsbfdb ~]# df -h
Filesystem Size Used Avail Use% Mounted on /dev/mapper/hbsw-hbsw 34G 24G 8.6G 73% / tmpfs 126G 18G 109G 15% /dev/shm /dev/sda1 477M 84M 364M 19% /boot /dev/mapper/hbsw-tmp 16G 50M 15G 1% /tmp /dev/mapper/hbsw-u01 197G 8.2G 179G 5% /u01 /dev/mapper/hbsw-goldengate 477G 70M 452G 1% /goldengate |
(这一步骤也能够放到后面安装oracle中安装环境检查的步骤中去作,以便更准确的肯定缺乏的软件包)
检查以下rpm包并安装:
[root@yscsbfdb ~]#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
输入下边的东西
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
sysstat \
unixODBC \
unixODBC-devel
系统会显示哪些包安装了,哪些没有安装。若是有的包没有安装,必须安装。
#rpm -ivh package-name-major-version*
[root@yscsbfdb ~]#vi /etc/hosts
127.0.0.1 yscsbfdb ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.100 yscsbfdb |
[root@yscsbfdb ~]#vi /etc/sysconfig/network
NETWORKING=yes HOSTNAME=yscsbfdb |
/usr/sbin/groupadd -g 501 oinstall /usr/sbin/groupadd -g 502 dba /usr/sbin/groupadd -g 504 asmadmin /usr/sbin/groupadd -g 506 asmdba /usr/sbin/groupadd -g 507 asmoper /usr/sbin/groupadd -g 508 oper /usr/sbin/useradd -g oinstall -G dba,asmdba,asmoper oracle /usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper grid |
mkdir -p /oracle/app/oraInventory mkdir -p /u01/app/oracle mkdir /u01/app/oracle/cfgtoollogs chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory mkdir -p /u01/11.2.0/grid chown -R grid:oinstall /u01/11.2.0/grid chmod -R 775 /u01/11.2.0 mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/dbhome_1 chmod -R 775 /u01/app/oracle/product/11.2.0/dbhome_1 |
[oracle@yscsbfdb ~]$ pwd
/home/oracle
[oracle@yscsbfdb ~]$ vi .bash_profile
export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=yscsbfjx export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 umask 022 |
[oracle@localhost ~]$ source .bash_profile --使环境变量生效
[grid@yscsbfdb ~]$ pwd
/home/grid
[grid@yscsbfdb ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/11.2.0/grid export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export TMP=/tmp export TMPDIR=$TMP export ORACLE_SID=+ASM export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib umask 022 |
[grid@localhost ~]$ source .bash_profile --使环境变量生效
修改/etc/security/limits.conf文件,Oracle 要求的用户进程数必须大于2047(默认是1047)
[root@yscsbfdb ~]# vi /etc/security/limits.conf
grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
[root@yscsbfdb ~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so |
[root@yscsbfdb ~]# vi /etc/sysctl.conf (这里若是设置的不合适,在安装oracle的时候,最后检测会有脚本修复)
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736 # Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 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 |
要使 /etc/sysctl.conf 更改当即生效,执行如下命令。 输入:sysctl -p
[root@yscsbfdb ~]# vi /etc/profile (Root用户操做。注意在 = 号两边有空格,若是没有可能出错)
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
[root@yscsbfdb grid]# rpm -qa | grep asm
这三个包得装上,安装过程不赘述。
oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64 libatasmart-0.17-4.el6_2.x86_64 objectweb-asm-3.2-2.1.el6.noarch oracleasmlib-2.0.4-1.el6.x86_64 kdeplasma-addons-libs-4.3.4-5.el6.x86_64 oracleasm-support-2.1.8-1.el6.x86_64 kdeplasma-addons-4.3.4-5.el6.x86_64 |
在配置asm以前,必须运行配置脚本准备驱动程序。
[root@yscsbfdb grid]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: grid Default group to own the driver interface []: asmadmin Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ] |
[root@yscsbfdb grid]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ] |
在配置asm硬盘前,先使用fdisk /dev/sd?命令格式化硬盘(本次使用了sdc、sdd、sde、sdf)
[root@yscsbfdb dev]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xecfd8d30. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-200512, default 1): 1 Last cylinder, +cylinders or +size{K,M,G} (1-200512, default 200512): 200512 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
建立asm硬盘
/usr/sbin/oracleasm createdisk DATA01 /dev/sdc1 /usr/sbin/oracleasm createdisk DATA02 /dev/sdd1 /usr/sbin/oracleasm createdisk DATA03 /dev/sde1 /usr/sbin/oracleasm createdisk RECAREA01 /dev/sdf1 |
检查ASM磁盘是否建立
[root@yscsbfdb dev]# ls -l /dev/oracleasm/disks/
total 0 brw-rw----. 1 grid asmadmin 8, 33 Oct 23 15:17 DATA01 brw-rw----. 1 grid asmadmin 8, 49 Oct 23 15:17 DATA02 brw-rw----. 1 grid asmadmin 8, 65 Oct 23 15:17 DATA03 brw-rw----. 1 grid asmadmin 8, 81 Oct 23 15:17 RECAREA01 |
修改磁盘权限
chown grid:asmadmin /dev/sdc1 chown grid:asmadmin /dev/sdd1 chown grid:asmadmin /dev/sde1 chown grid:asmadmin /dev/sdf1 |
使用命令扫描、列出
/usr/sbin/oracleasm scandisks /usr/sbin/oracleasm listdisks |
Grid安装须要使用图形界面,本次使用xmanager软件,设DISPLAY环境变量,使图形界面远程传输到本地。
[grid@yscsbfdb grid]$ export DISPLAY=192.168.1.99(本地ip):0.0
使用grid用户解压grid安装包,造成grid目录,进入grid目录,执行./runInstaller,进行安装
[grid@yscsbfdb grid]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 15114 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16999 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-10-23_03-27-03PM. Please wait ...[grid@yscsbfdb grid]$
1>不更新
2>只安装asm,不安装grid
3>选择语言
4>此处没有带出asm能识别的磁盘,是由于目录不对,点击Change Discovery Path,输入/dev/oracleasm/disk/*便可找到已经分配的asm磁盘。
5>下边就没图了。从网上拿来的图
6>设置密码
7>用户组
8>检查环境是否经过
[grid@yscsbfdb grid]$ asmca
点击Create,便可添加新的磁盘组,按照上边配置asm磁盘的方式,增长asm磁盘,这里就可以选到,创建新组。
oracle安装须要使用图形界面,本次使用xmanager软件,设DISPLAY环境变量,使图形界面远程传输到本地。
[grid@yscsbfdb grid]$ export DISPLAY=192.168.1.99:0.0
使用oracle用户解压grid安装包,造成oracle目录,进入database目录,执行./runInstaller,进行安装
[oracle@yscsbfdb grid]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 15114 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16999 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-10-23_04-05-23PM. Please wait ...[oracle@yscsbfdb database]$
1> 不勾选
2> 不更新
3> 只安装软件,一下子使用dbca命令建实例
4> 单节点数据库
5> 选择语言
6> 选择企业版
7> 选择目录,这都是以前设置好的
8> 组
9> 系统在检查
这里的图是我已经装完后的,正常来讲这里会显示没有经过的项。若是有rpm包没有,咱们能够使用rpm -ivh xxx.rpm --nodeps -- force (其中加上--nodeps -- force 表明强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的状况下用的)若是此处有参数没有设置正确,oracle会给出修复脚本,使用root用户执行,会自动设置2.2.6中的/etc/sysctl.conf文件
安装完成后,系统会提示须要用root权限执行2个shell脚本。执行便可
使用oracle用户,执行命令dbca,建实例。
不安装OEM
输入统一密码(也能够分别设置其密码)
数据库存放位置,这里使用ASM管理
这里能够设置redo和control
开启闪回和归档
不安装示例数据
内存分配,选择oracle本身管理
选择Character Sets选项卡,设置数据库字符集,AL32UTF8
点击next,会显示刚才对数据库选的配置项,点击OK,会弹出建立数据库的界面
通过漫长的等待,当看到此界面,说明oracle建库完成(别人的图)
最后这个能够改密码或者不改。
[grid@ogg1 ~]$ crsctl check css
[grid@ogg1 ~]$ ps -ef|grep cssd
[grid@ogg1 ~]$ crsctl check has
[grid@ogg1 ~]$ ps -ef|grep d.bin
发现HAS服务启动了,而ora.cssd和ora.diskmon这2个服务是依赖于HAS维护的.
[grid@ogg1 ~]$ crs_stat -t
[grid@ogg1 ~]$ crsctl status resource -t
[grid@ogg1 ~]$ crs_stat -p ora.cssd
。。。。。
AUTO_START=never
。。。。。
[grid@ogg1 ~]$ crs_stat -p ora.diskmon
。。。。。。
AUTO_START=never
。。。。。。
能够看到这两个资源的AUTO_START属性默认都设置为never,
也就是说他们不会随着HAS服务的启动而自动启动的,尽管默认状况下HAS服务是开机自动启动的.
[grid@ogg1 ~]$ crsctl start resource ora.cssd
注:ora.cssd和ora.diskmon这两个服务是有依赖关系的,启动哪一个都会把两个都起来.
1)默认状况下HAS(High Availability Service)是自动启动的.
经过以下命令能够取消和启用自动启动
取消自启动:crsctl disable has
启用自启动:crsctl enable has
2)HAS手动启动和中止
crsctl start has
crsctl stop has
3)查看HAS的状态
crsctl check has
4)若是想让ora.css和ora.diskmon服务随着HAS的启动而自动启动,能够这两个服务的AUTO_START属性
crsctl modify resource "ora.cssd" -attr "AUTO_START=1"
or
crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"
5)若是想取消ora.css和ora.diskmon的Auto start
crsctl modify resource "ora.cssd" -attr "AUTO_START=never"
crsctl modify resource "ora.diskmon" -attr "AUTO_START=never"
二 启动ASM实例
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> startup
SQL> col instance_name for a15
SQL> col status for a15
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
--------------- ---------------
+ASM STARTED
三 启动数据库
[oracle@ogg1 ~]$ sqlplus / as sysdba
SQL> startup
SQL> col instance_name for a15
SQL> col status for a15
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
--------------- ---------------
prod1 OPEN
一 关闭应该先关闭数据库,在关闭ASM
若是顺序反了会报错
例如:
[root@ogg1 ~]# su - grid
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> shutdown immediate
ORA-15097: cannot SHUTDOWN ASM instance with connected client (process 7322)
正确的顺序是:
一 关闭数据库
[oracle@ogg1 ~]$ sqlplus / as sysdba
SQL> shutdown immediate
二 关闭ASM
[root@ogg1 ~]# su - grid
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown