1、安装环境准备:
A、系统版本和oracle11g企业版安装软件压缩包:
[root@dbprimary07 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@dbprimary07 ~]# uname -a
Linux dbprimary07 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
B、 HostName修改
hostnamectl set-hostname dbprimary07
C、关闭selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
重启系统reboot
D 、配置内核参数
[root@dbprimary07 ~]# cat /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 7516192768 #7Gkernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048576
修改后使之生效
/sbin/sysctl -p
E、修改用户权限
root用户
vim /etc/security/limits.conf
#在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
F、在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
G、在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
#使之生效:
source /etc/profile
2 安装oracle11g-EE版本主要步骤
2.1创建oracle用户,及用户组
2.2配置oracle用户环境变量
2.3修改安装Oracle软件的响应文件db_install.rsp,静默安装
2.4静默dbca建库,编辑应答文件dbca.rsp
2.5 登陆数据库,测试是否安装成功
2.6 rlwrap安装
具体步骤如下:
2.1创建oracle用户,及用户组
#创建oinstall和dba组
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
#创建Oracle用户:-d /u01/oracle,将用户创建到/u01下,默认是在/home下
useradd -g oinstall -G dba oracle -d /u01/oracle
#设置oracle密码
passwd oracle
#验证创建及所属组是否正确:id oracle
#输出结果如下
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
2.2配置oracle用户环境变量
su - oracle
vim ~/.bash_profile
##提示要是不存在/u01/oracle/.bash_profile 文件,可以创建一个系统用户test001,把他的家目录下的隐藏文件复制到/u01/oracle/目录下
[root@dbprimary07 ~]# useradd test001
[root@dbprimary07 ~]# cp /home/test001/.* /u01/oracle/
然后再
su - oracle
vim ~/.bash_profile
#添加如下内容,注意修改的是oracle用户的环境变量,su - oracle切换用户
export ORACLE_BASE=/u01/oracle/tools/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64
#使配置生效
source ~/.bash_profile
2.3修改安装Oracle软件的响应文件db_install.rsp,静默安装
su - oracle
创建响应文件配置目录
mkdir -p /u01/oracle/etc
创建oracle安装目录
mkdir -p /u01/oracle/tools/oracle11g
mkdir -p /u01/oracle/tools/oraInventory
mkdir -p /u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1
mkdir -p /u01/oracle/tools/oracle11g/oradata
mkdir -p /u01/oracle/tools/oracle11g/fast_recovery_area
#将下载的压缩文件解压到/u01/oracle目录下,解压完成后/u01/oracle目录下会生成一个database目录
unzip linux.x64_11gR2_database_1of2.zip -d /u01/oracle
unzip linux.x64_11gR2_database_2of2.zip -d /u01/oracle
#将/u01/oracle/database/response下dbca.rsp,db_install.rsp,netca.rsp的文件拷贝到/u01/oracle/etc下
cp /u01/oracle/database/response/* /u01/oracle/etc
#编辑/u01/oracle/etc下的db_install.rsp文件(注意要用oracle用户编辑)
vi /u01/oracle/etc/db_install.rsp
在db_install.rsp中找到要修改的配置
db_install.rsp中配置文件参数如下:
[oracle@dbprimary07 ~]$ cat /u01/oracle/etc/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/oracle/tools/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/oracle/tools/oracle11g
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/oracle/tools/oracle11g/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/oracle/tools/oracle11g/fast_recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES= true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
[oracle@dbprimary07 ~]$
#用db_install.rsp文件开始静默安装oracle软件
su - oracle
cd /u01/oracle/database
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /u01/oracle/etc/db_install.rsp
#安装完成,提示Successfully Setup Software.如下:
==========================================================
/u01/oracle/tools/oraInventory/orainstRoot.sh
/u01/oracle/tools/oracle/oracle11g/product/11.2.0/db_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
==========================================================
#退出oracle 用户,用root用户执行脚本。安装完后会在Successfully Setup Software上方出现执行脚本路径
exit
sh /u01/oracle/tools/oraInventory/orainstRoot.sh
sh /u01/oracle/tools/oracle/oracle11g/product/11.2.0/db_1/root.sh
2.4静默dbca建库,编辑应答文件dbca.rsp
##应答文件dbca.rsp参数如下:
[oracle@dbprimary07 ~]$ cat /u01/oracle/etc/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl11g.us.oracle.com"
INSTANCENAME = "orcl11g"
SYSDBAUSERNAME = "sys"
# 执行:
$ORACLE_HOME/bin/dbca -silent -responseFile /u01/oracle/etc/dbca.rsp
[oracle@dbprimary07 ~]$ $ORACLE_HOME/bin/dbca -silent -responseFile /u01/oracle/etc/dbca.rsp
Copying database files
1% complete
3% complete
11% complete
18% complete
37% complete
Creating and starting Oracle instance
40% complete
45% complete
50% complete
55% complete
56% complete
60% complete
62% complete
Completing Database Creation
66% complete
70% complete
73% complete
85% complete
96% complete
100% complete
Look at the log file "/u01/oracle/tools/oracle11g/cfgtoollogs/dbca/orcl/orcl1.log" for further details.
#若实例创建错误,删除实例命令:
$ORACLE_HOME/bin/dbca -silent -deleteDatabase -sourcedb orcl
#设置Oracle开机启动
vi /etc/oratab
orcl:/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1:Y # //把“N”改成“Y”
2.5.登陆数据库
su - oracle
sqlplus / as sysdba
或者下面
sqlplus system/oracle as sysdba
sqlplus sys/oracle as sysdba
#system代表系统账户
#oracle代表密码
# 启动oracle实例
SQL> startup
不挂载启动oracle实例
SQL> startup nomount;
# 关闭oracle实例
SQL> shutdown immediate;
2.6 rlwrap安装
#安装过程如下:
yum install ncurses-devel readline-devel -y
tar -zxvf rlwrap-0.42.tar.gz
cd rlwrap-0.42/
./configure
make &&make install
3.安装过程中可能遇到的报错
The Oracle system identifier(SID) "orcl" already exists. Specify another SID
解决办法:
1、删除u01/admin下的orcl文件
2、删除u01/oradata下的orcl文件夹
3、用root用户以远程登录模式编辑/etc/oratab,删除或者注释掉最后一行orcl。
[oracle@dbprimary07 ~]$ tail -1 /etc/oratab
orcl:/u01/oracle/tools/oracle11g/product/11.2.0/dbhome_1:N
4.登录oracle11g实例简单应用
4.1查看数据库实例和创建时间
SQL> select name,created from v$database;
NAME
--------------------
CREATED
---------------
ORCL
09-OCT-24
SQL> set line 100
SQL> select name,created from v$database;
NAME CREATED
--------------------------- ---------------
ORCL 09-OCT-24
4.2查看数据库版本
SQL> select * from v$version;
BANNER
----------------------------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
4.3查看服务名
SELECT name FROM dba_services; (需要dba权限)
SELECT name FROM v$services;(查看V$SERVICES视图,这个视图不需要DBA权限)
SQL> SELECT name FROM dba_services;
NAME
----------------------------------------------------------------------------------------------------
SYS$BACKGROUND
SYS$USERS
uni_dg1
orclXDB
orcl
SQL> SELECT name FROM v$services;
NAME
----------------------------------------------------------------------------------------------------
orclXDB
uni_dg1
SYS$BACKGROUND
SYS$USERS
4.4查看当前数据库服务名
SQL> SELECT instance_name FROM v$instance;
INSTANCE_NAME
------------------------------------------------
orcl
4.5查看所有Oracle数据库实例的服务名
SQL> select instance_name FROM v$instance WHERE instance_name IS NOT NULL;
INSTANCE_NAME
------------------------------------------------
orcl
4.6查看字符集:
SELECT * FROM NLS_DATABASE_PARAMETERS p where p.PARAMETER='NLS_CHARACTERSET';
SELECT USERENV('language') FROM DUAL;
4.7查看数据库名称和创建时间:
SQL> select name,created from v$database;
NAME CREATED
--------- ------------------
ORCL 17-SEP-24
4.8创建数据库和拥有该库all权限的用户
#创建数据库表空间
create tablespace mytestdb01 datafile '/u01/oracle/tools/oracle11g/oradata/mytestdb01' size 10m autoextend on;
#说明:末尾带autoextend on参数表示当表空间大小不够用时会自动扩容,所有建议加上autoextend on参数。
#查看mytestdb01表空间
SQL> set line 200
SQL> select * from v$tablespace where NAME='MYTESTDB01';
TS# NAME INCLUDED_ BIGFILE FLASHBACK ENCRYPT_I
---------- ------------------------------------------------------------------------------------------ --------- --------- --------- ---------
6 MYTESTDB01 YES NO YES
SQL>
#创建用户zhangsan拥有库mytestdb01权限
SQL>
SQL> create user zhangsan identified by pass123321 default tablespace mytestdb01 quota 3m on users;
User created.
SQL> grant all privileges to zhangsan;
Grant succeeded.
#当前采用zhangsan/pass123321登录
查看当前登录用户
[oracle@dbprimary07 etc]$ sqlplus zhangsan/pass123321
SQL> SELECT USER FROM DUAL;
USER
--------------------------------------------------------------------------------
ZHANGSAN
SQL> show user;
USER is "ZHANGSAN"
##创建测试表和插入测试数据
#创建测试表:
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
hire_date DATE,
salary NUMBER
);
插入数据:
INSERT INTO employees (employee_id, first_name, last_name, hire_date, salary)
VALUES (1, 'John', 'Doe', '01-Jan-2021', 001);
commit;
查看表数据:
select * from employees
查看用户zhangsan下所拥有的表以及表对应的行数:
SQL> SELECT table_name, num_rows FROM all_tables WHERE owner = 'ZHANGSAN';
TABLE_NAME
--------------------------------------------------------------------------------
NUM_ROWS
----------
EMPLOYEES
4.9查看表空间是否开启自动
SQL> set line 400
SQL> select file_name,tablespace_name,autoextensible from dba_data_files;
FILE_NAME
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TABLESPACE_NAME AUTOEXTEN
------------------------------------------------------------------------------------------ ---------
/u01/oracle/tools/oracle11g/oradata/orcl/users01.dbf
USERS YES
/u01/oracle/tools/oracle11g/oradata/orcl/undotbs01.dbf
UNDOTBS1 YES
/u01/oracle/tools/oracle11g/oradata/orcl/sysaux01.dbf
SYSAUX YES
FILE_NAME
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TABLESPACE_NAME AUTOEXTEN
------------------------------------------------------------------------------------------ ---------
/u01/oracle/tools/oracle11g/oradata/orcl/system01.dbf
SYSTEM YES
/u01/oracle/tools/oracle11g/oradata/mytestdb01
MYTESTDB01 NO
5.0数据库表空间使用情况查看
select upper(f.tablespace_name) "TS-name",
d.tot_grootte_mb "TS-bytes(m)",
d.tot_grootte_mb - f.total_bytes "TS-used (m)",
f.total_bytes "TS-free(m)",
to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,
2),
'990.99') "TS-per"
from (select tablespace_name,
round(sum(bytes) / (1024 * 1024), 2) total_bytes,
round(max(bytes) / (1024 * 1024), 2) max_bytes
from sys.dba_free_space
group by tablespace_name) f,
(select dd.tablespace_name,
round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
from sys.dba_data_files dd
group by dd.tablespace_name) d
where d.tablespace_name = f.tablespace_name
order by 5 desc;
SQL> select upper(f.tablespace_name) "TS-name",
2 d.tot_grootte_mb "TS-bytes(m)",
3 d.tot_grootte_mb - f.total_bytes "TS-used (m)",
4 f.total_bytes "TS-free(m)",
5 to_char(round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100,
6 2),
7 '990.99') "TS-per"
8 from (select tablespace_name,
9 round(sum(bytes) / (1024 * 1024), 2) total_bytes,
10 round(max(bytes) / (1024 * 1024), 2) max_bytes
11 from sys.dba_free_space
12 group by tablespace_name) f,
13 (select dd.tablespace_name,
14 round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb
15 from sys.dba_data_files dd
16 group by dd.tablespace_name) d
17 where d.tablespace_name = f.tablespace_name
18 order by 5 desc;
TS-name TS-bytes(m) TS-used (m) TS-free(m) TS-per
------------------------------------------------------------------------------------------ ----------- ----------- ---------- ---------------------
SYSTEM 670 667.19 2.81 99.58
SYSAUX 470 446.06 23.94 94.91
USERS 5 1.31 3.69 26.20
UNDOTBS1 30 5.69 24.31 18.97
MYTESTDB01 10 1.12 8.88 11.20
以上就是oracle11g 企业版静默安装过程以及简单的sql操作应用过程,希望能够帮助到oracle用户初学者,笔者技术水平有限,如有不当之处欢迎指证。
标签:name,db,Centos7.8,实例,install,oracle,config,Oracle11g,u01 From: https://www.cnblogs.com/ywdba668/p/18531778