linux4.2下oracle10g整理文档

linux4.2下oracle10g整理文档

oracle10g的文档在网上搜索很多,我找了一个整理了一下,希望给红联的兄弟姐妹参考下

   配置环境 redhat4.2   cpu:p42.8双核  内存1g  网卡:realtek RTL8169/8110  郁闷网卡

磁盘大小10g   双系统  还有 XP  资料全在xp上可以通过 mount -t vfat /dev/sda5 /mnt实现

为什么是sda  有时候是hda 主要看dev里面是那个就用那个 1是 C盘 5是D盘 然后顺着来。



RHEL4U4上安装Oracle10GS2



第一步:检测系统是否安装如下软件包

1、rpm –qa |grep

gcc-3.2.3-34
gcc-c++-3.2.3-34
glibc-2.3.2-95.20
make-3.79.1
openmotif21-2.1.30-8
setarch-1.3-1
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128

一般情况下都安装了,只有compat-libstdc++-devel-7.3-2.96.128没有安装

2、给系统打补丁

p4198954_21_linux.zip   安装   也可以不打

但是libaio-0.3.102-1.i386.rpm 和libaio-devel0.3.102-1.i386.rpm
这俩个一定要安装,文件出处光盘第三张盘
第二步:配置安装目录和oracle的权限

1,  创建user/group;   
groupadd dba                 
groupadd orainstall
useradd oracle -g orainstall -G dba
passwd oracle

此目录是在/home/oracle下是oracle用户的目录

2,  建立oracle安装文件夹(sample);
mkdir -p /opt/oracle/product/10g
mkdir /opt/oracle/database
chown -R oracle.orainstall  /opt/oracle
chmod 755 -R /opt/oracle

此目录是在/opt下是安装oracle的 并且在安装的时候首先看看/opt里面都有那些文件夹

原因是因为当装oracle的时候会出现,如果出现环境变量不正确,还要从新配置环境变量,而且要清除/opt下不是原始记录的文件。
第三步:配置环境变量

使用Oracle用户登陆:
su oracle
vi ~/.bash_profile
以下是配置文件的内容
export ORACLE_BASE=/opt/oracle/            //数据库的路径
export ORACLE_HOME=/opt/oracle/product/10g //安装oracle的目录
export ORACLE_SID=ge01     //数据库全局变量  这个比较重要,一定要记住。
export PATH=$ORACLE_HOME/bin:$PATH       //path取地址
# 安装好后再取消屏蔽这些环境变量设置
# export TNS_ADMIN=$ORACLE_HOME/network/admin
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  //采用ZHS16GBK的字符集保证不乱码
#export LANG=AMERICAN_AMERICA.ZHS16GBK
配置好后用 source .bash_profile 命令使配置生效



切换到root用户:
su root
运行命令grep MemTotal /proc/meminfo

481156kB                 //查询到的实际内存值

shmmax=481156*1024/2=246351872  这个值是查询的值乘以1024/2的值

vi /etc/sysctl.conf

kernel.shmmax = 246351872      
kernel.shmmni = 4096            
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

运行/sbin/sysctl –p命令
接下来

#vi /etc/security/limits.conf

将下列数据添加到 limits.conf的末尾并保存:

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384

编辑文件:vi /etc/pam.d/login 加入以下语句(可能应该加在最后一条规则之前):
session    required     /lib/security/pam_limits.so

保存完后从新启动机器,这样使参数生效快
第四步 :安装oracle10g

unzip 10201_database_linux32

以oracle身份登陆,并且在服务器终端上操作,而不是远程终端

比如我的路径是/usr/local/src/database

#cd /usr/local/src/database

#ls

出现runInstaller

#./runInstaller

注意:
1、选择advance install
2、数据库home设置为/opt/oracle/product/10g
3、数据库全局名称设置为ge01
4、数据库字符集选Simplified Chinese ZHS16GBK


2.其他用默认设置!
注意:安装过程中会提示以root用户登陆执行一些脚本 ,执行后再按“ok”按钮继续安装



安装成功了,下一步就是配置数据库自动启动以及自动备份的操作了



启动::  要是以oracle用户进入的话

$lsnrctl start      //启动监听程序
$sqlplus /nolog     //登陆到sqlplus
SQL>startup           //启动数据库实例,如果这里提示错误的话,则是没有权限,切换到sysdba用户

关闭数据库用shutdown immediate
SQL>connect /as sysdba //切换到sysdba用户
SQL>startup           //启动数据库实例

然后建立自己的库和自己的oracle用户名

