参考以下两篇文章装好的oracle,在此特别感谢两个老哥的无私分享和据我遇到的一些问题做一个记录
https://blog.csdn.net/YM550/article/details/80798542
https://blog.csdn.net/muluo7fen/article/details/72654265#commentBox
本地windows plsql连接服务器oracle 参考文章(感谢老哥:
https://www.cnblogs.com/nichoc/p/6417505.html
静默安装oracle
(此攻略适用于ContOS 6.5,Oracle版本如下图
1.环境准备
(1. CentOS(Linux系统)
(2. Oracle linux版安装包 下方为下载路径:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2.创建oracle用户赋予权限
(1,登录你的CentOS系统,使用root用户创建orcale用户并赋予权限
注意:以下命令#在前则为在root端执行的命令;$在前则为再 oracle端执行的命令
依次下执行以下命令
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
#id oracle
(2. 将oracle使用者加入sudo的群组中(root用户下操作)
vi /etc/sudoers
在
root ALL=(ALL) ALL
下面加上
oracle ALL=(ALL) ALL
最后输入 :wq! 来保存退出
(3. 创建软件安装目录(root用户下操作)
#mkdir -p /opt/oracle //$ORACLE_BASE
#mkdir -p /opt/oracle/product/112010/db_1 //$ORACLE_HOME
#mkdir /opt/oracle/oradata //存放数据库目录
#mkdir /opt/oracle/inventory
#mkdir /opt/oracle/flash_recovery_area
#chown -R oracle:oinstall /opt/oracle
Chmod -R 775 /opt/oracle //赋予权限
3.修改配置文件(root下
(1. 修改用户限制 vi/etc/security/limits.conf文件增加一下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
(2. 修改关联设置 vi/etc/pam.d/login 增加以下内容
session required /lib/security/pam_limits.so
session required pam_limits.so
(3. 修改oracle用户的环境变量.bash_profile文件添加一下内容
#su – oracle
$vi .bash_profile
export ORACLE_BASE=/opt/oracle
export SQLPATH=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/112010/db_1
export ORACLE_SID=orcl;
export PATH= P A T H : PATH: PATH:ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
修改完环境变量之后要记得
source .bash_profile (立即生效)
(4. 修改内核参数
vi /etc/sysctl.conf (修改添加以下内容
kernel.shmall = 4294967296
kernel.shmall = 2097152
kernel.shmmax = 1073741824
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
修改完毕后,启用一下
#sysctl -p
(5. 修改用户的环境变量 vi/home/oracle/.base_profile 在最底下加入以下内容
export ORACLE_BASE=/opt/oracle
export SQLPATH=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/112010/db_1
export ORACLE_SID=orcl;
export PATH= P A T H : PATH: PATH:ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
按完之后执行一下下面的命令使环境变量生效
#source /home/oracle/.bash_profile
查看命令:# env
4.安装依赖在root用户下依次执行
yum install compat*
yum install compat-libstdc*
yum install elfutils-libelf-devel
yum install gcc
yum install gcc-c++
yum install glibc
yum install libaio
yum install libaio-devel
yum install libgcc
yum install libstdc++
yum install tree
yum install unixODBC
yum install unixODBC-devel
5.安装oracle 准备工作
(1. 接下来就可解压oracle压缩包了,
Oracle 11g安装包:将安装包上传至服务器/opt/oracle/ 下面,这两个包属于oracle用户
linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip
安装包解压命令(使用oracle用户解压 )
$unzip linux.x64_11gR2_database_1of2.zip
$unzip linux.x64_11gR2_database_2of2.zip
注意解压的路径要和上面配置的环境变量的路径同步
解压完成后/opt/oracle下会生成database目录
(2. 编辑oracle数据库安装应答文件
/opt/oracle/database/response(解压后的文件中)下
有db_install.rsp、dbca.rsp和netca.rsp三个应答文件
分别为:
db_install.rsp 数据库安装文件
dbca.rsp 建立数据库实例文件
netca.rsp 监听配置安装文件
因为我们这个是无图形化安装,所以要提前配置一下db_install.rsp(数据库安装文件
修改一下 db_install.rsp 内容如下:
oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
ORACLE_HOSTNAME=chances //37 行 主机名称
UNIX_GROUP_NAME=oinstall //42 行 安装组
INVENTORY_LOCATION=/opt/oracle/inventory //47 行 INVENTORY目录
SELECTED_LANGUAGES=zh_CN //78 行 选择语言
ORACLE_HOME=/opt/oracle/product/112010/db_1 //83 行 oracle_home
ORACLE_BASE=/opt/oracle //88 行 oracle_base
oracle.install.db.InstallEdition=EE //99 行 oracle版本
oracle.install.db.DBA_GROUP=dba //142行dba用户组
oracle.install.db.OPER_GROUP=oinstall //147行oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //165行globalDBName
oracle.install.db.config.starterdb.SID=orcl //170行SID
oracle.install.db.config.starterdb.memoryLimit=800 //192行 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true //385行 设置安全更新
(3. 开始安装oracle
#su – oracle //切换为oracle用户
进入刚才解压的database目录
$cd /opt/oracle/database/
使用下面的命令执行oracle安装脚本开始自动安装
$./runInstaller -silent -responseFile/opt/oracle/response/db_install.rsp -norePrereq
如果出来下图说明脚本运行没有问题等就完事了,快则10分钟 慢则20分钟左右
如果出来的不是下图则根据报的错自行百度解决
安装好或者是失败会有提示如下所示,是安装成功的信息提示。
这个时候另起一个终端 登录root账户运行下面的两个脚本
#/opt/oracle/inventory/orainstRoot.sh
#/opt/oracle/product/112010/db_1/root.sh
运行完毕之后,到oracle的终端摁下回车
恭喜你,oracle安装完毕!但接下来需要配置监听,如不配置你所安装的oracle就像是一个孤岛,跟外界是连接不上的,当然也就使用不了~
- Oracle监听配置
编辑oracle安装目录下的netca.rsp应答文件,地址为:
/opt/oracle/database/response/netca.rsp,主要查看以下参数配置:
INSTALL_TYPE="“custom”"安装的类型
LISTENER_NUMBER=1监听器数量
LISTENER_NAMES={“LISTENER”}监听器的名称列表
LISTENER_PROTOCOLS={“TCP;1521”}监听器使用的通讯协议列表
LISTENER_START="“LISTENER”"监听器启动的名称
检查完毕后,执行命令:
$netca /silent /responseFile /opt/oracle/database/response/netca.rsp
执行后如下图所示则成功 如过不幸失败就跳过这个直接往下翻会有解决方案:
这时重开一个窗口然后使用命令
#netstat -tnulp | grep 1521
可以查看1521端口正在监听
Ok监听配置成功
这时你就可以使用
sqlplus / as sysdba登录你的oracle尽情操作数据了
停停 解决方案在这里
$netca /silent /responseFile /opt/oracle/database/response/netca.rsp
上面这行命令如果运行失败,比如什么netca not found之类的没关系莫慌我们还可以手动配置监听
首先找到
listener.or
这个文件,我服务器上的路径为: /opt/oracle/product/112010/db_1/network/admin/samples
把里面内容全删了替换为下面的内容:
#listener.oraNetworkConfigurationFile:/data/oracle/product/11.2.0/db_1/network/admin/listener.ora
#Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /opt/oracle/product/112010/db_1)
(SID_NAME = orcl)
)
)
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.15)(PORT = 1521)))
ADR_BASE_LISTENER = /opt/oracle)
把标红部分的ip地址改为你自己服务器的ip
查看你自己服务器ip的命令如下:
ifconfig
把标蓝部分的路径改为你自己服务器上对应目录的路径
同目录下tnsnames.ora文件把里面的内容提换为
#tnsnames.oraNetworkConfigurationFile:/data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
#Generated by Oracle configuration tools.
orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.15)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
同理红色改为你自己服务器的地址
lsnrctl start /监听启动
lsnrctl stop /监听关闭
sqlplus / as sysdba登录你的oracle尽情操作数据了
- 本地window系统配置plsql远程连接数据库
(1.Oracle客户端配置
链接: https://pan.baidu.com/s/1hLE-F8DBdKiEA-LdHwcgUQ 提取码: 57rg
本地连接远程oracle需要在本地下载一个oracle的客户端官网也可以下载,不过在这里我已经下好放到了我的网盘里
解压过后会有一个instantclient_11_2的文件夹
打开instantclient_11_2文件夹,创建一个network的文件夹,然后在新创建的network中再创建一个admin文件夹,最后在admin里面创建一个文件 文件名为tnsnames.ora 这里注意格式为.ora
tnsnames.ora的内容如下:
#tnsnames.oraNetworkConfigurationFile:E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
#Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.15)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.15)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
)
)
需注意:
红色ip地址为你要连接的oracle服务器的地址
蓝色sid是需要跟服务器配置环境变量时的sid 同步
(2. lsql的配置
1.直接打开plsql 取消登录 进入无登录界面
2.选择工具>首选项 将里面的路径改为刚安装的oracle本地客户端的相对应得路径匹配如下图
(3. 配置环境变量
配置环境变量:我的电脑右键属性--》高级系统属性--》环境变量
添加环境变量:
根据自己的instantclient_11_2目录配置环境变量:
变量名:TNS_ADMIN
变量值 :自己电脑上instantclient_11_2\networl\admin的路径
乱码问题解决:
连接成功后有时候查询出来的数据会出现乱码的问题,这是因为本地的编码和服务器端编码不一致,这时候我们可以通过SQL语句:
select userenv(‘language’) from dual;
查询出服务器端的编码,如我自己的查询结果为
USERENV(‘LANGUAGE’)
AMERICAN_AMERICA.ZHS16GBK
我们就需要添加一个环境变量NLS_LANG ,值为: AMERICAN_AMERICA.ZHS16GBK 然后重启PL/SQL就不会再有乱码问题了。
到这里就可启动plsql来连接自己远程配置的oracle数据库了,可以使用默认的oracle用户登录,或者自己在服务器上创建一个用户拿来登录都是可以的,有个小坑就是当自己创建数据库的时候设置密码如果有数字就会登录失败,如果出现这个问题就在服务器上把此用户的密码改为纯字母就可以正常登录了。
2019 9.4
孙培伦❤黄文星