怎么在linux下安装oracle数据库

怎么在linux下安装oracle数据库,第1张

在linux下安装oracle数据库步骤:

1、下载oracle安装文件

一、检查必要条件

11、检查内存及交换分区

Oracle要求2GB以上的内存

#查看内存大小

grep MemTotal /proc/meminfo

#查看交换区大小

grep SwapTotal /proc/meminfo

#也可以使用下面的命令查看内存大小

free -m1234567

交换分区要求

内存大小

交换分区要求

1GB~2GB 内存的15倍

2GB~16GB 和内存大小相等

大于16GB 16GB

12、确认 *** 作系统位数

[root@FSWWOA /]# uname -m

x86_6412

x86_64:表示用的是Intel的处理器,并且 *** 作系统是64位的

i386:表示是32位

13、检查硬盘空间

#查看临时目录空间

[root@FSWWOA /]# df -h /tmp

#查看硬盘总空间

[root@FSWWOA /]# df -h1234

Oracle安装是要求/tmp目录要有至少1GB的空间。

以下是Oracle各个版本安装是所需的空间

版本

所需空间

Enterprise Edition(企业版) 47GB

Standard Edition(标准版) 46GB

二、安装必要软件

首先需要检查系统版本,然后从Oracle官方文档中找到对应的Linux版本。

[root@FSWWOA /]# cat /proc/version

Linux version 2632-71el6x86_64 (root@CentOS6064localdomain) (gcc version 444 20100726 (Red Hat 444-13) (GCC) ) #1 SMP Wed Feb 29 15:21:16 CST 201212

Oracle官方文档中对应的版本如下

On Red Hat Enterprise Linux 6

2632-71el6x86_64 or later

然后根据Linux版本找到其必要安装的软件,如下

The following or later version of packages for Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4 must be installed:

binutils-2205102-511el6 (x86_64)

compat-libcap1-110-1 (x86_64)

compat-libstdc++-33-323-69el6 (x86_64)

compat-libstdc++-33-323-69el6i686

gcc-444-13el6 (x86_64)

gcc-c++-444-13el6 (x86_64)

glibc-212-17el6 (i686)

glibc-212-17el6 (x86_64)

glibc-devel-212-17el6 (x86_64)

glibc-devel-212-17el6i686

ksh

libgcc-444-13el6 (i686)

libgcc-444-13el6 (x86_64)

libstdc++-444-13el6 (x86_64)

libstdc++-444-13el6i686

libstdc++-devel-444-13el6 (x86_64)

libstdc++-devel-444-13el6i686

libaio-03107-10el6 (x86_64)

libaio-03107-10el6i686

libaio-devel-03107-10el6 (x86_64)

libaio-devel-03107-10el6i686

make-381-19el6

sysstat-904-11el6 (x86_64)1234567891011121314151617181920212223

检查系统是否安装以上的软件,如果没有安装则安装这些软件

yum install -y binutilsx86_64 binutils-develx86_64

yum install -y compat-libcap1x86_64

yum install -y compat-libstdc++-33x86_64

yum install -y compat-libstdc++-33i386

yum install -y gccx86_64 gcc-c++x86_64

yum install -y glibcx86_64 glibci686 glibc-develx86_64 glibc-develi386

yum install -y kshx86_64

yum install -y libgcci386 libgccx86_64

yum install -y libstdc++i386 libstdc++x86_64 libstdc++-develi386 libstdc++-develx86_64

yum install -y libaio libaio-devel

yum install -y makex86_64

yum install -y sysstatx86_64

yum install -y pdkshx86_64

/-------------------------------------/

yum install -y unixODBCx86_64 unixODBCi386 unixODBC-develi386 unixODBC-develx86_64123456789101112131415

三、创建Oracle用户和组

[root@FSWWOA /]# groupadd dba

[root@FSWWOA /]# groupadd oinstall

#添加用户

[root@FSWWOA /]# useradd -g oinstall -G dba oracle

#设置Oracle的密码

[root@FSWWOA /]# pwd oracle oracle

#这里密码使用:oracle12345678

四、修改系统参数

41、修改用户的SHELL的限制

修改/etc/security/limitsconf文件

vi /etc/security/limitsconf1

然后在文件中添加如下内容

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 655361234

42、修改/etc/pamd/login 文件

vi /etc/pamd/login1

然后在文件中添加如下内容

session required /lib/security/pam_limitsso

session required pam_limitsso12

43、修改系统核心参数

修改/etc/sysctlconf文件vi /etc/sysctlconf,然后在文件中加入

fsaio-max-nr = 1048576

fsfile-max = 6815744

kernelshmall = 2097152

kernelshmmax = 536870912

kernelshmmni = 4096

kernelsem = 250 32000 100 128

netipv4ip_local_port_range = 9000 65500

netcorermem_default = 262144

