1.准备环境
1.工具Xshell用于操作CentOS7.4
2.CentOS7.4【虚拟机】安装oracle
3.windows7【物理机】用于远程访问oracle
4.SqlDeveloper【windows7上安装】
5.instantclient_12_2【oracle的client,windows上,用于连接oracle】
2.检查相关的依赖包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
rpm -q binutils compat-libcap1 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel
libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++
libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel
gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
发现没有下载的,直接下载
3.创建Oracle用户和相应的属组
groupadd oinstallgroupadd dba
useradd -g oinstall -G dba oracle
passwd oracle #密码暂定为oracle
4.创建目录修改属组和权限
mkdir -p /u01/app/oracle/product/12.2.0/db_1mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oracle/inventory
mkdir -p /u01/app/oracle/fast_recovery_area
chown -R oracle.oinstall /u01/app/oracle
chmod -R 755 /u01/app/oracle
语句的作用依次为:前面创建的目录主要作用为
Oracle家目录、数据文件存放位置,安装日志存放位置,快速恢复区
修改属组,修改权限
5.解压oracle的软件包
这里的安装包的目录在/oracle/目录下
6.修改服务器的配置文件
vim /etc/hosts
在文件中加入
192.168.145.142 localhost
127.0.0.1 localhost
这里的ip192.168.145.142是centos的ip
7.关闭防火墙,这里为了方便起见;也可以开启防火墙,在规则列表中开放1521端口
8.关闭selinux
vim /etc/selinux/config
添加SELINUX=disabled ,若有selinux则将值设置成disable
9.修改内核参数
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
然后执行
sysctl –p
使配置生效
10.修改用户限制文件
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
11.修改/etc/pam.d/login文件
vim /etc/pam.d/login
添加以下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
经过这几部配置服务器信息已经配置完。下面开始切换到Oracle用户进行配置和安装
12.切换Oracle用户进行环境变量配置
su - oracle
vim .bash_profile
在文件中添加ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
保存退出后使配置文件生效
source .bash_profile
12.编辑静默安装响应文件
chown -R oracle.oinstall /oracle
备份文件
cp db_install.rsp db_install.rsp.bak
然后编辑这个文件
vim db_install.rsp
需要设置的选项如下:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=diwuqingrou #使用hostname命令查看,替换diwuqingrou
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
13.开始安装
su - oracle
cd /oracle/database
切换到oracle用户,进入/oracle/database执行
./runInstaller -force -silent -noconfig -responseFile /u01/database/response/db_install.rsp
14.安装之后需要执行两个脚本
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12.2.0/db_1/root.sh
15.接下来是配置监听器
netca -silent -responsefile /oracle/database/response/netca.rsp
16.创建数据库
vim /home/oracle/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0 gdbName=orcl sid=orcl databaseConfigType=SI RACOneNodeServiceName= policyManaged=false createServerPool=false serverPoolName= cardinality= force=false pqPoolName= pqCardinality= createAsContainerDatabase=true numberOfPDBs=1 pdbName=orclpdb useLocalUndoForPDBs=true pdbAdminPassword= nodelist= templateName=/u01/app/oracle/product/12.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc sysPassword= systemPassword= serviceUserPassword= emConfiguration= emExpressPort=5500 runCVUChecks=false dbsnmpPassword= omsHost= omsPort=0 emUser= emPassword= dvConfiguration=false dvUserName= dvUserPassword= dvAccountManagerName= dvAccountManagerPassword= olsConfiguration=false datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/ datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/ recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME} storageType=FS diskGroupName= asmsnmpPassword= recoveryGroupName= characterSet=AL32UTF8 nationalCharacterSet=AL16UTF16 registerWithDirService=false dirServiceUserName= dirServicePassword= walletPassword= listeners=LISTENER variablesFile= variables=DB_UNIQUE_NAME=orcl,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=orcl,ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1,SID=orcl initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300 sampleSchema=false memoryPercentage=40 databaseType=MULTIPURPOSE automaticMemoryManagement=true totalMemory=0
创建数据库;
dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp
17.修改监听器
修改network/admin/listener.ora中的host为本机的ip
18.配置远程client连接
1.在instantclient_12_2目录中创建文件夹
我的目录是在D:\Downloads\instantclient_12_2
在下面创建文件夹network,network下面创建admin
创建之后的路径 D:\Downloads\instantclient_12_2\network\admin
在admin目录创建tnsname.ora文件,接着在里面添加
CentosOracle = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.145.142)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
HOST = 192.168.145.142应该换成对应虚拟机centos的ip
2.添加一个环境变量
名为TNS_ADMIN,值为tnsnames.ora文件所在路径D:\Downloads\instantclient_12_2\network\admin,plsql通过这个找到orcl连接字符串
名为NLS_LANG,值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN=D:\Downloads\instantclient_12_2\network\admin
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
Oracle主目录: D:\Downloads\instantclient_12_2
OCI库:D:\Downloads\instantclient_12_2\network\admin\oci.dll
19.回到centos7.4,在数据库服务器中启动监听并更新注册
依次执行命令:
su - oracle
lsnrctl stop
lsnrctl start
sqlplus / as sysdba
shutdown immediate
startup
alter system register
quit
lsnrctl status
20.回到windows7,打开sqlpdeveloper
输入用户名
密码
数据库:这里填写在D:\Downloads\instantclient_12_2\network\admin中tnsname.ora中定义的名字
我这里是CentosOracle
连接为,这个选项根据用户的权限选择
点击确认就可以连接了