64位ubuntu10.04 LTS安装oracle10g笔记

来源:互联网 发布:薛之谦淘宝女装品牌 编辑:程序博客网 时间:2024/05/12 09:42

(1) 把系统更新到最新,安装如下包

sudo apt-get install alien binutils gcc ia32-libs lesstif2 lesstif2-dev lib32stdc++6 lib32z1 libaio1 libc6 libc6-dev libc6-dev-i386 libc6-i386 libmotif3 make libstdc++5 rpm

 

(2) 创建用户

$ sudo adduser oracle

 

(3) 创建安装目录

$ sudo mkdir -p /opt/oracle/db $ sudo chown -R oracle:oracle /opt/oracle

 

(4) 修改/etc/sysctl.conf 添加如下几行到/etc/sysctl.conf 中

kernel.shmmax = 3147483648

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

 

 

修改/etc/security/limits.conf 添加如下几行到/etc/security/limits.conf

* soft nproc 2407

* hard nproc 16384

* soft nofile 1024

* hard nofile 65536

 

让修改后的参数生效

$ sudo sysctl -p

 

创建链接:

 

$ sudo ln -s /usr/bin/awk /bin/awk

$ sudo ln -s /usr/bin/rpm /bin/rpm

$ sudo ln -s /usr/bin/basename /bin/basename

 

 

(5) 设置用户环境

切换到oracle 用户

$ su oracle

编辑 /home/oracle/.bashrc

#增加如下内容

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_2

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

export ORACLE_OWNER=oracle

export ORACLE_SID=orcl

export ORACLE_TERM=xterm

 

(6) 开始做安装准备

需要在/etc/ 目录下创建一个文件redhat-release , 需要权限进行创建,创建好后添加如下内容

$ sudo vim /etc/redhat-release

 

#添加

Red Hat Linux release 3.1 (drupal)

 

然后在本机(windows) 下载一个xmanager ,安装后xstart 连接到Ubuntu 上,

 

xmanager 下载地址:http://www.onlinedown.net/softdown/32684_2.htm

 

安装后进行配置,protocol 配置成SSH,Execution Command 选择:xterm(Linux: Type 2)

 

(7) 安装 oracle

 

到 http://www.oracle.com/technology/software/products/database/index.html下载相应的版本,注意查看自己的机器是 32 位的还是 64 位的

 

需要注册一个用户名和密码,是免费的哦。

然后登录到 xmanager ,进行如下的操作

# 前面提到过需要 oracle 进行安装,现在注销下系统改成 oracle 进行登录

$ unzip 10201_database_linux32.zip( 如果下载的是 .cpio 文件,就用 cpio -idmv < 10201_database_linux_x86_64.cpio 来解压)

$ cd database

为了后面安装的时候界面不显示中文乱码,可以安装一下 jdk ,但是我直接选择使用英文显示,这样就不用安装 jdk ,直接在命令行输入如下命令就行了

$ export LANG=en_US 然后运行如下命令 , 就进入 oracle 的安装界面了

$ ./runInstaller

 

(8) 安装过程中遇到的问题:

1. 在安装的过程中会报各种错误,但是最好是时刻查看一下 $ORACLE_HOME/oraInventory/logs 以 installActions 开头的日志,这个日志里面显示的内容比较全。出错信息也比较多。

 

2. 因为在前面的配置文件中设置了 $ORACLE_SID 等于 orcl ,所以在安装的过程中最好默认选择这个,并要记录下你的 global database name 和 database password 信息

 

3. 在安装的过程中遇到了 ora-27125 unable to create shared memory segment 的错误,这个时候查看 installerActions 日志,会有详细信息,因为每次安装的错误原因都不一样, 所以可能解决方式都会不一样,但是我这个错误网上写的是 export DISABLE_HUGETLBFS=1 ,但是不太生效,我查了很多资料终于搞清楚了,要解决该问题,在 Oracle 用户下执行 $export DISABLE_HUGETLBFS=1  

 

