linux 部署oracle 11g
部署oracle服务器
1. 下载Orcle11G (按照文档要求)
进入oracle官网(需要创建账户才能下载)
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2. 上传文件到服务器或虚拟机的/home目录下
安装yum install lrzsz -y
3.解压文件到当前目录:
[root@localhost home]# unzip linux.x64_11gR2_database_1of2.zip
[root@localhost home]# unzip linux.x64_11gR2_database_2of2.zip
如果unzip命令不能使用的话,使用:
yum list | grep zip/unzip
yum install zip
yum install unzip
将解压后的文件夹直接移动到/software目录下:
[root@localhost home]# mv database/ /software/
[root@localhost home]# cd /software
[root@localhost software]# ll
4、关闭selinux
[root@myYUn software]# vim /etc/selinux/config
如果vim命名不可以用,就是用vi或者使用 yum install vim 安装vim命令
设置SELINUX=disabled
[root@myYUn software]# setenforce 0 使文件生效
5、关闭防火墙
[root@myYUn software]# systemctl restart firewalld.service
[root@myYUn software]# systemctl list-unit-files|grep firewalld.service
firewalld.service disabled
[root@myYUn software]# systemctl disable firewalld.service
有可能使用 systemctl list-unit-files|grep firewalld.service 此语句 还是原来的 要先执行 systemctl disable firewalld.service 在执行上一个
6、安装Oracle 11g依赖包
[root@myYUn software]# yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y
7、添加安装用户和用户组
[root@myYUn software]# groupadd oinstall
[root@myYUn software]# groupadd dba
[root@myYUn software]# useradd -g oinstall -G dba oracle
[root@myYUn software]# passwd oracle
[root@myYUn software]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
8、修改内核参数配置文件
[root@myYUn software]# vim /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
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
查看是否成功写进/etc/sysctl.conf文件中:
[root@myYUn software]# sysctl –p
其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。
9、修改用户的限制文件:
修改/etc/security/limits.conf文件:
[root@localhost software]# 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
修改/etc/pam.d/login文件:
[root@myYUn software]# vim /etc/pam.d/login
在末尾添加以下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile文件:
[root@ myYUn software]# vim /etc/profile
在末尾添加以下内容:
#oracle配置
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
10、创建安装目录和设置文件权限
[root@myYUn software]# mkdir -p /data/oracle/product/11.2.0
[root@myYUn software]# mkdir /data/oracle/oradata
[root@myYUn software]# mkdir /data/oracle/inventory
[root@myYUn software]# mkdir /data/oracle/fast_recovery_area
[root@myYUn software]# chown -R oracle:oinstall /data/oracle
[root@myYUn software]# chmod -R 775 /data/oracle
11、设置oracle用户环境变量
首先切换到oracle用户下:
[root@myYUn software]# su -l oracle
[oracle@myYUn ~]$ vim .bash_profile
在末尾添加如下内容:
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
注意,标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。
[oracle@myYUn ~]$ source .bash_profile
12、编辑静默安装响应文件:
复制安装文件夹response到当前oracle用户的家目录下:
[oracle@myYUn ~]$ cp -R /software/database/response/ .
[oracle@myYUn ~]$ cd response/
[oracle@myYUn response]$ vim db_install.rsp
需要设置的选项如下:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=CentOS
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
13、根据响应文件静默安装Oracle11g
[oracle@myYUn response]$ cd /software/database/
[oracle@myYUn database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可。
交换空间不足的问题:
解决方案如下(在root用户下执行):
[root@myYUn /]# free
[root@myYUn /]# dd if=/dev/zero of=swapfile bs=1024 count=500000
500000+0 records in
500000+0 records out
512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s
[root@myYUn /]# mkswap swapfile
Setting up swapspace version 1, size = 499996 KiB
no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc
[root@myYUn /]# swapon swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
[root@myYUn /]# free
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。
可以在以下位置找到本次安装会话的日志:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log
可以切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,
当出现以下提示时,代表安装成功:
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。
可以在以下位置找到本次安装会话的日志:/data/oracle/inventory/logs/installActions2018-05-13_02-14-55PM.log
可以切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,
当出现以下提示时,代表安装成功:
按照要求执行脚本。
打开终端,退出到root身份登录,执行脚本:
[oracle@iZ2f570bi1k56uZ database]$ exit
logout
[root@iZ2f570bi1k56uZ software]# sh /data/oracle/inventory/orainstRoot.sh
Changing permissions of /data/oracle/inventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /data/oracle/inventory to oinstall.
The execution of the script is complete.
[root@iZ2f570bi1k56uZ software]# sh /data/oracle/product/11.2.0/root.sh
Check /data/oracle/product/11.2.0/install/root_iZ2f570bi1k56uZ_2018-05-13_14-25-04.log for the output of root script
14、以静默方式配置监听
重新使用oracle用户登录:
[root@myYUn software]# su -l oracle
Last login: Sun May 13 14:09:10 CST 2018 on pts/3
[oracle@myYUn ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp
注意此处,必须使用/silent /responseFile格式,而不是-silent -responseFile,因为是静默安装。
成功运行后,在/data/oracle/product/11.2.0/network/admin中生成listener.ora和sqlnet.ora
通过netstat命令可以查看1521端口正在监听。
Yum安装netstat软件,软件包是在net-tools中。
[root@myYUn /]# yum install net-tools
[root@myYUn /]# yum install net-tools
15、以静默方式建立新库,同时也建立一个对应的实例
[oracle@localhost ~]$ vim /home/oracle/response/dbca.rsp
修改文件中以下参数:
[GENERAL]
# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"
# Description : Type of operation
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
# Description : Global database name of the database
# 全局数据库的名字=SID+主机域名
# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl.test"
# Description : System identifier (SID) of the database
# 对应的实例名字
SID = "orcl"
# Description : Name of the template
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"
# Description : Password for SYS user
# SYS管理员密码
SYSPASSWORD = "123456"
# Description : Password for SYSTEM user
# SYSTEM管理员密码
SYSTEMPASSWORD = "123456"
# Description : Password for SYSMAN user
# SYSMAN管理员密码
SYSMANPASSWORD = "123456"
# Description : Password for DBSNMP user
# DBSNMP管理员密码
DBSNMPPASSWORD = "123456"
# Description : Location of the data file's
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata
# Description : Location of the data file's
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
# Description : Character set of the database
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK"
# Description : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "1638"
进行静默配置:
[oracle@localhost ~]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp
建库后进行实例进程检查:
[oracle@localhost ~]$ ps -ef | grep ora_ | grep -v grep
查看监听状态:
[o oracle@localhost ~]$ lsnrctl status
数据库创建完成。
有关详细信息, 请查看以下位置的日志文件: /data/oracle/cfgtoollogs/dbca/orcl/orcl.log。
数据库信息:
全局数据库名:orcl.test(sever_name=orcl.test) 在创建实例的时候进行修改
系统标识符 (SID):orcl
登录查看实例状态:
[oracle@myYUn ~]$ sqlplus / as sysdba
SQL> select status from v$instance;
Linux关闭防火墙命令
在外部访问CentOS中部署应用时,需要关闭防火墙。
关闭防火墙命令:systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service
关闭开机自启动:systemctl disable firewalld.service
开启开机启动:systemctl enable firewalld.service
登录创建的oracle 账户
[root@localhost ~]# su - oracle
- 使用sysdba账户登录
2. sqlplus / as sysdba
- 创建用户
语法:CREATE USER 用户名 IDENTIFIED BY 密码;
CREATE USER username IDENTIFIED BY password;
- 将刚创建的用户解锁/锁住
语法:ALTER USER 用户名 ACCOUNT UNLOCK/LOCK
用户解锁
alter user username account unlock;
用户锁住
alter user username account lock;
- 授予新登陆的用户创建权限:
语法:CRANT CREATE SESSION TO 用户名
grant create session to username;
6. 授予新创建的用户数据库管理员权限
语法:CRANT DBA TO 用户名;
grant dba to
username;
7. 切换到新创建的用户登陆
语法:CONNECT 用户名/密码
connect username/password;
8. 删除用户
语法:DROP USER 用户名
drop user uaername
使用plsql连接oracle数据库
首先在找到tnsnames.ora文件
D:\recreation\PLSQLDeveloper\PLSQL\instantclient_11_2