为了省事, 我们直接安装开发者工具:
yum -y groupinstall 'Development Tools'
创建 Oracle 所需的用户和用户组:
- groupadd oinstall
- groupadd dba
- groupadd oper
- useradd -g oinstall -G dba oracle
修改 Oracle 用户密码: Oracle Oracle
上传软件:
Root 用户修改上传文件的属主: chown -ROracle./
解压文件: unzip -q p10404530_112030_Linux-x86-64_1of7.zip
unzip -q p10404530_112030_Linux-x86-64_2of7.zip
安装依赖包: rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -ivh flash-plugin-11.2.202.291-release.x86_64.rpm
关闭防火墙并查看防火墙状态:
Service iptables status
修改内核参数:
vi /etc/sysctl.conf
添加
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 1073741824
- kernel.shmmni = 4096
- kernel.sem = 250 32000 100 128
- kernel.panic_on_oops = 1
- 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 = 1048586
使参数生效: sysctl -p
修改用户限制
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
上述值得含义是:
用户 类型 内容 (能起几个进程等) 值
为了上述内容在用户登录时生效, 还要添加一条:
vi /etc/pam.d/login
在末尾添加:
session required /lib64/security/pam_limits.so
创建 oracle 安装目录:
- mkdir -p /u01/app/oracle/product/11.2.0/db_1
- chown -R oracle:oinstall /u01
- chmod -R 755 /u01/app/oracle
- chown -R oracle:oinstall /home/oracle
设置环境变量
- su - oracle(骚年, 懂不懂要细心!!!)
- vi .bash_profile
注意一定也不要错:
删除上面的最后两行 PATH 和 export, 然后添加一下内容保存:
- export EDITOR=vi
- export ORACLE_BASE=/u01/app/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
- export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
- export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
- umask 022
生效环境变量:
source /home/oracle/.bash_profile
Sync 后重新启动机器: reboot
安装远程桌面软件: yum install xorg-x11-xauth,yum install -y xterm
配置 oracle 运行所需的 java 环境:
上传软件:
软件解压: tar -xf /usr/local/jdk-8u144linux(这是我的安装路径)
配置环境变量:(配置好后, 需重启机器)
- export JAVA_HOME=/usr/local/jdk1.8.0_144
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
启动 xstart
效果图:
安装小时钟:
yum install xorg-x11-apps
解决 xhost + 命令未找到
- yum whatprovides "*/xhost"
- yum -y install xorg-x11-server-utils-7.7-14.el6.x86_64
创建 oracle 所需的交换分区:
- dd if=/dev/zero of=/swap bs=1M count=4096
- mkswap /swap
- Swapon /swap
- root:xhost +
- Oracle:xclock
- cd database
- ./runInstaller
我们没花钱, 没有技术支持的, 勾掉 support password
点击下一步
点击 yes, 有时会出现下面界面, 不出现也正常
点击下一步
选择单实例
添加中英文
点击默认的企业版
上面是 $ORACLE_BASE 目录, 写 / u01/app/oracle
下面是 $ORACLE_HOME 目录, 写 / u01/app/oracle/product/11.2.0/db_1
可以 cd /u01/app/oracle/product/11.2.0/db_1 看目录存不存在
点击下一步
这个目录是用来装 gc 的, 点击下一步
分配组, 用上述的, 点击下一步
补包: yum -y install libai*
- yum install compat-libstdc++-33*
- yum install elfutils-libelf-devel
继续安装
点击完成
弹出脚本页面, 大约 5 分钟
此时开一个新的终端, 就用 root 用户执行
- /u01/app/oraInventory/orainstRoot.sh
- /u01/app/oracle/product/11.2.0/db_1/root.sh
第二个脚本敲回车就行
点击 ok
安装完毕
可以进行 dbca 建库或手工建库
手工建库:
- su - oracle(骚年, 细心, 细心, 细心)
- cd $ORACLE_BASE
或 cd /u01/app/oracle
mkdir oradata
注意权限
建错了 rm -rf 可以删文件夹重建
在 oradata 下建目录:
- cd oradata
- mkdir PROD
骚年注意权限! 权限! 权限! 和组
ls -l
如果不是 755 权限以及 oracle 以及 oinstall 组就要改
总结如下:
644 - rw- r-- r--
700 r 代表 4 w 代表 2 x 代表 1
755 d 代表目录, 从第二个开始算 三位一算
777 简单
2-4 参数: 属于 user
5-7 参数: 属于 group
8-10 参数: 属于 others
- chown -R oracle:oinstall /u01/app/oracle/oradata/PROD
- chmod -R 755 PROD
- cd PROD
- mkdir disk1 disk2 disk3 disk4 disk5 dump
mkdir p 是连父目录一起创建
ls -lt
注意调整创建的 PROD 的读写权限:
- chmod 755 disk1 disk2 disk3 disk4 disk5 dump
- cd $ORACLE_HOME/dbs
- vi initPROD.ora
内容
- memory_target=800m
- db_name=PROD
- control_files='/u01/app/oracle/oradata/PROD/disk1/control01.ctl',
- '/u01/app/oracle/oradata/PROD/disk2/control01.ctl',
- '/u01/app/oracle/oradata/PROD/disk3/control01.ctl'
- undo_management=auto
- undo_tablespace=undotbs
- diagnostic_dest=/u01/app/oracle/oradata/PROD/dump
要用这个文件启动一下
写到这, 已经可以启动实例了骚年开三个窗口 (ORACLE用户), 第一个窗口执行
- export ORACLE_SID=PROD
- sqlplus '/as sysdba'
- startup nomount;
- show parameter dump
到第三个窗口:
- cd /u01/app/oracle/oradata/PROD/dump/diag/rdbms/prod/PROD/trace
- tail -f alert_PROD.log
看日志输出
3 修改建库脚本, 并建库
- CREATE DATABASE PROD
- LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD/disk1/redo01.log',
- '/u01/app/oracle/oradata/PROD/disk2/redo01.log') SIZE 100M BLOCKSIZE 512,
- GROUP 2 ('/u01/app/oracle/oradata/PROD/disk1/redo02.log',
- '/u01/app/oracle/oradata/PROD/disk2/redo02.log') SIZE 100M BLOCKSIZE 512,
- GROUP 3 ('/u01/app/oracle/oradata/PROD/disk1/redo03.log',
- '/u01/app/oracle/oradata/PROD/disk2/redo03.log') SIZE 100M BLOCKSIZE 512
- CHARACTER SET zhs16gbk
- NATIONAL CHARACTER SET AL16UTF16
- EXTENT MANAGEMENT LOCAL
- DATAFILE '/u01/app/oracle/oradata/PROD/disk3/system01.dbf' SIZE 325M REUSE
- SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD/disk4/sysaux01.dbf' SIZE 325M REUSE
- DEFAULT TABLESPACE users
- DATAFILE '/u01/app/oracle/oradata/PROD/disk3/users01.dbf'
- SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
- DEFAULT TEMPORARY TABLESPACE tempts
- TEMPFILE '/u01/app/oracle/oradata/PROD/disk4/temp01.dbf'
- SIZE 20M REUSE
- UNDO TABLESPACE undotbs
- DATAFILE '/u01/app/oracle/oradata/PROD/disk5/undotbs01.dbf'
- SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
将语句放入处于 nomount 状态的语句框中
4 跑脚本
Sql 下跑 (第一个窗口建库成功后跑)
@?/rdbms/admin/catalog.sql 1 分钟
@?/rdbms/admin/catproc.sql 5 分钟 这个脚本的输出太多了
@?/sqlplus/admin/pupbld.sql 不到一分钟
注意最后一个最好以 conn system/manager 运行, 再切回来
- conn /as sysdba
- select instance_name,status from v$instance;
可以配置密码文件
alter user sys identified by oracle;
cd $ORACLE_HOME/dbs 不要写错, 童鞋, 否则无效
orapwd file=orapwPROD password=oracle entries=3 force=y
可以测试一下:
sqlplus sys/oracle as sysdba
可以增加参数
在 initPROD.ora 中添加这些参数有好处
- local_listener='lsnr2'
- undo_retention=5400
- sessions=300
- job_queue_processes=15
- shared_server_sessions=200
- DISPATCHERS = '(PROTOCOL=TCP)(DISPATCHERS=3)'
- max_dispatchers=10
- shared_servers=10
- max_shared_servers=30
- recyclebin=on
- processes=150
想创建 scott 用户
@?/rdbms/admin/utlsampl
来源: http://www.92to.com/bangong/2018/03-26/33483734.html