1、去官网下载linux版本的oracle的包: https://www.cnblogs.com/mmzs/p/9030823.html
2、首先为了使用方便请用xshell打开两个窗口,一个操作root用户,一个操作oracle用户(第7步会创建oracle用户)
这里就将操作root的用户称为1窗口、操作oracle用户的称为2窗口,后面就叫1窗口,2窗口
3、将包上传到服务器并解压,将并解压扣的database移动到/usr/local目录下
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
mv database /usr/local/
4、关闭selinux
vim /etc/selinux/config
#修改SELINUX=disabled
#查看
setenforce 0
5、开放端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
#重启
systemctl restart firewalld.service
6、安装oracle相关的依赖
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、添加安装用户和用户组
groupadd woodie
groupadd dba
useradd -g woodie -G dba oracle
passwd oracle
id oracle
#最后输出信息如下
#uid=1001(oracle) gid=1001(woodie) groups=1001(woodie),1002(dba)
如果需要删除用户或者组
userdel 用户名
groupdel 组名
如果添加用户报错:Creating mailbox file: File exists
cd /var/spool/mail
# 删除与你需要创建用户名字相同的文件
8、修改内核参数配置文件
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
9、修改用户的限制文件
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
vim /etc/pam.d/login
#在末尾添加的内容如下
session required /lib64/security/pam_limits.so
session required pam_limits.so
10、修改/etc/profile文件
vim /etc/profile
# 在适当的位置添加下面代码
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
11、创建oracle安装的目录及数据存放的目录
mkdir -p /usr/local/oracle/product/11.2.0
mkdir /usr/local/oracle
mkdir /usr/local/oracle/oradata
mkdir /usr/local/oracle/inventory
mkdir /usr/local/oracle/fast_recovery_area
chown -R oracle:woodie /usr/local/oracle
chmod -R 775 /usr/local/oracle
12、在2窗口用使用下面命令进入oracle用户
su -l oracle
13、设置oracle用户的环境变量(2窗口)
vim .bash_profile
#在末尾添加下面的命令
ORACLE_BASE=/usr/local/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH NLS_LANG
# 在保存退出后,使用下面命令加载数据
source .bash_profile
14、将database中的文件copy到当前目录下(2窗口)
cp -R /usr/local/database/response/ .
15、编辑安装响应文件(2窗口)
vim response/db_install.rsp
#修改以下的内容,这里需要非常的小心,需要慢慢的找字段并修改,不要修改错了,需要与自己的安装目录相对应
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=CentOS
UNIX_GROUP_NAME=woodie
INVENTORY_LOCATION=/usr/local/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/usr/local/oracle/product/11.2.0
ORACLE_BASE=/usr/local/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
16、安装oracle(2窗口)
#首先进入到/usr/local/database中
cd /usr/local/database/
#执行下面的命令进行安装
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
# 出现下面内容说明已经安装成功了
/usr/local/oracle/inventory/orainstRoot.sh
/usr/local/oracle/product/11.2.0/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.
17、执行启动脚本(1窗口)
sh /usr/local/oracle/inventory/orainstRoot.sh
sh /usr/local/oracle/product/11.2.0/root.sh
18、 配置监听(2窗口)
netca /silent /responseFile /home/oracle/response/netca.rsp
19、查看端口是否正在监听(2窗口)
netstat -tnulp | grep 1521
#没有这个命令,在root用户(1窗口)下使用下面的命令进行安装
yum install net-tools
20 创建一个新的数据库,并创建 一个实例(2窗口)
vim /home/oracle/response/dbca.rsp
# 修改下面的内容,有些在文件中是注释掉的,需要放开注释在进行修改操作
GDBNAME = "orcl.test"
SID = "orcl"
SYSPASSWORD = "rss123"
SYSTEMPASSWORD = "rss123"
SYSMANPASSWORD = "rss123"
DBSNMPPASSWORD = "rss123"
DATAFILEDESTINATION =/usr/local/oracle/oradata
RECOVERYAREADESTINATION=/usr/local/oracle/fast_recovery_area
NATIONALCHARACTERSET= "UTF8"
TOTALMEMORY = "1683"
21、进行配置(2窗口)
dbca -silent -responseFile /home/oracle/response/dbca.rsp
22、 检查实例的进程(2窗口)
ps -ef | grep ora_ | grep -v grep
23、查看监听的状态(2窗口)
lsnrctl status
24、创建一个登录用户(2窗口)
sqlplus / as sysdba
# 进入sql成功后输入下面的命令创建一个用户
CREATE USER woodie IDENTIFIED BY rss123;
alter user woodie account unlock;
grant create session to woodie;
grant dba to woodie;
connect woodie/rss123;
#解决中文乱码
shutdown immediate;
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter database open;
alter database character set internal_use AL32UTF8;
shutdown immediate;
startup
alter system disable restricted session;
到这里基本的环境已经是搭建好了,但是依然不能通过plsql进行连接,会出现下面的错误:
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
这个问题我在网上找了很久的答案,但是几乎所有的答案都是在本地配置tnsnames.ora修改ip来达到访问的操作,但是这样操作与我在工作中的操作方式不同,我在工作中都是通过 ip:1521/orcl来进行访问,与网上所说的方式不一样,最终在网上找到的配置如25、26;在27步中进行测试如我所期。
25、更改监听的方式(1窗口),修改文件请先做好备份
这一步是必须要有,否则plsql不能连接到数据
# 进入到下面的目录,修改其中的两个文件
cd /usr/local/oracle/product/11.2.0/network/admin
# 修改listener.ora,替换为以下内容, 注意改ip
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl)(ORACLE_HOME = /usr/local/oracle/product/11.2.0)(SID_NAME = orcl)))
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.142.129)(PORT = 1521)))
ADR_BASE_LISTENER = /usr/local/oracle
#修改tnsnames.ora,替换为以下内容, 注意改ip
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.142.129)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
26、 重启监听,更新注册
lsnrctl stop #先关闭监听服务
lsnrctl start #开启监听服务
27、 测试连接
如果上面 已经可以进行连接了,可以直接忽略下面的操作
28、本地plsql连接远程数据库相关的配置
plsql安装好了之后是不能直接访问远程 的数据 库的,需要在本地安装oracle数据库, 或者是oracle的客户端。在这里我强烈推荐安装oracle客户端。
安装oracle数据库,网上的教程很多,就不重复了。(oracle数据库非常的占用内存,占用磁盘的空间)
安装oracle客户端如下
1)去官网下载当前windows环境的的 client包
官网:https://www.cnblogs.com/mmzs/p/9030823.html
2) 通过讯雷下载的文件是obrareq.cgi.html需要将重命名为.zip的文件,并进行解压。
3) 解压后,执行.exe文件,这里双击之后需要待较长的一段时间,耐心等待
4) 出现下面界面选择第一个,剩下的一直下一步,到安装完成即可。
5)打开plsql ---> tools ---> Preferences
oci文件对应到你安装的oracle客户端目录下,这里一般可以选择下拉进行选择,
到这里完成之后 就可以进行oracle的连接了。