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

漫长的等待…,安装完成之后先别回车

Snipaste_2024-09-15_17-17-12

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.最后使用连接工具连接

Snipaste_2024-09-16_09-52-03

二、可能存在问题

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 用于设置扩容的空间大小

Snipaste_2024-09-22_15-34-04

创建之后它会在对应路径下生成表空间文件

Snipaste_2024-09-22_15-42-51

Snipaste_2024-09-22_15-45-14

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
posted @   国杰响当当  阅读(180)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
点击右上角即可分享
微信分享提示