netcorermem_max = 4194304

netcorewmem_default = 262144

netcorewmem_max = 10485761234567891011

执行sysctl -p是配置立刻生效。使用sysctl -a查看所有系统参数。

五、创建Oracle安装目录

51创建Oracle安装目录

cd /u01

mkdir -p app/oracle/product/1120/dbhome_1

mkdir app/oradata123

52修改目录所有者

[root@FSWWOA u01]# chown -R oracle:oinstall app

[root@FSWWOA u01]# ll

总用量 20

drwxr-xr-x 4 oracle oinstall 4096 11月 25 08:46 app

drwx------ 2 root root 16384 11月 24 14:29 lost+found12345

六、修改系统环境变量

使用vi ~/bash_profile打开环境变量配置文件。加入如下内容

export ORACLE_BASE=/u01/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/1120/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export NLS_LANG=SIMPLIFIED CHINESE_CHINAZHS16GBK 123456

然后使用source ~/bash_profile是配置立即生效。使用env | grep ORACLE可以查看环境变量配置。

七、安装Oracle

71解压Oracle安装文件

将Oracle拷贝至Linux服务器上,然后解压

unzip linuxx64_11gR2_database_1of2zip

unzip linuxx64_11gR2_database_2of2zip12

如果使用光盘安装,则使用mount -t iso9660 /dev/dvd /mnt/dvd挂载光盘

72设置安装环境

如果Linux系统字符编码是中文的,在安装过程中Oracle安装界面会全部乱码。可使用export LANG=en_US,将会话的字符集改为英文字符集,然后再安装就不会出现乱码。

另外,Oracle安装时需要图形界面的支持。

剩余部分见PDF文档(后续太多不再一一上传),剩余部分如下:

73开始安装Oracle

八、测试安装结果

九、修改防火墙配置,将Oracle端口添加到例外

十、将Oracle设置自启动

十一、设置Oracle用户名密码不区分大小写

关于更多Linux的学习,请查阅书籍《linux就该这么学》。

oracle 11g可以使用内置sysdba用户来登录,然后为sys和system用户设置密码,步骤如下:

1、打开运行窗口。

2、打开命令窗口,输入sqlplus "/ as sysdba" 进入oracle后台管理界面(注意标点符号全部英文小写)。

3、登录成功,如下图所示。

4、输入alter user 用户名 identified by新密码来修改忘记设置用户的密码(注意标点符号全部英文小写)。

5、回车 修改成功可用conn 用户名/新密码连接测试。

6、打开iE登录地址,输入帐号密码,和选择连接数据库。

7、登录成功。

在使用C++连接数据库的时候,你可以选择ODBC或者ADO等方式,但是OTL连接数据库确实挺方便的,它所有的代码都放在一个头文件otlv4h中,我们在写程序的时候直接将头文件包含进来,就可以调用其中的类中的函数进行数据库的连接,增删改查等 *** 作。最近一直在使用Oracle数据库,这次就使用OTL连接Oracle数据库,Oracle数据库提供一个调用的接口(OCI),是Oracle公司开发的一个应用程序开发工具,是一个通过访问Oracle数据库的服务器,控制各类sql语句的执行,进而创建应用程序接口(API),OTL就是通过OCI对Oracle数据库进行 *** 作。

下面就是我写过的一个实际例子,比较简单,只是为了登录数据库,并不进行其他 *** 作,主要目的是学会使用OTL:

1 所需文件:

首先我们应该从网上下载OTL的源码也就是 otlv4h 这个头文件。

然后打开Oracle的安装目录E:\product\1120\dbhome_1\OCI 找到oci文件夹将整个文件夹拷贝出来,文件夹中包含include文件夹和lib文件夹。

2示例:

打开VS2008创建一个MFC工程,名称为mfc_one (其它的就不多说了,这个都很清楚),然后打开工程目录,将OCI这个文件夹直接拷贝到工程目录下,在工程目录下新建一个文件夹OTL,将otlv4h这个头文件放进这个文件夹中。

