centos7静默安装oracle11g及简单操作
centos7静默安装oracle11g
一. centos7安装oracle
1.查看Swap分区空间(不能小于2G)
grep SwapTotal /proc/meminfo
2.修改CentOS系统标识 (由于Oracle默认不支持CentOS)
vim /etc/redhat-release
2.1.删除CentOS Linux release 7.9.2009 (Core)(快捷键dd),改成redhat-7
redhat-7
3.修改sysctl.conf
vi /etc/sysctl.conf
添加以下内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
4.修改完后,启用新的配置
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 vim
6.创建安装oracle程序用户组
groupadd oinstall
7.创建DBA用户组
groupadd dba
8.创建用户oracle 并加入到dba组
useradd -g dba -m oracle
9.将用户oracle加入到oinstall组
usermod -a -G oinstall oracle
10.修改用户oracle的密码
passwd oracle
11.查看用户oracle的信息
id oracle
12.创建oracle主目录
mkdir -p /data/oracle
13.创建oralce配置目录
mkdir -p /data/inventory
14.创建oracle压缩包解压目录
mkdir -p /data/src
15.查看目录权限
ll /data
16.配置用户属性
vim /etc/security/limits.conf
添加内容如下:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
17.修改用户环境变量
vim /home/oracle/.bash_profile
添加内容如下:
export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orc1
export ORACLE_UNQNAME=orc1
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lb:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
18.激活/home/oracle/.bashrc
source /home/oracle/.bashrc
19.将linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip拖到xftp的/root下
20.unzip两个zip安装包并授权
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/
21.修改目录权限
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/inventory
chown -R oracle:oinstall /data/src
22.关闭selinux
vim /etc/selinux/config
22.1.修改SELINUX=disabled
disabled
23.重启机器
reboot
24.进入Oracle用户
su - oracle
25.编辑数据库安装文件
vim /data/src/database/response/db_install.rsp
- 按esc,输入/+参数名(例如oracle.install.option),根据以下值修改(要细心,一个也不能错!!!)
注意:按esc,输入/+参数名搜索不到可能是空格问题!参数输入时也要注意空格!!!
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_home
ORACLE_BASE=/data/oracle # oracle_base
oracle.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 # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.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 # 设置安全更新
26.安装oracle
/data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq
漫长的等待…,安装完成之后先别回车
27.双击复制窗口
按照提示在另一个窗口输入命令如下:
/data/inventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
执行完后,再回到之前窗口按下回车!!!!!!
28.编辑监听配置文件
vim /data/src/database/response/netca.rsp
- 按esc,输入/+参数名(例如INSTALL_TYPE),根据以下值修改(要细心,一个也不能错!!!)
INSTALL_TYPE=""custom"" # 安装的类型
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
29.执行以下命令
/data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp
30.编辑数据库实例文件
vim /data/src/database/response/dbca.rsp
- 按esc,输入/+参数名(例如RESPONSEFILE_VERSION),根据以下值修改(要细心,一个也不能错!!!)
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%
31.执行以下命令
/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
32.查看实例是否运行
ps -ef | grep ora_ | grep -v grep
33.修改启动和关闭实例的程序
vim /data/oracle/product/11.2.0/db_1/bin/dbstart
- 将
ORACLE_HOME_LISTNER=$1
修改为ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
vim /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
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
34.修改/etc/oratab
vim /etc/oratab
将orcl:/data/oracle/product/11.2.0:N
修改为orcl:/data/oracle/product/11.2.0:Y
注意:## 如果没有这个文件 在root用户重新执行
/data/oracle/product/11.2.0/db_1/root.sh
再次执行 如果有这个文件这两步不需要执行
/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
35.启动实例
/data/oracle/product/11.2.0/db_1/bin/dbstart
36.开机启动Oracle(以下命令都是在root用户下!!!也就是第27步双击打开的窗口)
chmod +x /etc/rc.d/rc.local
vim /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"
37.oracle用户窗口输入以下命令,进入oracle数据库
sqlplus / as sysdba
38.最后使用连接工具连接
二、可能存在问题
2.1 解决SQLPlus乱码
1.安装rlwrap
[root@Oracle ~]# yum install -y rlwrap
2.在用户shell文件中添加别名
[oracle@Oracle ~]$ vi .bash_profile
# 在最后添加一行配置
alias sqlplus='rlwrap sqlplus'
2.2 错误
报错
SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/data/oracle/product/11.2.0/db_1/dbs/initorc1.ora'
解决办法
[oracle@Oracle ~]$ cp /data/oracle/admin/orcl/pfile/init.ora.9192024224326 /data/oracle/product/11.2.0/db_1/dbs/initorc1.ora
三、基本操作
3.1 数据库启停
数据库停止
[oracle@Oracle ~]$ sqlplus / as sysdba
SQL> shutdown immediate;
[oracle@Oracle ~]$ lsnrctl stop
数据库启动
[oracle@Oracle ~]$ sqlplus / as sysdba
SQL> startup;
[oracle@Oracle ~]$ lsnrctl start
数据库基本查询
# 监听器状态
[oracle@Oracle ~]$ lsnrctl status
# 数据库实例状态
SQL> select instance_name,status from v$instance;
# 数据库日志路径查询,主要关注告警日志Diag Trace
SQL> select * from v$diag_info;
[oracle@Oracle ~]$ cd /data/oracle/diag/rdbms/orcl/orc1/trace
[oracle@Oracle trace]$ tail -100f alert_orc1.log
# 数据库版本
SQL> select * from v$version;
# 数据库名称
SQL> select name from v$database;
3.2 表空间的创建
CREATE TABLESPACE guojie
DATAFILE '/data/tablespace_data/guojie.dbf'
SIZE 100m
autoextend ON
NEXT 10m
解释:
-
guojie 为表空间的名称
-
DATAFILE 用于设置物理文件的位置以及名称
-
SIZE 用于设置表空间起始大小
-
autoextend ON 用于设置自动增长,如果存量超过初始大小,则自动扩容
-
NEXT 用于设置扩容的空间大小
创建之后它会在对应路径下生成表空间文件
3.3 创建用户&授权
CREATE USER guojie
IDENTIFIED BY 123456
DEFAULT TABLESPACE waterboss
解释:
- guojie 为创建的用户名
- IDENTIFIED BY 用于设置密码
- DEFAULT TABLESPACE 用于设置默认表空间名称
默认创建的用户没有任何权限,连登录的权限都没有。
1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE(资源):拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT(连接):拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
GRANT RESOURCE, CONNECT TO guojie
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求