# cd $ORACLE_HOME/bin   

# mv oracle oracle.bin   

# cat >oracle <<"EOF"   

#!/bin/bash   

export DISABLE_HUGETLBFS=1   

exec $ORACLE_HOME/bin/oracle.bin $@   

EOF   

#chmod +x oracle

 

这样解决问题后,后面的安装就很顺畅,这个问题不解决,后面就进行不下去,当然可能产生这个错误的原因是别的,要自己尝试

 

4 .Error in invoking target 'all_no_orcl ihsodbc' of makefile '/opt/oracle/db/rdbms/lib/ins_rdbms.mk'. See '/opt/oracle/oraInventory/logs/installActions2010-08-02_02-14-48PM.log' for details.

 

出现这个问题, 是因为oracle编译时需要用libstdc++.so.5 ,

解决办法:

 

a:做个软链接 sudo ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5(一般使用这种方法就可以解决,如果此方法无法解决,那么请往下看)

 

b:你的libstdc++.so版本过高,这样你需要下载libstdc++.so.5,现特别附上下载地址: http://packages.ubuntu.com/jaunty/libstdc++5

 

c:你的系统没有安装libstdc++.so,知道该怎么做了吧.

 

5 . 安装到最后会弹出一个界面,提示 需要用 root 用户去运行两个脚本文件 orainstRoot.sh 和 root.sh 这个时候不要点 OK ,打开终端用 root 进行登录,执行就可以了。 如果需要安装配置新的数据库 ,则在 xmanager 中输入命令 dbca 就可以了,其实在 oracle 安装过程中会默认创建一个数据库的也就是我们配置的 orcl ,所以在安装的过程中就会在后台自动调用 dbca ,如果安装过程不出错,后面调用 dbca 的时候也不会出错。

 

============================================================================================ oracle 的卸载,在 linux 下卸载 oracle 非常容易,命令如下:

 

1. 运行 $ORACLE_HOME/bin/localconfig delete   

2. rm -rf $ORACLE_BASE/*   

3. rm -f /etc/oraInst.loc /etc/oratab   

4. rm -rf /etc/oracle   

5. rm -f /etc/inittab.cssd   

6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv

7. rm -rf $ORCLE_HOME

 

Oracle 安装完后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。

 

先用 sqlplus /nolog 登录

然后 connect / as sysdba 或者 connect sys/sys 的密码 @ 数据库名 as sysdba

 

1 . 假如现在已经建好名为 'news' 的数据库,此时在 /oracle/product/10.1.0/oradata/ 目录下已经存在 news 目录(注意:我的 Oracle10g 安装在 /oracle 下,若你的 Oracle 安装在别的目录,那么你新建的数据库目录就在 */product/10.1.0/oradata/ 目录下)。

2. 在创建用户之前,先要创建表空间:

其格式为: create tablespace 表间名 datafile ' 数据文件名 ' size 表空间大小 ;

如:

SQL> create tablespace news_tablespace datafile 'F:/oracle/product/10.1.0/oradata/news/news_data.dbf' size 500M;

其中 'news_tablespace' 是你自定义的表空间名称,可以任意取名; 'F:/oracle/product/10.1.0/oradata/news/news_data.dbf' 是数据文件的存放位置, 'news_data.dbf' 文件名也是任意取; 'size 500M' 是指定该数据文件的大小,也就是表空间的大小。

 

3. 现在建好了名为 'news_tablespace' 的表空间,下面就可以创建用户了: 其格式为:格式 : create user 用户名 identified by 密码 default tablespace 表空间表 ;

如:

SQL> create user news identified by news default tablespace news_tablespace;

 默认表空间 'default tablespace' 使用上面创建的表空间。

 

4. 接着授权给新建的用户:

SQL> grant connect,resource to news; -- 表示把 connect,resource 权限授予 news 用户

SQL> grant dba to news; -- 表示把 dba 权限授予给 news 用户

授权成功。

ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!

 

转自:http://bluewind1521.iteye.com/blog/754620