当前位置:首页 > 技术知识 > 正文内容

搭建Oracle数据库服务器_如何搭建oracle数据库环境

maynowei2周前 (08-19)技术知识7

【十一】搭建Oracle数据库服务器

下面介绍 Oracle12c_R2 的安装。

一)建用户,组,目录,权限

1)创建用户和组

有两个组,oinstall是主组,dba是附组:

[root@alex ~]#groupadd oinstall
[root@alex ~]#groupadd dba
[root@alex ~]#groupadd oper
[root@alex ~]#useradd oracle -g oinstall -G dba,oper
[root@alex ~]#passwd oracle

Changing password for user oracle.

New UNIX password:oracle

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:oracle

passwd: all authentication tokens updated successfully.

2)创建oracle安装目录

[root@alex ~]#mkdir -p /u01/oracle
[root@alex ~]#chown -R oracle:oinstall /u01
[root@alex ~]#chmod -R 775 /u01/oracle

二)设置系统参数

1)根据Oracle11gR2文档,设置核心参数(忽略)

2)设置Shell Limits(系统资源限制),提高软件的运行效率(忽略)

3)在/etc/pam.d/login文件中加入下列行(忽略)

4)在
/home/oracle/.bash_profile中删掉原来的最下面三行,然后加添下面的oracle环境变量

# add for oracle11g
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=prod
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
NLS_LANG="simplified chinese"_china.AL32UTF8
export NLS_LANG
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
export NLS_TIMESTAMP_FORMAT='yyyy-mm-dd HH24:MI:SSXFF'
export NLS_TIMESTAMP_TZ_FORMAT='yyyy-mm-dd HH24:MI:SSXFF TZR'

上传Oracle安装介质

[root@alex ~]# mkdir /soft
[root@alex ~]#cd /soft
[root@localhost soft]# ll

total 2625184

-rw-r--r--. 1 root root 1673544724 Jan 8 22:50 linuxamd64_12102_database_1of2.zip

-rw-r--r--. 1 root root 1014530602 Jan 8 22:49 linuxamd64_12102_database_2of2.zip

-rw-r--r--. 1 root root 95240 Jan 8 22:49 rlwrap-0.42-1.el6.x86_64.rpm

[root@alex soft]# rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm
[root@alex soft]#unzip linuxx64_12201_database.zip

三)安装Oracle软件

1)启动Xmanager Passive

2)在Oracle 用户下安装oracle 软件

[root@alex ~]# su - oracle
[oracle@alex ~]$ cd /soft/database
[oracle@alex database]$ export DISPLAY=192.168.3.100:0.0
[oracle@alex database]$ ./runInstaller

激活runInstaller图形界面,后面需要运行的图形界面软件,也直接在这个X窗口执行调用。

选仅安装数据库软件,层次更清晰

这些目录是从.bash_profile中读出来的,请核对

Orainventory记录安装过程,类似日志,这里修改了一下,原来的位置是/目录,由于oracle用户权限问题,放到/u01下。

dba组的特权说明,这个Linux组的用户可以使用OS验证登录oracle

[root@alex ~]# /tmp/CVU_12.1.0.2.0_oracle/runfixup.sh

All Fix-up operations were completed successfully.

执行完脚本后,退一步再检查一下

使用yum 把这些包都装上,装完别忘了umount 和卸载光盘。

在root用户下依次执行两个脚本:

第一个脚本是授权,第二个脚本修改了/etc/oratab配置文件

执行脚本后,回到图形界面,点击OK,最后点击close结束安装。

四)NETCA配置监听器

安装前首先检查三个网络文件已经配置好,X窗口内netca激活图形界面。

这一步主要是为后面EM软件安装启动一个监听器,一路回车即可。

五)DBCA创建数据库

X窗口内dbca激活图形界面

单实例数据库名和实例名同名即可。

初学者使用文件系统,后续的RAC介绍将涉及ASM。

可以启用归档,也可以将来再配置

勾选示例方案,就有了HR用户

数据库字符集选AL32UTF8,这是Oracle推荐的Unicode标准

安装完毕,点击退出选项。

可以设置sqlplus显示效果,指定列表宽度和页长度:

[root@alex ~]#vi /u01/oracle/sqlplus/admin/glogin.sql 末尾添加
set linesize 120
set pagesize 50
set sqlprompt '_user@ _connect_identifier>'
define _editor=vi

六)测试安装

1)验证数据库启动关闭正常,访问scott的emp表正常

#su - oracle
$sqlplus / as sysdba    sys用户登录数据库,数据库已经OPEN了
SYS@ prod>@/u01/oracle/rdbms/admin/utlsampl.sql    12C默认没有Scott用户,用脚本建立之
SQL>alter user scott identified by scott account unlock;
SQL>conn scott/scott
SQL>select * from emp;
SOL>conn / as sysdba;    连接sys用户
SQL>shutdown immediate;    关闭数据库
SOL>startup    启动数据库

2)验证监听启动正常,再克隆一个session

#su – oracle
$lsnrctl status
$lsnrctl stop
$lsnrctl start

3)做备份

导出虚机,生成.ova文件,大功告成。


the end !!!

@jackman 共筑美好!

相关文章

伪装成抖音国际版Tiktok的短信蠕虫

概述近期监测到一款仿冒Tiktok的短信蠕虫,该短信蠕虫最明显的特点就是针对Android系统版本高于6.0以上的设备,由于Android版本的更新迭代,现在大部分设备已经更新到较高的版本,通过不完全...

记录程序第一天挖漏洞的过程(挖漏洞需要学什么语言)

第一个漏洞复现fastjson漏洞说明:在本地这个fastjson会出现问题复现的过程生成一个java文件进行攻击注入的方式javac Exploit.java但是必须编译成.class文件才能执行p...

Flutter 之 ListView(flutter框架)

在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景ListView 构造方法ListView:仅适用于列表中...

那些技术—Listview的性能提高篇(listview提高效率)

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。 · 1.在adapter中的...

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

Qt QWaitCondition 的正确使用方法

简单用法QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往...