常用命令
启动oracle
// 切换用户su - oracle// 查看监听状态lsnrctl status启动监听lsnrctl start// 停止监听lsnrctl stop// 登录sqlplussqlplus /nolog// 连接数据库conn / as sysdba// 停止服务,sql命令shutdown immediate;// 启动,sql命令startup
企业版
https://www.oracle.com/cn/database/enterprise-edition/downloads/oracle-db11g-linux.html
创建用户组
[cindyma@localhost ~]$ su root #切换到root
Password:
[root@localhost]# groupadd oinstall #创建用户组oinstall
[root@localhost]# groupadd dba #创建用户组dba
[root@localhost]# useradd -g oinstall -g dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组
[root@localhost]# passwd oracle #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
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.
[root@localhost]# id oracle # 查看新建的oracle用户
uid=1001(oracle) gid=1002(dba) groups=1002(dba)
创建安装目录
[root@localhost]# cd /. #进入根目录
[root@localhost]# mkdir -p /data/oracle #oracle数据库安装目录
[root@localhost]# mkdir -p /data/oraInventory #oracle数据库配置文件目录
[root@localhost]# mkdir -p /data/database #oracle数据库软件包解压目录
[root@localhost]# cd /data
[root@localhost data]# ls #创建完毕检查一下(强迫症)
database oracle oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/oracle #设置目录所有者为oinstall用户组的oracle用户
[root@localhost data]# chown -R oracle:oinstall /data/oraInventory
[root@localhost data]# chown -R oracle:oinstall /data/database
[root@localhost data]#
配置swap
https://www.yuque.com/yuegui/zh647m/relkf8
修改系统标志
[root@localhost data]# cat /proc/version
Linux version 3.10.0-514.26.2.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 15:04:05 UTC 2017
[root@localhost data]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@localhost data]# vi /etc/redhat-release
将内容修改为:redhat-7
[root@localhost data]# cat /etc/redhat-release
添加主机
[root@izbp12ix9hdnicr4csqrycz ~]# hostname
izbp12ix9hdnicr4csqrycz
[root@izbp12ix9hdnicr4csqrycz ~]# vim /etc/hosts
[root@izbp12ix9hdnicr4csqrycz ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
// 添加这一行,主机名为hostname查询出来的
121.199.43.40 izbp12ix9hdnicr4csqrycz
[root@izbp12ix9hdnicr4csqrycz ~]#
安装插件
centos7需要的安装包,可以在Oracle上查看:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
我的版本当然对应的是这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7
它没有要求说要安装elfutils和unixODBC包,但是等安装Oracle检查安装前准备时,会提示说缺少这两个包,所以一并安装
有时候使用yum安装的时候,会提示another app is currently holding the yum lock,这个时候打开另外一个terminal,在root用户下输入
#rm -f /var/run/yum.pid
强制关掉yum进程
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*
SELinux 维持在 enforcing 模式,并启用防火墙
sestatus
firewall-cmd --state
修改内核参数
vi /etc/sysctl.conf
添加内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1987162112
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 = 1048586
检查并运用新的数值。
[root@centos7 ~]# sysctl -p
[root@centos7 ~]# sysctl -a
为 oracle 用户设置上限
vim /etc/security/limits.conf
添加内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
配置环境变量
vi /home/oracle/.bash_profile
添加
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
重启生效
source /home/oracle/.bash_profile
将安装包移动到/usr/local/src路径下并重启系统
reboot
解压文件
cd /usr/src/
// 安装unzip软件:yum install zip unzip
unzip 文件名
XE精简版安装
软件安装
https://www.oracle.com/database/technologies/xe-downloads.html
将文件上传至安装目录
// 没有unzip的话需要安装
yum -y install unzip zip
// 解压文件
unzip 文件名
// 进入Disk文件夹目录进行rpm安装
rpm -ivh xxx.rpm
如果是新版本,执行下面的命令后再执行rpm安装
curl -o oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm
yum -y localinstall oracle-database-preinstall-21c-1.0-1.el7.x86_64.rpm
如果报错,没有swap空间,https://www.yuque.com/yuegui/zh647m/relkf8
环境配置
cat /etc/init.d/oracle-xe
找到对应的环境变量位置
添加到环境变量末尾
vim /etc/profile
source /etc/profile
// 添加oracle用户的环境变量
vim /home/oracle/.bashprofile
source /home/oracle/.bashprofile
开放端口
https://www.yuque.com/yuegui/zh647m/vf6zvb
安装后
sqlplus不能使用光标
解决办法:安装rlwrap包
yum -y install rlwrap
执行 vi .bash_profile ,添加内容
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
重启生效,也可以不使用.bashprofile文件,直接使用rlwrap sqlplus命令进行登录
source .bash_profile
vim中文乱码
设置~下或者oracle用户下的.vimrc文件,加上fileencodings、enc、fencs,代码如下:
vim ~/.vimrc #或者vim /home/oracle(用户名)/.vimrc
#添加如下代码
set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
set enc=utf8
set fencs=utf8,gbk,gb2312,gb18030
navicat连接失败 ora 1251
// 查看数据库sid
su - oracle
echo $ORACLE_SID
进入 ORACLE_HOME/network/admin/ 目录,如果不知道ORACLE_HOME路径,可以使用echo $ORACLE_HOME查询
修改其中的istener.ora文件
// XE使用echo $ORACLE_SID查看
(SID_DESC =
(GLOBAL_DBNAME = XE)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(SID_NAME = XE)
)
重启
// 切换用户
su - oracle
// 停止监听
lsnrctl stop
启动监听
lsnrctl start
// 登录sqlplus
sqlplus /nolog
// 连接数据库
conn / as sysdba
// 停止服务,sql命令
shutdown immediate;
// 启动,sql命令
startup
卸载
修改数据库实例名(sid)与数据库名(dbname)
查询
su - oracle
// 查询实例名
echo $ORACLE_SID
// 查询数据库名
select name from v$database;
关闭数据库
// 登录sqlplus
sqlplus /nolog
// 连接数据库
conn / as sysdba
// 停止服务,sql命令
shutdown immediate;
修改环境配置
// 将export ORACLE_SID=XE修改为export ORACLE_SID=ORCL
vim ~/.bash_profile
// ORCL:/u01/app/oracle/product/11.2.0/xe:N 修改为ORCL:/u01/app/oracle/product/11.2.0/xe:N
vim /etc/oratab
进入ORACLE_HOME/dbs将所有包含原来sid的文件名修改为新的sid的
使环境变量生效
. ~/.bash_profile
echo $ORACLE_SID
因为口令文件改名后不能在新实例中使用,所以重建引用(这一步没用过,不用口令文件可以不管):
oracle@oracle[/oracle/app/10.1/dbs]> orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y
oracle@oracle[/oracle/app/10.1/dbs]> ls -lrt orapw*
-rw-r----- 1 oracle oinstall 2048 Dec 20 11:27 orapwcnhtm
启动数据库,见最上面
https://www.cnblogs.com/muhehe/p/7816808.html
https://wiki.centos.org/zh/HowTos/Oracle12onCentos7
https://blog.csdn.net/weixin_33709219/article/details/92727187
https://blog.csdn.net/wangwenzhe222/article/details/81983813
https://blog.csdn.net/qq_36659897/article/details/84100308
https://blog.csdn.net/csdn_0706/article/details/100269519
