(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 groupadd dba
$sudo groupadd oinstall
$ sudo useradd oracle -g oinstall -G dba
$ sudo passwd oracle
(3) 创建安装目录
$ sudo mkdir -p /u01/oracle/db
$ sudo chown -R oracle:dba /u01
$sudo chmod -R 755 /u01
(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=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID="trms"
(6) 开始做安装准备
需要在/etc/ 目录下创建一个文件redhat-release , 需要权限进行创建,创建好后添加如下内容
$ sudo vim /etc/redhat-release
#添加
Red Hat Linux release 4.1
(7) 安装 oracle
然后运行如下命令 , 就进入 oracle 的安装界面了
$ ./runInstaller
(8) 安装过程中遇到的问题:
1. 在安装的过程中会报各种错误,但是最好是时刻查看一下 $ORACLE_HOME/oraInventory/logs 以 installActions 开头的日志,这个日志里面显示的内容比较全。出错信息也比较多。
2. 因为在前面的配置文件中设置了 $ORACLE_SID 等于 trms,所以在安装的过程中最好默认选择这个,并要记录下你的 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 '/u01/oracle/db_1/rdbms/lib/ins_rdbms.mk'. See '/u01/oracle/oraInventory/logs/installActions2010-08-02_02-14-48PM.log' for details.
出现这个问题, 是因为oracle编译时需要用libstdc++.so.5 ,解决办法:
a:做个软链接
在 sqlplus/lib/env_sqlplus.mk中添加行EXPDLIBS=-lclntsh
6 . 安装到最后会弹出一个界面,提示 需要用 root 用户去运行两个脚本文件 orainstRoot.sh 和 root.sh 这个时候不要点 OK ,打开终端用 root 进行登录,执行就可以了。 如果需要安装配置新的数据库,则输入命令 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! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!