在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格式文档怎么下载等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)