可以通过远程客户端链接操作,这样比较简单

不过要认为自己能力很强的话,手动建吧。我也烦闷这个,现在还在学。
oracle的自启动

dbstart脚本修改
数据库创建完成后,修改vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N那一行最后的N改成Y,       //orcl是数据的库名
后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:
cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora
重新执行dbstart就可以了。
修改vi /opt/oracle/product/10g/bin/dbstart中ORACLE_HOME_LISTNER=/opt/oracle/product/10g/
vi /etc/rc.local 加入下面一行 起动ORACLE ON system boot
/opt/oracel/product/10g/bin/dbstart
5. 编写启动脚本(OPTION)
为了方便管理,可以写一个启动脚本ora10g:
以root身份进入,编写以下脚本:
#!/bin/bash
#
# chkconfig: 2345 91 19
# descrīption: starts the oracle listener and instance
status() {
    pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`
    if [ "X$pid" = "X" ]
    then
        echo "oracle10g is not running."
        exit 1
    else
        echo "oracle10g is running."
        exit 0
    fi
}
case "$1" in
    start)
        #startup the listener and instance
        echo -n "oracle begin to startup: "
        su - oracle -c "lsnrctl start"
        su - oracle -c dbstart
        echo "oracle10g started"
        ;;
    stop)
        # stop listener, apache and database
        echo -n "oracle begin to shutdown:"
        su - oracle -c "lsnrctl stop"
        su - oracle -c dbshut
        echo "oracle10g shutdowned"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    'status')
        status
        ;;
     *)
        echo "Usage: ora10g [start|stop|reload|restart]"
        exit 1
esac
exit 0
存为ora10g后,然后
chmod a+x ora10g
ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/
即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。
如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig --level 345 ora10g on

或者可在/etc/rc.d/rc.local中加入如下:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
Oracle10g的创建用户名

1、  linux下oracle的启动

以oracle身份登录

启动   lsnrctl start

登录   sqplus /nolog

连接数据库   connect  /as   sysdba

启动数据库   startup

关闭数据库   shutdown immediate

2、  在数据中创建用户名

启动数据库后创建用户名

连接超级用户   connect system/admin    system系统用户名字  admin 密码

创建用户名字   create user sha identified by admin   用户名:sha 密码:admin

         可以写   Default tablespace user   //指定存储对象使用的默认空间表 默认是system

               Temporary tablespace temp; //保存临时对象所使用的空间表 默认是 system

        上面的俩行,可以写 空间表为user 临时为temp;不写就默认

3、  添加用户的权限

Grant是授予权限的 如:

     Grant create session to sha; //授予sha连接数据的权限

  系统权限如下:

系统特权
       

允许执行的操作

Create session
       

连接数据库

Create sequence
       

创建序列

Create synonym
       

创建同名对象

Create table
       

创建表

Create any table
       

创建任何模式的表

Drop table
       

删除表

Create procedure
       

创建存储过程

Execute any procedure
       

执行任何模式的存储过程

Create user
       

创建用户

Create view
       

创建视图

Drop user
       

删除用户

Drop any table
       

删除任何模式的表

4、  向用户授予系统特权

Grant execute any procedure to sha with admin option

此句意思为为sha用户创建系统特权并且可以用sha为别的用户授予权限

连接sha用户  connect sha/admin

可以创建别的用户

5、查看用户权限

进入sha用户 connect sha/admin

Select * from user_sys_privs;可以查看到一个列表,

列代表 用户名 权限 是否可以给别的用户附加权限(N 、Y)

行代表 权限都有那些

6、撤销用户授予的权限

必须连接 connect system/admin

撤销权限  revoke是系统撤销权限的关键词

Revoke execute any procedure from sha;

7、更改用户密码

进入sha用户  connect sha/admin

Password       输入旧密码  输入新密码俩边   OK

或者 用alter user sha identified by xinmima

8、删除用户

Connect system/admin

Drop user sha;

9、为用户授予角色

Grant dba to sha;

Grant connect to sha;

Linux下的plsql  创建用户

create user sha identified by admin

Default tablespace user

Temporary tablespace temp;

Granr unlimited tablespace to sha;    //权限

Grant dba to sha;                  //角色

Grant connect to sha;
此篇文章要求加精,oracle的自动备份,以及文本下的各种实用命令,都会更新。因为本人感觉在红联的数据库应用里没有精华帖子,很难查询到准确的信息。并且建议版主找到比较不错的可以实用的东西来加精,因为论坛的有些帖子只是参照而言,要是配置的时候会出现很多错误。