oracle安装的过程中出现些问题,检查安装环境时出现两个问题,一个是交换区不够,网上说没问题,还有一个是网咯配置需求没执行(我装的英文版,估计应该这么翻译吧)我点掉了。
安装时我没有建库,安装完成后用BDCA建库,但是跳出好多提示:
ora-12546 tns:permission denied
请各位高手帮帮忙~是不是跟我网络配置不对有关系啊~~

解决方案 »

  1.   

    相关的目录都设置权限了(建立的安装目录,设置了database的权限)其他环境变量都是按网上的安装文档改的,不知道哪还有
    问题~
    安装文档上没看到上面有关于网络的配置啊
      

  2.   

    是的哦,什么系统???unix开始要建用户和设环境变量的  还有权限
      

  3.   

    RedHat AS4 64位的系统
      

  4.   

    你是指admin那个文件夹吗?
    我以前没用过linux,呵呵,第一次接触,装这个也不太懂,希望大家指教,呵呵
      

  5.   

    安装文档
    1.1 操作系统版本
    Red hat AS 4u2 x86_64
    1.2 数据库版本
    Oracle.10g.10201_database_linux_x86_641.3 其他
    binutils-2.15.92.0.2-15.x86_64.rpm
    compat-oracle-rhel4-1.0-5.i386.rpm
    2. 说明: 
    # -> root的shell 
    如果命令以“#”开头,表示以root用户执行。$ -> oracle的shell
    如果命令以“$”开头,表示以oracle用户执行。文档大部分内容参考了http://bbs.chinaunix.net/viewthread.php?tid=748627 ,并结合自身的安装过程做了修改。
    3. 安装操作系统
    为了避免缺失Oracle所需的软件,操作系统建议采用完全安装的形式,并且关闭防火墙。
    4. 系统设置
    4.1 配置 Linux 内核参数
    Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。(以root用户)修改/etc/sysctl.conf,加入以下内容
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    kernel.shmmni = 4096
    #semaphores: semmsl, semmns, semopm, semmni
    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存盘退出后运行这个指令检查是否设置正确:
    #sysctl –p
    (如果配置写得不正确,会报错。)
    4.2 为 oracle 用户设置 Shell 限制
    Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。
    (以root用户)修改/etc/security/limits.conf,加入以下内容
    * soft nproc 16384
    * hard nproc 16384
    * soft nofile 65536
    * hard nofile 65536存盘退出。
    4.3 (以root用户)修改/etc/pam.d/login,加入以下内容
    session required /lib/security/pam_limits.so存盘退出4.4 (以root用户)修改 /etc/selinux/config
    将SELINUX的值设为disabled,如果文件中没有SELINUX则将“SELINUX=disabled
    ”(不包含引号)添加在文件最后存盘退出4.5 (以root用户)检查安装oracle10g的依赖包是否存在,如没有则安装:
    #rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio正常的检查结果是:
    binutils-2.15.92.0.2-13.0.0.0.2 (x86_64)
    compat-db-4.1.25-9 (i386)
    compat-db-4.1.25-9 (x86_64)
    control-center-2.8.0-12.rhel4.2 (x86_64)
    gcc-3.4.4-2 (x86_64)
    gcc-c++-3.4.4-2 (x86_64)
    glibc-2.3.4-2.13 (i686)
    glibc-2.3.4-2.13 (x86_64)
    glibc-common-2.3.4-2.13 (x86_64)
    gnome-libs-1.4.1.2.90-44.1 (x86_64)
    libstdc++-3.4.4-2 (i386)
    libstdc++-3.4.4-2 (x86_64)
    libstdc++-devel-3.4.4-2 (i386)
    libstdc++-devel-3.4.4-2 (x86_64)
    make-3.80-5 (x86_64)
    pdksh-5.2.14-30.3 (x86_64)
    sysstat-5.0.5-1 (x86_64)
    xscreensaver-4.18-5.rhel4.9 (x86_64)
    libaio-0.3.103-3 (i386)
    libaio-0.3.103-3 (x86_64)!!! 注意(一):
    Redhat AS4.02 x86_64,默认安装的是binutils-2.15.92.0.2-15.x86_64.rpm,这个版本会引起oracle安装失败!
    应另外下载binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm并强行安装。
    #rpm -Uvh --force binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpmcompat-oracle-rhel4-1.0-5.i386.rpm 
    #rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm
    (这个包不一定需要,为了保险还是安装上吧。)4.6 (以root用户)设定gcc版本关系
    #cd /usr/bin
    #mv gcc gcc.script
    #mv g++ g++.script
    #ln –s gcc32 gcc
    #ln –s g++32 g++5. 创建oracle所需的组、用户,设定oracle用户环境变量
    5.1 (以root用户) 创建oracle所需的组
    创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。
    以 root 用户身份执行以下命令:
    #groupadd dba 
    #groupadd oinstall 
    #useradd -g oinstall -G dba -m oracle设置 oracle 帐户的口令:
    # passwd oracle5.2 (以root用户) 创建oracle安装所需的目录
    以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。
    以 root 用户身份执行以下命令:
    # mkdir -p /u01/app/oracle
    # mkdir -p /u02/oradata
    # chown -R oracle:oinstall /u01/app/oracle /u02/oradata
    # chmod -R 775 /u01/app/oracle /u02/oradata5.3 (以oracle用户)修改oracle用户的环境变量
    这一步操作需要从root转换为oracle用户,执行如下命令
    #su – oracle
    然后就可以修改oracle的环境变量了。
    $vi /home/oracle/.bash_profile
    在.bash_profile加入以下内容:
    #-------------------------------------- 
    # Set for Oracle10g Install | 
    #-------------------------------------- 
    trap " " 0 1 2 3 5 9 15 
    trap clear 0 
    export TMP=/tmp; 
    export TMPDIR=$TMP; 
    export ORACLE_BASE=/u01/app/oracle; 
    export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db; 
    export ORACLE_SID=pdbxx; 
    export ORACLE_TERM=xterm; 
    export PATH=/usr/sbin:$PATH; 
    export PATH=$ORACLE_HOME/bin:$PATH; 
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; 
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; 
    export LD_ASSUME_KERNEL=2.6.9; 
    export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    ulimit -c unlimitedLANG=zh_CN.GB18030
    LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
    LANGVAR=zh_CN.GB18030
     

    if [ $USER = "oracle" ]; then 
    if [ $SHELL = "/bin/ksh" ]; then 
    ulimit -p 16384 
    ulimit -n 65536 
    else 
    ulimit -u 16384 -n 65536 
    fi 
    fi 
    #------------------- Set Over修改完成以后运行这个指令使变量生效:
    $source /home/oracle/.bash_profile!!! 注意(二): 
    有可能在刚才的指令运行后系统提示ulimit无效,权限不够。可以使用root权限修改/etc/profile文件来运行。 
    $su - root 
    #vi /etc/profile 
    在末尾添加: 
    #---- for Oracle 10g install 
    LC_CTYPE= zh_CN.GB18030 
    LC_ALL=zh_CN 
    LANG= zh_CN.GB18030 
    export LC_CTYPE LC_ALL LANG 
    #---- 
    if [ $USER = "oracle" ]; then 
    if [ $SHELL = "/bin/ksh" ]; then 
    ulimit -p 16384 
    ulimit -n 65536 
    else 
    ulimit -u 16384 -n 65536
    fi 
    fi 
    存盘退出,然后使用root帐户运行: 
    #source /etc/profile 
    重新回到oracle帐号下: 
    #su - oracle 
    $5.4 (以root用户)修改系统配置
    打开一个shell窗口,su到root,执行这个指令: 
    #xhost + 
    access control disabled,clients can connect from any host 
    表示现在可以使用x方式安装oracle了。6. 安装oracle
    6.1 (以oracle用户)解压缩oracle安装文件
    在/home/oracle/路径下新建software文件夹用来存放oracle安装文件。
    $cd /home/oracle
    $mkdir software
    然后将oracle安装文件存放进去(可以通过ssh的方式,或者用优盘copy)
    下一步是解压缩安装文件
    $cd /home/oracle/software
    $ls
    10201_database_linux_x86_64.cpio.gz
    $gunzip 10201_database_linux_x86_64.cpio.gz
    $cpio -idmv < 10201_database_linux_x86_64.cpio
    完成后会生成一个database文件夹。
    (注意:检查一下database的所属是oracle,用户组是oinstall,如果不是,请修改。
    我就是因为没有注意这个安装出现了错误。)
    6.2 (以oracle用户) 启动 Oracle 通用安装程序
    $cd /home/oracle/software/database/
    $ ./runInstaller下面是安装过程,注意根据不同的情况,安装过程略有不同。这里演示的仅仅是我安装的过程。
    第一步:选择高级安装。
     第二步:选择默认就可以了。(这一步,oracle需要创建oraInventory目录,如果oracle用户没有权限创建,安装过程就会弹出一个框,提示用户以root身份执行一段脚本。)
     
    第三步:选择“企业版”
     第四步:oracle根据用户环境变量,已经识别出安装路径了,选择默认就行。
     第五步:这一步oracle检查安装环境,如果顺利应该是没有警告的,我安装的过程中出现了一个交换分区不够大的警告,影响不大。
     
    第六步:选择“仅安装数据库软件”
     
    第七步:显示安装摘要,检查一下,没有问题就可以开始安装了。
     第八步:安装的过程需要以root的身份执行两个脚本。
     
    执行脚本1:
    #/u01/app/oracle/oraInventory/orainstRoot.sh
    更改权限/u01/app/oracle/oraInventory 到 770.
    更改组名/u01/app/oracle/oraInventory 到 oinstall.
    脚本的执行已完成执行脚本2:
    #/u01/app/oracle/product/10.2.0/db/root.sh
    Running Oracle10 root.sh script...
     
    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /u01/app/oracle/product/10.2.0/db
     
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...
     
     
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root.sh script.
    Now product-specific root actions will be performed.第九步:安装顺利完成。
     7. 手动建库
    7.1 (以oracle用户) 使用dbca进行手动建库
    $dbca
    在弹出的对话面板中选择 创建数据库 - >一般用途 -> 在全局数据库名中输入
    pdbxx 
    //这个是我们在oracle的.bash_profile中设定好了的(export ORACLE_SID=pdbxx),当然如果你设定了另外的SID,这里就要输入同样的字符。下面SID会自动同步输入。一直“下一步”。直到没有“下一步”可按了。这时按“完成”(我偷懒了)。应该会出现正在建库的进度条。
    (注意:创建数据库时指定字符集选择支持多语言核心字符集(AL32UTF8),这样就可以支持中文了。)!!! 注意(三): 
    如果刚才安装前没有设定好gcc的关系,这时很可能进度没反应了。没有弹出面板,没有进度条。等再久也没用
    这时可以选择取消,然后我们来做一些补救措施。
    1. 打开一个shell,转到root帐号并执行这些指令:
    #cd /usr/bin
    #mv gcc gcc.script
    #mv g++ g++.script
    #ln -s gcc32 gcc
    #ln -s g++32 g++2. 回到oracle帐号下,执行这个指令:
    $cd $ORACLE_HOME/bin
    $relink all
    一片哗哗哗的滚动提示过后,再重新执行7.1)的步骤,使用dbca指令建库。
    ------------------------------------------------------------------
    !!! 注意(四): 
    如果你使用iptables做防火墙,这时要为oracle开放一些端口,以便管理:
    #vi /etc/sysconfig/iptables
    插入这些:
    #------- For Oracle port
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5560 -j ACCEPT
    #-------------------------
    退出后执行这个指令:
    #service iptables restart