接下来就是配置项目属性,将文件包含进来,在mfc_oneDlgh和mfc_oneDlgcpp中都需要将otlv4h这个头文件包含进去 (#include"otlv4h"

windows系统上安装Oracle数据库如下:准备:windows7 32位 *** 作系统。

oracle 10g 安装数据包。

安装步骤:

1选择压缩包并解压,然后点击“setupexe”即可开始安装

2当检查通过后打开安装向导对话框,选择高级安装如图:根据需要设置安装路径,按图中提示设置相应信息(如下图),点击“下一步”

3点击“下一步”进入“Oracle Universal Installer:指定文件位置”(如下图)

4设置源“路径”、“名称”和目的“路径”:“名称”对应ORACLE_HOME_NAME环境变量,“路径”对应ORACLE_HOME环境变量(如下图)

5“下一步” 进入“Oracle Universal Installer:选择安装类型”(如下图)

6进入“Oracle Universal Installer:选择数据库配置”(如下图)

7保持默认值,下一步,进入“Oracle Universal Installer:指定数据库配置选项”,指定“全局数据库名”和“SID”,对这两个参数的指定一般相同,例如:oract,也可以将“全局数据库名”设置为域名。例如:oractabccom。如果选择“创建带样本方案的数据库,OUI会在数据库中创建HR、OE、SH等范例方案(sample schema)(如下图)

8下一步,进入“Oracle Universal Installer:选择数据库管理选项”(如下图)

9保持默认值,下一步,进入“Oracle Universal Installer:指定数据库文件存储选项”(如下图)

10保持默认值,下一步,进入“Oracle Universal Installer:指定备份和恢复选项”(如下图)

11保持默认值,单击“下一步”,进入“Oracle Universal Installer:指定数据库方案的口令”,对不同的帐户设置不同的口令。(如下图)

12单击“下一步”,继续安装,进入“Oracle Universal Installer:概要”,单击“安装”(如下图)

13开始安装过程根据机器性能不同所需时间不同,一般情况二十分钟左右(如下图)

14单击“口令管理”,进入“口令管理”窗口(如下图)

15解锁用户HR、OE和SCOTT,输入HR和OE的口令,SCOTT的默认口令为tiger(如下图)

16在自动打开的浏览器中以sys账户sysdba身份登录10g的企业管理器安装成功。(如下图)

提示:如果出现出现证书错误的情况,按下面方法 *** 作。

方法一:

直接点击“继续浏览此网站”即可。

方法二:

打开浏览器,工具菜单→INTERNET选项→高级→还原默认设置

第一个类:

package totabelaction;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaxswingJOptionPane;

import topdfTableToPdf;

import totabelviewTabelData;

import totabelxlsExcelDemo;

public class TableAction implements ActionListener {

TabelData data;

public TableAction(TabelData data) {

thisdata = data;

}

public void actionPerformed(ActionEvent e) {

String str = egetActionCommand();

if ("添加"equals(str)) {

dataaddData();

} else if ("导出到Excel"equals(str)) {

ExcelDemo demo = new ExcelDemo();

demomethod(data);

} else if ("删除"equals(str)) {

if (datagetRow() != -1) {

datadelRow();

} else {

JOptionPaneshowMessageDialog(null, "请选择要删除的行!");

}

}else if("从Excel导入"equals(str)){

datagetXlsInfo();

}else if("从Excel导入到数据库"equals(str)){

datatoDb();

}else if("从table导出到pdf"equals(str)){

TableToPdf pdf=new TableToPdf();

pdfnewPage(data);

}else if("计算学分"equals(str)){

datagetXlsInfoToCredit();

}

}

}

第二个类:数据库连接

package totabeldb;

import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlSQLException;

import javasqlStatement;

public class JdbcConnection {

private static JdbcConnection con;

public static JdbcConnection getCon() {

if (con == null) {

con = new JdbcConnection();

}

return con;

}

public Connection getConnection() {

Connection connection=null;

try {

ClassforName("oraclejdbcOracleDriver");

String url = "jdbc:oracle:thin:@127001:1521:oracle";

String user = "scott";

String password = "tiger";

connection = DriverManagergetConnection(url, user,

password);

} catch (ClassNotFoundException e) {

eprintStackTrace();

} catch (SQLException e) {

eprintStackTrace();

}

return connection;

}

// public static void main(String[] args) {

// JdbcConnection connection=new JdbcConnection();

// connectiongetConnection("asd", "99");

// }

}

第三个类:主类(入口)

package totabeldb;

import javasqlConnection;

import javasqlDriverManager;

import javasqlResultSet;

import javasqlSQLException;

import javasqlStatement;

public class JdbcConnection {

private static JdbcConnection con;

public static JdbcConnection getCon() {

if (con == null) {

con = new JdbcConnection();

}

return con;

}

public Connection getConnection() {

Connection connection=null;

try {

ClassforName("oraclejdbcOracleDriver");

String url = "jdbc:oracle:thin:@127001:1521:oracle";

String user = "scott";

String password = "tiger";

connection = DriverManagergetConnection(url, user,

password);

} catch (ClassNotFoundException e) {

eprintStackTrace();

} catch (SQLException e) {

eprintStackTrace();

}

return connection;

}

// public static void main(String[] args) {

// JdbcConnection connection=new JdbcConnection();

// connectiongetConnection("asd", "99");

// }

}

第四个类:

package totabelxls;

import javaioFile;

import javaioIOException;

import javautilVector;

import javautilregexMatcher;

import javautilregexPattern;

import javaxswingJOptionPane;

import totabelviewTabelData;

import jxlCell;

import jxlSheet;

import jxlWorkbook;

import jxlreadbiffBiffException;

import jxlwriteLabel;

import jxlwriteWritableSheet;

import jxlwriteWritableWorkbook;

import jxlwriteWriteException;

import jxlwritebiffRowsExceededException;

public class ExcelDemo {

/

@param args

/

private Vector title = new Vector();

private Vector[] array;

// public static void main(String[] args) {

// ExcelDemo demo = new ExcelDemo();

// demogetXlsInfo();

//

// }

public void method(TabelData table) {

int row = tablegetRowSize();

int column = tablegetColumnSize();

WritableWorkbook book = null;

Vector title = tablesetTitle();

Object[] str = titletoArray();

try {

book = WorkbookcreateWorkbook(new File("testxls"));

WritableSheet sheet = bookcreateSheet("成绩表", 0);

for (int i = 0; i < strlength; i++) {

sheetaddCell(new Label(i, 0, (String) str[i]));

}

for (int i = 1; i < row + 1; i++) {

for (int j = 1; j < column + 1; j++) {

sheetaddCell(new Label(j - 1, i, tablegetTableInfo(i - 1,

j - 1)));

}

}

bookwrite();

JOptionPaneshowMessageDialog(null, "导出完成!");

} catch (IOException e) {

eprintStackTrace();

} catch (RowsExceededException e) {

eprintStackTrace();

} catch (WriteException e) {

eprintStackTrace();

} finally {

try {

bookclose();

} catch (WriteException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

}

}

}

/

输出Excel的数据到表单

@return

/

public Vector getXlsInfo() {

Vector v = new Vector();

jxlWorkbook rwb = null;

int index = 0;

try {

rwb = jxlWorkbookgetWorkbook(new File("testxls"));

Sheet[] sheet = rwbgetSheets();

for (int i = 0; i < sheetlength; i++) {

int rs = sheet[i]getRows();

array = new Vector[rs - 1];

for (int j = 1; j < rs; j++) {

Cell[] cell = sheet[i]getRow(j);

Vector info = new Vector();

for (int k = 0; k < celllength; k++) {

infoadd(cell[k]getContents());

}

array[index] = info;

index++;

vadd(info);

}

Cell[] titleCell = sheet[i]getRow(0);

for (int j = 0; j < titleCelllength; j++) {

titleadd(titleCell[j]getContents());

}

}

} catch (BiffException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

} finally {

rwbclose();

}

return v;

}

public Vector getXlsInfoToCredit() {

Vector v = new Vector();

jxlWorkbook rwb = null;

try {

rwb = jxlWorkbookgetWorkbook(new File("d:/test/信科0821(南迁)xls"));

Sheet[] sheet = rwbgetSheets();

for (int i = 0; i < sheetlength; i++) {

int rs = sheet[i]getRows();

array = new Vector[rs - 1];

for (int j = 1; j < rs; j++) {

Cell[] cell = sheet[i]getRow(j);

Vector info = new Vector();

for (int k = 0; k < celllength; k++) {

// if(){

Pattern p = Patterncompile("[0-9]{1,}");

Matcher m = pmatcher(cell[k]getContents());

if (mmatches()) {

int score = IntegervalueOf(cell[k]getContents());

float result = getScore(score);

infoadd(result);

} else {

infoadd(cell[k]getContents());

}

}

vadd(info);

}

Cell[] titleCell = sheet[i]getRow(0);

for (int j = 0; j < titleCelllength; j++) {

titleadd(titleCell[j]getContents());

}

}

} catch (BiffException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

} finally {

rwbclose();

}

return v;

}

public float getScore(int n) {

float score = n;

if (n < 60) {

score = 0;

return score;

} else {

if (n >= 60 && n <= 63) {

score = (float) 10;

} else if (n >= 64 && n <= 67) {

score = (float) 13;

} else if (n >= 68 && n <= 71) {

score = (float) 17;

} else if (n >= 72 && n <= 75) {

score = (float) 20;

} else if (n >= 76 && n <= 79) {

score = (float) 23;

} else if (n >= 80 && n <= 83) {

score = (float) 27;

} else if (n >= 84 && n <= 87) {

score = (float) 30;

} else if (n >= 88 && n <= 91) {

score = (float) 33;

} else if (n >= 92 && n <= 95) {

score = (float) 37;

} else if (n >= 96 && n <= 100) {

score = (float) 40;

}

return score;

}

}

public Vector getTitle() {

// getXlsInfo();

return title;

}

public Vector[] getArray() {

getXlsInfo();

return array;

}

}

因为时间问题就没有再写了,上面是我以前做的,不懂就q我

以上就是关于怎么在linux下安装oracle数据库全部的内容,包括:怎么在linux下安装oracle数据库、oracle 11g 安装和使用、otl格式文档怎么下载等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9509222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存