superwei

          導(dǎo)航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計(jì)

          常用鏈接

          留言簿(4)

          隨筆分類(lèi)

          隨筆檔案

          文章分類(lèi)

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          liunx下安裝ORACLE(載自:http://blog.csdn.net/jawsy)

          下載 9i:
           http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.htm

           $ md5sum Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
           f1a99eb8c8aca1d69a9eeaa8858570d7 Linux9i_Disk1.cpio.gz
           f2444c0fa53c898e7d2f78c184829d7d Linux9i_Disk2.cpio.gz
           ec655402d8bc547ed031f14122da574b Linux9i_Disk3.cpio.gz

          解包:
           gunzip Linux9i_Disk1.cpio.gz Linux9i_Disk2.cpio.gz Linux9i_Disk3.cpio.gz
           
           cpio -idmv < Linux9i_Disk1.cpio
           cpio -idmv < Linux9i_Disk2.cpio
           cpio -idmv < Linux9i_Disk3.cpio

          刻盤(pán):
           mkisofs -r Disk1 | cdrecord -v --eject dev=0,0,0 speed=4 -
           mkisofs -r Disk2 | cdrecord -v --eject dev=0,0,0 speed=4 -
           mkisofs -r Disk3 | cdrecord -v --eject dev=0,0,0 speed=4 -
          注:設(shè)備號(hào)可以通過(guò)執(zhí)行 cdrecord -scanbus 得到

          交換空間: 物理內(nèi)存的兩倍或者至少512MB
           cat /proc/swaps
          增加交換空間:
           dd if=/dev/zero of=tmpswap bs=1k count=300000
           chmod 600 tmpswap
           mkswap tmpswap
           swapon tmpswap

          共享內(nèi)存配置: 寫(xiě)入/etc/rc.d/rc.local或者/etc/rc.d/rc5.d/S78oradb:
           echo 65536 > /proc/sys/fs/file-max    #set max descriptors
           echo 131072 > /proc/sys/kernel/shmmax   #half of the physical memory
           echo 4096 > /proc/sys/kernel/shmmni   
           echo 2097152 > /proc/sys/kernel/shmall
           echo 100 32000 100 100 > /proc/sys/kernel/sem  #semmsl semmns  semopm semmni
           echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

          環(huán)境配置:寫(xiě)入oracle用戶的.cshrc
           ulimit -u 16384         #maximun processes
           ulimit -n 66536         #maximum descriptors


          "binutils" RPM 版本的問(wèn)題
          7.1 和 7.2 隨帶的 binutils RPM 包不兼容9i 的 Universial Installer,有兩個(gè)解決方案:
           a. “降級(jí)” Oracle 服務(wù)器上的 binutil :
            ftp://ftp.redhat.com/pub/redhat/linux/7.0/en/os/i386/RedHat/RPMS/binutils-2.10.0.18-1.i386.rpm
            #rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm   #安裝
           注:安裝完 Oracle 后,別忘了把 binutil 升級(jí)回去。
           b. 在安裝中等待出現(xiàn)下面的錯(cuò)誤,然后手工修復(fù):
            "Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
            請(qǐng)參考 Running Oracle Installation 以及 Oracle Installation Errors ,我推薦使用第二種方法。

          安裝 JDK
           bzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 | tar xf - -C /usr/local
           ln -s /usr/local/jdk118_v3 /usr/local/java

          建立 Oracle 用戶
           mkdir /home/oracle
           groupadd -g 1001 dba
           useradd -g 1001 -u 1001 -d /home/oracle oracle
           passwd oracle
           chown -R oracle:dba /home/oracle
          注: 記得為oracle用戶指定tcsh

          建立相關(guān)目錄
           mkdir /home/tmp
           chmod 777 /home/tmp
           
           mkdir /home/oracle_app
           chown -R oracle:dba /home/oracle_app
           mkdir /home/oradata
           mkdir /home/oradata/FREEDB
           mkdir /home/oradata/FREEDB/admin
           mkdir /home/oradata/FREEDB/admin/bdump
           mkdir /home/oradata/FREEDB/admin/cdump
           mkdir /home/oradata/FREEDB/admin/udump
           mkdir /home/oradata/FREEDB/archive
           mkdir /home/oradata/FREEDB/config
           mkdir /home/oradata/FREEDB/control
           mkdir /home/oradata/FREEDB/data
           mkdir /home/oradata/FREEDB/redo
           chown -R oracle:dba /home/oradata
           ln -s /home/oradata /oradata
           
           mkdir /var/opt/oracle
           chown oracle:dba /var/opt/oracle
           chmod 755 /var/opt/oracle

          設(shè)置 Oracle 環(huán)境
          以 Oracle 用戶進(jìn)入,建立 $HOME/.bashrc或者.cshrc
           export ORACLE_BASE=/home/oracle_app
           export ORACLE_HOME=/home/oracle_app
           export ORACLE_SID=XFDB
           export ORACLE_TERM=xterm
           #export TNS_ADMIN= 設(shè)置這個(gè)變量,如果 sqlnet.ora, tnsnames.ora等不在$ORACLE_HOME/network/admin 目錄下。
           export NLS_LANG=american_america.ZHS16GBK;
           export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
           LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
           LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib
           export LD_LIBRARY_PATH
           # Set shell search paths:
           PATH=/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin
           PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin
           PATH=$PATH:/usr/local/samba/bin:/usr/ucb:
           export PATH
           # CLASSPATH must include the following JRE locations:
           CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
           CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
           For RedHat 9.0:
           export JAVA_HOME=/usr/local/java_1.4.1_or_above  #否則runinstaller會(huì)掛死
           export LD_ASSUME_KERNEL=2.4.1  #make sure to use java GUI tools such as netca, etc. when using Oracle.

          啟動(dòng) runInstaller
          Oracle 不再支持字符模式的安裝,因此必須設(shè)置 DISPLAY 變量。
           a> yourdesktop:user$ xhost +oracleserver
           b> 從 oracleserver 的控制臺(tái)上以 Oracle 用戶執(zhí)行:
            oracleserver:oracle$ export DISPLAY=yourdesktop:0.0
           c> 從第一張 CD 或者從下載點(diǎn)(Disk1/RunInstaller)執(zhí)行 runInstaller
            oracleserver:oracle$ mount /mnt/cdrom
            oracleserver:oracle$ /mnt/cdrom/runInstaller
           注:不要 cd 到 /mnt/cdrom 去執(zhí)行runInstaller,因?yàn)?unmount 不能把掛接著的 CD 卸下來(lái)
           
          安裝確認(rèn)信息:
           The base directory (Inventory Location): /home/oracle_app/oraInventory
           UNIX Group Name (permission for updating Oracle software): dba
           Full path name of the Oracle Home: /home/oracle_app
           JDK Home Directory: /usr/local/java

          忘記設(shè)置 DISPLAY 環(huán)境變量或者忘記在桌面 PC 上運(yùn)行 xhost +oracleserver,將得到下面的錯(cuò)誤:
           Xlib: connection to ":0.0" refused by server
           Xlib: Client is not authorized to connect to Server

          對(duì)7.1,7.2,如果沒(méi)有“降級(jí)” binutils 包,安裝到第三張 CD 時(shí)會(huì)發(fā)生如下錯(cuò)誤:
           "Error invoking target install of makefile /opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
           "Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
           "Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-net-client"
           "Error invoking target install of makefile /opt/oracle/product/9.0.1/precomp/lib/ins-oemagent"
          解決方法:
           編輯 $ORACLE_HOME/bin/genclntsh 把 LD_SELF_CONTAINED="-z defs" 改成: LD_SELF_CONTAINED=""
           然后運(yùn)行腳本:$ORACLE_HOME/bin/genclntsh
           retry

          ins_ctx.mk錯(cuò)誤的解決方法:
           edit $ORACLE_HOME/ctx/lib/env_ctx.mk.
           add $(LDLIBFLAG)dl into the line INSO_LINK=-L$(CTXLIB) $(LDLIBFLAG)m right at the position.
           retry. 

          Error in setting permissions of file/directory /home/oracle_app/jre/1.1.8/bin/i686/native_threads/.extract_args.
           手工找到并從安裝 jre 的目錄下拷貝文件 .extract_args 到 runInstaller 提示文件丟失的地方。

          For RedHat 9.0:
           You will get make errors for oemadmin and a few others.  Simply ignore.

          其他注意事項(xiàng):
           當(dāng) runInstaller 開(kāi)始配置工具時(shí),"Oracle Net Configuration Assistant" 會(huì)掛起。簡(jiǎn)單的解決辦法是停止其配置,重新配置或者繼續(xù)安裝,當(dāng)其他安裝結(jié)束后,再來(lái)一次“Retry"。
           如果在安裝中系統(tǒng)停止了反應(yīng),可能是沒(méi)有足夠的交換空間。如果發(fā)生這樣的事情,只能等待到系統(tǒng)反應(yīng)為止。
           Oracle 的安裝還需要運(yùn)行 make 等程序,在生產(chǎn)環(huán)境中,你或許沒(méi)有安裝編譯器和其他開(kāi)發(fā)工具,所以,需要臨時(shí)安裝下面的幾個(gè)包: cpp, egcs, egcs-c++, glibc-devel, kernel-headers 。

          如果不能成功安裝 9i 而需要重來(lái)的話,需要清除下面的文件和目錄:
           rm -rf /etc/oraInst.loc /etc/oratab /tmp/OraInstall
           rm -rf $ORACLE_BASE/* 

          啟動(dòng) Oracle 9i 數(shù)據(jù)庫(kù)
          9i 中已經(jīng)沒(méi)有 svrmgrl 了,所有的管理工作都通過(guò) sqlplus 來(lái)完成:
           dba$ sqlplus /nolog
           SQL> connect / as sysdba
           SQL> startup

          補(bǔ)丁:
          http://otn.oracle.com/support/patches.htm: 察看最新的patch set.
          metalink.oracle.com: 下載patch, 需要csi注冊(cè)賬號(hào),文件名為p<patch-id>_<oracle_ver>_<platform>.zip

          以下以數(shù)據(jù)庫(kù)SW為例
          一、initSW.ora: 需要關(guān)注的參數(shù)

          control_files

          db_name = SW     #for basic settings
          db_block_size
          db_block_buffers
          shared_pool_size

          log_buffer      #for log and checkoint settings
          log_checkpoint_interval
          log_checkpoint_timeout

          log_archive_start    #for archive settings
          log_archive_dest
          log_archive_format

          background_dump_dest   #for log destinations
          core_dump_dest
          user_dump_dest

          rollback_segments    #for public rollback segments

          job_queue_interval    #for automatic jobs
          job_queue_processes    

           

          二、 創(chuàng)建數(shù)據(jù)庫(kù)
          connect internal (for 8i) | connnect / as sysdba (for 9i)
          startup nomount pfile=$ORACLE_HOME/dbs/initcws_0.orabangu

          create database "FREELAND"
           maxinstances 8
           maxlogfiles  32
           datafile
            '/oradata/FREEDB/data/systemFREEDB01.dbf' size 100M,
            '/oradata/FREEDB/data/systemFREEDB02.dbf' size 100M
           logfile group 1 ( '/oradata/FREEDB/redo/logFREEDB1a.log',
            '/oradata/FREEDB/redo/logFREEDB1b.log' ) size 10M,
                   group 2 ( '/oradata/FREEDB/redo/logFREEDB2a.log',
            '/oradata/FREEDB/redo/logFREEDB2b.log' ) size 10M
           character set ZHS16GBK
           --- national character set ZHS16GBK;
          disconnect

          注:1. 8i 只需要80--100M的system表空間, 而9i需要150M--200M
           2. 9i以后沒(méi)有internal賬號(hào)了。
           3. 9i 不需要指定national character set。
           
          三、 構(gòu)建數(shù)據(jù)字典
          connect internal/sys (8i) | connect / as sysdba or connect sys(9i)
          @$ORACLE_HOME/rdbms/admin/catalog.sql
          @$ORACLE_HOME/rdbms/admin/catproc.sql
          @$ORACLE_HOME/rdbms/admin/catexp.sql
          @$ORACLE_HOME/rdbms/admin/catdbsyn.sql
          @$ORACLE_HOME/rdbms/admin/utlchain.sql
          @/home/oracle_app/rdbms/admin/caths.sql
           ---Create Heterogeneous Services data dictionary objects.
          @/home/oracle_app/rdbms/admin/otrcsvr.sql
           ---Creates stored procedures used by the Oracle Trace server.
          @/home/oracle_app/rdbms/admin/dbmsstdx.sql
           ---使用trigger之前必須運(yùn)行
           
          connect system/manager
          @/home/oracle_app/sqlplus/admin/pupbld.sql
          @/home/oracle_app/ord/admin/ordinst.sql
          @/home/oracle_app/sqlplus/admin/help/helptbl.sql

          connect / as sysdba
          create tablespace PAS_TMP temporary
           datafile
            '/oradata/FREEDB/data/tempFREEDB01.dbf' size 200M,
            '/oradata/FREEDB/data/tempFREEDB02.dbf' size 200M
           default storage
            (initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);
            
          create tablespace PAS_RBS
          datafile
            '/oradata/FREEDB/data/rbsFREEDB01.dbf' size 200M,
            '/oradata/FREEDB/data/rbsFREEDB02.dbf' size 200M
           default storage
            (initial 1M next 1M minextents 10 maxextents unlimited pctincrease 0);

          create tablespace PAS_IDX
           datafile
            '/dev/raw/raw6' size 512M autoextend on
           default storage
            (initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);
            
          create tablespace PAS_IN_IDX
           datafile
            '/oradata/FREEDB/data/in_idxFREEDB01.dbf' size 200M autoextend on maxsize 1500M,
            '/oradata/FREEDB/data/in_idxFREEDB02.dbf' size 200M autoextend on maxsize 1500M
           default storage
            (initial 2M next 2M minextents 10 maxextents unlimited pctincrease 0);

          create tablespace PAS_BILL
           datafile
            '/dev/raw/raw1' size 512M autoextend on,
            '/dev/raw/raw2' size 512M autoextend on,
            '/dev/raw/raw3' size 512M autoextend on,
            '/dev/raw/raw4' size 512M autoextend on,
            '/dev/raw/raw5' size 512M autoextend on
           default storage
            (initial 2M next 2M minextents 20 maxextents unlimited pctincrease 0);
            
          create tablespace PAS_FREE
           datafile
            '/oradata/FREEDB/data/inFREEDBa1.dbf' size 1000M autoextend on maxsize 2000M,
            '/oradata/FREEDB/data/inFREEDBb2.dbf' size 1000M autoextend on maxsize 2000M
            '/oradata/FREEDB/data/inFREEDBa3.dbf' size 1000M autoextend on maxsize 2000M,
            '/oradata/FREEDB/data/inFREEDBb4.dbf' size 1000M autoextend on maxsize 2000M
            '/oradata/FREEDB/data/inFREEDBa5.dbf' size 1000M autoextend on maxsize 2000M,
            '/oradata/FREEDB/data/inFREEDBb6.dbf' size 1000M autoextend on maxsize 2000M
           default storage
            (initial 2M next 2M minextents 20 maxextents unlimited pctincrease 0);

          create public rollback segment r01 tablespace PAS_RBS storage (optimal 20M);
          create public rollback segment r02 tablespace PAS_RBS storage (optimal 20M);
          create public rollback segment r03 tablespace PAS_RBS storage (optimal 20M);
          create public rollback segment r04 tablespace PAS_RBS storage (optimal 20M);
          create public rollback segment r05 tablespace PAS_RBS storage (optimal 20M);
          create public rollback segment r06 tablespace PAS_RBS storage (optimal 20M);
          alter rollback segment r01 online;
          alter rollback segment r02 online;
          alter rollback segment r03 online;
          alter rollback segment r04 online;
          alter rollback segment r05 online;
          alter rollback segment r06 online;

          alter user sys identified by "in core";
          alter user system identified by "in core";

          create user bill identified by "bill2002"
          default tablespace PAS_BILL
          temporary tablespace PAS_TMP
          quota unlimited on PAS_BILL
          quota unlimited on PAS_TMP;

          create user xy identified by "xy2002"
          default tablespace PAS_FREE
          temporary tablespace PAS_TMP
          quota unlimited on PAS_FREE
          quota unlimited on PAS_TMP;

          grant dba to bill with admin option;
          alter user bill default role dba;


          grant dba to xy with admin option;
          alter user xy default role dba;
          grant select any table to bill; 

          connect xy
          grant select any table to bill;   //for pl/sql

          connect bill
          grant select any table to xy;   //for pl/sql

          posted on 2007-08-06 10:41 小辭猬 閱讀(486) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Linux & Unix

          主站蜘蛛池模板: 德令哈市| 乌兰察布市| 桃源县| 台山市| 遵义市| 班玛县| 吉林市| 鄂托克前旗| 额敏县| 兴隆县| 九龙县| 同心县| 延庆县| 财经| 固镇县| 屏南县| 平阳县| 镶黄旗| 新昌县| 道真| 万山特区| 奇台县| 闽清县| 宜丰县| 庐江县| 延川县| 赣榆县| 府谷县| 桂阳县| 太仆寺旗| 禄丰县| 永丰县| 称多县| 讷河市| 石首市| 阳春市| 镇安县| 大埔区| 新沂市| 磐安县| 梅河口市|