虚拟机CentOS7中无图形界面安装Oracle11G R2版本
参考:https://www.cnblogs.com/yejingcn/p/10278473.html
① 系统要求以及准备
1、安装路径Oracle home需要有足够空间,否则安装不成功(Choose a location for Oracle home that has enough space (minimum of 4,397MB) or free up space on the existing volume.)
df -h
2、关闭firewalld防火墙
systemctl status firewalld.service #查看firewalld防火墙状态systemctl stop firewalld.service #关闭firewalld防火墙systemctl disable firewalld.service #禁止开机使用firewalld防火墙
3、修改CentOS系统标识 (由于Oracle默认不支持CentOS)
修改文件: /etc/redhat-release
将文件内容替换为:
redhat-7
4、修改内核参数
修改文件: /etc/sysctl.conf
添加以下内容:
fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmmni = 4096kernel.sem = 250 32000 100 128kernel.shmall = 2097152kernel.shmmax = 2147483648net.ipv4.ip_local_port_range = 9000 65500net.ipv4.icmp_echo_ignore_broadcasts = 1net.ipv4.conf.all.rp_filter = 1net.core.rmem_default = 262144net.core.rmem_max= 4194304net.core.wmem_default= 262144net.core.wmem_max= 1048576
修改完后,启用新的配置:
sysctl -p
5、安装必须的软件包
yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz
6、创建用户以及组
groupadd oinstall #创建安装oracle程序用户组 groupadd dba #创建DBA用户组useradd -g dba -m oracle #创建用户oracle 并加入到dba组usermod -a -G oinstall oracle #将用户oracle加入到oinstall组passwd oracle #修改用户oracle的密码
id oracle #查看用户oracle的信息
7、创建安装目录
# mkdir -p /data/oracle #创建oracle主目录# mkdir -p /data/inventory #创建oralce配置目录# mkdir -p /data/src #创建oracle压缩包解压目录# chown -R oracle:oinstall /data/oracle #修改目录权限# chown -R oracle:oinstall /data/inventory # chown -R oracle:oinstall /data/src# ll /data #查看目录权限
8、修改oracle用户的安全性能设置
修改文件: /etc/security/limits.conf
在文件最后一行前,追加以下内容:
#@student - maxlogins 4oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536# End of file
9、修改用户环境变量
修改文件: /home/oracle/.bashrc
追加以下内容:
export PATHexport ORACLE_BASE=/data/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export ORACLE_SID=orclexport ORACLE_UNQNAME=orclexport PATH=$ORACLE_HOME/bin:/usr/sbin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport LANG=Cexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8
修改完后立即启用:
source /home/oracle/.bashrc
10、解压缩zip包到/data/src
unzip linux.x64_11gR2_database_1of2.zip -d /data/src/unzip linux.x64_11gR2_database_2of2.zip -d /data/src/chown -R oracle:oinstall /data/src/ll /data/src/
11、关闭selinux
修改文件: /etc/selinux/config
保存后需要重启机器
# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=disabled # ********修改此行******# SELINUXTYPE= can take one of three two values:# targeted - Targeted processes are protected,# minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection.SELINUXTYPE=targeted
reboot
② 安装Oracle
1、编辑数据库安装文件 /data/src/database/response/db_install.rsp
其他默认的数据不要更改,只修改以下内容:
oracle.install.option=INSTALL_DB_SWONLY # 安装类型ORACLE_HOSTNAME=oracle.server # 主机名称UNIX_GROUP_NAME=oinstall # 安装组INVENTORY_LOCATION=/data/inventory # INVENTORY目录SELECTED_LANGUAGES=en,zh_CN # 选择语言ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_homeORACLE_BASE=/data/oracle # oracle_baseoracle.install.db.InstallEdition=EE # oracle版本oracle.install.db.DBA_GROUP=dba # dba用户组oracle.install.db.OPER_GROUP=oinstall # oper用户组oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型oracle.install.db.config.starterdb.globalDBName=orcl # globalDBNameoracle.install.db.config.starterdb.SID=orcl # SIDoracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默认数据库编码oracle.install.db.config.starterdb.memoryLimit=800 # 自动管理内存的最小内存(M)oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码DECLINE_SECURITY_UPDATES=true # 设置安全更新
安装oracle
$ /data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq
等待安装.......
当出现如下画面时候,请照做:
至此。Oracle数据库安装完成。
2、配置Oracle监听程序
编辑监听配置文件 /data/src/database/response/netca.rsp
修改以下参数(个人感觉没什么用,默认的只有安装类型不同)
INSTALL_TYPE=""custom"" # 安装的类型LISTENER_NUMBER=1 # 监听器数量LISTENER_NAMES={"LISTENER"} # 监听器的名称列表LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表LISTENER_START=""LISTENER"" # 监听器启动的名称
执行命令:
$ /data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp
查看监听程序是否运行:(这里有个小问题,具体忘记了)
$ netstat -tnulp | grep 1521
关于监听的开机和关闭
开启监听:/data/oracle/product/11.2.0/db_1/bin/lsnrctl start关闭监听:/data/oracle/product/11.2.0/db_1/bin/lsnrctl stop
3、添加数据库实例
编辑数据库实例文件 /data/src/database/response/dbca.rsp
修改以下参数
RESPONSEFILE_VERSION ="11.2.0" // 不要变哦OPERATION_TYPE ="createDatabase" // 操作为创建实例 GDBNAME ="orcl" // 数据库实例名SID ="orcl" // 实例名字TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件SYSPASSWORD = "oracle" // SYS管理员密码SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码SYSMANPASSWORD= "oracle"DBSNMPPASSWORD= "oracle"DATAFILEDESTINATION =/data/oracle/oradata // 数据文件存放目录RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢复数据存放目录CHARACTERSET ="AL32UTF8" // 字符集NATIONALCHARACTERSET= "AL16UTF16" // 字符集TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%。
执行命令:
$ /data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
查看实例是否运行
$ ps -ef | grep ora_ | grep -v grep
修改启动和关闭实例的程序
修改文件: /data/oracle/product/11.2.0/db_1/bin/dbstart
/data/oracle/product/11.2.0/db_1/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
修改文件: /etc/oratab
将orcl:/data/oracle/product/11.2.0:N修改为orcl:/data/oracle/product/11.2.0:Y
启动或者关闭实例
启动实例:/data/oracle/product/11.2.0/db_1/bin/dbstart关闭实例:/data/oracle/product/11.2.0/db_1/bin/dbshut
③ 收尾工作
1.开机启动Oracle
Root用户模式下:
# chmod +x /etc/rc.d/rc.local修改文件 /etc/rc.d/rc.local在文件最后追加以下内容:su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"
分割线------------------------------------------------------------------------
①Linux中连接数据库:
1、切换到Oracle下
su - oracle
2、以管理员身份连接数据库
sqlplus system/root as sysdba;
3、查询密码期限
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
②若要用dbvisualizer工具连接scott用户数据库时,报错:登录ORACLE时提示ORA-28000: the account is locked:
1、先需要以管理员身份解锁:
alter user sgyw account unlock;
解决:出现invalid username/password; logon denied错误
2、更改口令
conn scott/tiger;
3、再用工具连接scott账号。