开发工具:
文件大小: 73kb
下载次数: 0
上传时间: 2015-06-19
详细说明: 1). 查看Linux版本 [root@lym oracle]# cat /etc/issue Red Hat Enterprise Linux Server release 5 (Tikanga) Kernel \r on an \m 2). 查看内核版本 [root@lym oracle]# uname -a Linux lym.oracle.com 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux 3). 检测及安装需要安装的系统软件包 [root@lym Server]# rpm -ivh glibc-headers-2.5-12.i386.rpm [root@lym Server]# rpm -ivh glibc-devel-2.5-12.i386.rpm [root@lym Server]# rpm -ivh libgomp-4.1.1-52.el5.i386.rpm [root@lym Server]# rpm -ivh gcc-4.1.1-52.el5.i386.rpm [root@lym Server]# rpm -ivh libst dc++-devel-4.1.1-52.el5.i386.rpm [root@lym Server]# rpm -ivh gcc-c++-4.1.1-52.el5.i386.rpm [root@lym Server]# rpm -ivh make-3.81-1.1.i386.rpm [root@lym Server]# rpm -ivh libXp-1.0.0-8.i386.rpm [root@lym Server]# rpm -ivh openmotif-2.3.0-0.3.el5.i386.rpm [root@lym Server]# rpm -ivh setarch-2.0-1.1.i386.rpm [root@lym Server]# rpm -ivh compat-db-4.2.52-5.1.i386.rpm [root@lym Server]# rpm -ivh compat-gcc-34-3.4.6-4.i386.rpm [root@lym Server]# rpm -ivh compat-gcc-34-c++-3.4.6-4.i386.rpm [root@lym Server]# rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm ///////////////////////////////////////////////////////////////////// ---- Step 4 配置内核及其他参数 1). vi /etc/sysctl.conf --加入以下11行代码(并将原来的# kernel.shmmax和kernel.shmall这两行参数屏蔽) 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 2). 执行以下命令使以上参数修改生效 [root@lym Server]# /sbin/sysctl -p 3). vi /etc/security/limits.conf --加入以下四行代码 * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 4). vi /etc/pam.d/login --加入下面一行代码 session required /lib/security/pam_limits.so 5). vi /etc/selinux/config --(禁用SELINUX,安装完后可再还原成原值) 将SELINUX设置为 SELINUX=disabled //////////////////////////////////////////////////////////// ---- Step 5. 添加用户组和用户,并为oracle用户设置密码 [root@lym Server]# groupadd oinstall [root@lym Server]# groupadd dba [root@lym Server]# groupadd oper [root@lym Server]# useradd -g oinstall -G dba oracle [root@lym Server]# passwd oracle Changing password for user oracle. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. ///////////////////////////////////////////////////////////// ---- Step 6. 创建安装Oracle的文件夹,并设置其相应权限给Oracle用户。 [root@lym Server]# mkdir -p /u01/app/oracle/product/10.2.0/db_1 [root@lym Server]# chown -R oracle.oinstall /u01 [root@lym Server]# chmod 775 /u01 ///////////////////////////////////////////////////////////// ---- Step 7. 伪装操作系统版本,使安装Oracle时,通过操作系统验证。 vi /etc/redhat-release --(可保存此文件的副本在某位置,以便安装完成后,复原此文件) --将这文件中的内容( Red Hat Enterprise Linux Server release 5 (Tikanga) ) 替换为如下代码: redhat-4 ///////////////////////////////////////////////////////////// ---- Step 8. Oracle 10g 默认不支持中文 安装时将 /etc/sysconfig/i18n 中的 LANG改为 en 即可 ///////////////////////////////////////////////////////////// ---- Step 9. 设置Oracle环境变量(可根据你的需要作适当更改) [root@lym Server]# vi /home/oracle/.bash_profile --加入内容如下 # Oracle Settings TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME ORACLE_SID=TSH1; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi //////////////////////////////////////////////////////////// ---- Step 10. 注销root用户,并登录oracle用户,在/home/oracle目录下建立一个名为enterprise01.rsp的文件, 里面的具体内容如下(参考/oracle/database/response目录下面的enterprise.rsp文件, 该目录下有三个文件enterprise.rsp(企业版静默安装文件),standard.rsp(标准版静默安装文件) 和custom.rsp(客户版静默安装文件),另外还有其他三个静默安装文件)。 RESPONSEFILE_VERSION=2.2.1.0.0 FROM_LOCATION="../stage/products.xml" ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1/" ORACLE_HOME_NAME="OraDb10g_home1" TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"} DEINSTALL_LIST={"oracle.server","10.2.0.1.0"} SHOW_SPLASH_SCREEN=false SHOW_WELCOME_PAGE=false SHOW_COMPONENT_LOCATIONS_PAGE=false SHOW_CUSTOM_TREE_PAGE=false SHOW_SUMMARY_PAGE=false SHOW_INSTALL_PROGRESS_PAGE=false SHOW_REQUIRED_CONFIG_TOOL_PAGE=false SHOW_CONFIG_TOOL_PAGE=false SHOW_RELEASE_NOTES=false SHOW_ROOTSH_CONFIRMATION=false SHOW_END_SESSION_PAGE=false SHOW_EXIT_CONFIRMATION=false NEXT_SESSION=false NEXT_SESSION_ON_FAIL=false SHOW_DEINSTALL_CONFIRMATION=false SHOW_DEINSTALL_PROGRESS=false ACCEPT_LICENSE_AGREEMENT=true COMPONENT_LANGUAGES={"en"} CLUSTER_NODES= INSTALL_TYPE="EE" s_nameForDBAGrp=dba s_nameForOPERGrp=dba b_oneClick=false SHOW_DATABASE_CONFIGURATION_PAGE=false b_createStarterDB=false /////////////////////////////////////////////////////////////////// ---- Step 11. 开始安装 [oracle@lym ~]$ cd /oracle/database [oracle@lym database]$ ./runInstaller -silent -responseFile /home/oracle/enterprise01.rsp -------安装时终端输出类似如文件"安装过程中的终端显示2.txt"中的内容-------- -------请您耐心等待,可先去喝杯荼!--------- ////////////////////////////////////////////////////////////////// ---- Step 12. 以root用户运行安装后环境所需脚本(千万主意:要以root用户去执行这两个脚本,执行后一个脚本时,回车一下就可以了) [root@lym ~]# sh /u01/app/oracle/oraInventory/orainstRoot.sh [root@lym ~]# sh /u01/app/oracle/product/10.2.0/db_1/root.sh ---- Step 测试看能否进sqlplus---- [oracle@lym ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 22 00:25:56 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> 至此Oracle的产品已经安装完成,可是目前为止我们还没有建立数据库。 由于没有X界面无法启动dbca ,所以不能用dbca来帮我们建立数据库。这时候你可能会想到用create database 语句来建立数据库, 可是语法实在是繁琐,并且还要运行许多的 oracle脚本 。 此时,我们可以利用oracle提供的种子数据库还原一个数据库出来(详细见以下操作) 假设我们要建立的数据库的名称为TSH1(这个名称跟你安装前设置的环境变量中的ORACLE_SID相一致)。 ----------------------------------------------------------------------------- ---------利用oracle提供的种子数据库还原一个数据库出来 的详细步骤--------------- /////////////////////////////////////////////////////////////////////////// ---- Step 1. 建立我们所需的目录,并刷新授权。 [root@lym Server]# mkdir -p /u01/app/oracle/admin/TSH1/{a,b,u}dump [root@lym Server]# mkdir -p /u01/app/oracle/oradata/TSH1 [root@lym Server]# chown -R oracle.oinstall /u01 [root@lym Server]# chmod 775 /u01 --你可以在oracle用户下,看刷新授权前后,权限的变化(比较如下)。 [oracle@lym oracle]$ ls -l --刷新授权前/uo1/oracle/oracle下面各文件的权限 total 16 drwxr-xr-x 3 root root 4096 May 22 06:24 admin drwxr-xr-x 3 root root 4096 May 22 06:25 oradata drwxr-xr-x 6 oracle oinstall 4096 May 22 06:19 oraInventory drwxr-xr-x 3 oracle oinstall 4096 May 22 06:08 product [oracle@lym oracle]$ ls -l ----刷新授权后/uo1/oracle/oracle下面各文件的权限 total 16 drwxr-xr-x 3 oracle oinstall 4096 May 22 06:24 admin drwxr-xr-x 3 oracle oinstall 4096 May 22 06:25 oradata drwxr-xr-x 6 oracle oinstall 4096 May 22 06:19 oraInventory drwxr-xr-x 3 oracle oinstall 4096 May 22 06:08 product ///////////////////////////////////////////////////////////////////////////// ---- Step 2. 找到oracle为种子数据库提供的控制文件并copy至/u01/app/oracle/oradata/TSH1目录下(在Oracle用户下操作)。 [oracle@lym oracle]$ cd /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates/ [oracle@lym templates]$ cp Seed_Database.ctl /u01/app/oracle/oradata/TSH1 //////////////////////////////////////////////////////////////////////////// ---- Step 3. 建立pfile文件(在Oracle用户下操作)。 [oracle@lym templates]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs [oracle@lym templates]$ vi initTSH1.ora --输入以下三行并保存退出 *.db_name=SEEDDATA control_files='/u01/app/oracle/oradata/TSH1/Seed_Database.ctl' compatible=10.2.0.1.0 ----注:因为Seed_Database.ctl控制文件中记录的db_name为SEEDDATA,所以第一行的设置如此。 ///////////////////////////////////////////////////////////////////////////// ---- Step 4. 启动数据库到mount状态,并使用默认的参数建立spfile文件;然后重新启动数据库并更改sga_max_size,sga_target参数的值;然后再次重新启动数据库(具体操作如下)。 [oracle@lym dbs]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 22 06:56:19 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. SQL> startup mount ORACLE instance started. Total System Global Area 113246208 bytes Fixed Size 1218004 bytes Variable Size 58722860 bytes Database Buffers 50331648 bytes Redo Buffers 2973696 bytes Database mounted. SQL> create spfile from pfile; File created. SQL> shutdown immediate ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 113246208 bytes Fixed Size 1218004 bytes Variable Size 58722860 bytes Database Buffers 50331648 bytes Redo Buffers 2973696 bytes Database mounted. SQL> alter system set sga_max_size=200M scope=spfile; System altered. SQL> alter system set sga_target=160M scope=spfile; System altered. SQL> shutdown immediate ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 209715200 bytes Fixed Size 1218580 bytes Variable Size 100665324 bytes Database Buffers 104857600 bytes Redo Buffers 2973696 bytes Database mounted. SQL> /////////////////////////////////////////////////////////////////////////// ---- Step 5. 用rman连接数据库 [oracle@lym ~]$ rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Thu May 22 07:22:51 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: SEEDDATA (DBID=3891038516, not open) RMAN> list backup; using target database control file instead of recovery catalog List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 1 Full 89.23M DISK 00:00:36 30-JUN-05 BP Key: 1 Status: AVAILABLE Compressed: YES Tag: Piece Name: /ade/aime_10.2_lnx_push/oracle/oradata/Seed_Database.dfb List of Datafiles in backup set 1 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 446074 30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/system01.dbf 2 Full 446074 30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/undotbs01.dbf 3 Full 446074 30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/sysaux01.dbf 4 Full 446074 30-JUN-05 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/users01.dbf RMAN> ----可以看到,我们可以利用/ade/aime_10.2_lnx_push/oracle/oradata/Seed_Database.dfb这个备份集来还原数据库。 但是很明显我们系统中并没有这样一个文件/ade/aime_10.2_lnx_push/oracle/oradata/Seed_Database.dfb , 但是查找发现路径/u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates下有 Seed_Database.dfb文件 。 ----此明有两种方法解决此问题,一个是建立一个软链接/ade/aime_10.2_lnx_push/oracle/oradata/Seed_Database.dfb 指向 /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates/Seed_Database.dfb 。 另一个是创建目录/ade/aime_10.2_lnx_push/oracle/oradata/ 并将Seed_Database.dfb copy至其下 。 -- 这里,我们使用第二种方法(具体操作如下): [root@lym ~]# mkdir -p /ade/aime_10.2_lnx_push/oracle/oradata/ [root@lym ~]# chown -R oracle.oinstall /ade [root@lym ~]# chmod 775 /ade [root@lym ~]# su - oracle [oracle@lym ~]$ cd /u01/app/oracle/product/10.2.0/db_1/assistants/dbca/templates [oracle@lym templates]$ cp Seed_Database.dfb /ade/aime_10.2_lnx_push/oracle/oradata/ [oracle@lym templates]$ //////////////////////////////////////////////////////////////////////////// ---- Step 6. 还原数据库(先在RMAN下执行如下命令) run { set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/system01.dbf' to '/u01/app/oracle/oradata/TSH1/system01.dbf'; set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/sysaux01.dbf' to '/u01/app/oracle/oradata/TSH1/sysaux01.dbf'; set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/undotbs01.dbf' to '/u01/app/oracle/oradata/TSH1/undotbs01.dbf'; set newname for datafile '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/users01.dbf' to '/u01/app/oracle/oradata/TSH1/users01.dbf'; restore database; switch datafile all; } -- 然后,执行如下命令可以看到我们所需要的数据文件都还原回来了,但是现在还缺少log file 。 我们现在打开数据库。 [oracle@lym templates]$ cd /u01/app/oracle/oradata/TSH1 [oracle@lym TSH1]$ ls Seed_Database.ctl sysaux01.dbf system01.dbf undotbs01.dbf users01.dbf [oracle@lym TSH1]$ -- 因为控制文件中记录的log file路径为 /ade/aime_10.2_lnx_push/oracle/oradata/seeddata 所以要先创建相应的目录并再次刷新其权限(具体操作如下)。 [root@lym ~]# mkdir -p /ade/aime_10.2_lnx_push/oracle/oradata/seeddata [root@lym ~]# chown -R oracle.oinstall /ade [root@lym ~]# chmod 775 /ade -- 然后在sqlplus中执行如下命令: [oracle@lym TSH1]$ sqlplus / as sysdba SQL> alter database open resetlogs; Database altered. SQL> -- 此时,在目录/ade/aime_10.2_lnx_push/oracle/oradata/seeddata 下创建了redo01.log,redo02.log,redo03.log,temp01.dbf文件。 -- 我们要更改这几个文件的路径,所以先将数据库关闭, 然后cp /ade/aime_10.2_lnx_push/oracle/oradata/seeddata/× /u01/app/oracle/oradata/orcl/ 启动数据库到mount状态,并更改日志和临时文件的路径(具体操作如下) SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> [oracle@lym ~]$ cd /ade/aime_10.2_lnx_push/oracle/oradata/seeddata [oracle@lym seeddata]$ cp redo01.log redo02.log redo03.log temp01.dbf /u01/app/oracle/oradata/TSH1/ -- 然后启动数据库到mount状态,并更改日志和临时文件的路径 SQL> startup mount; ORACLE instance started. Total System Global Area 209715200 bytes Fixed Size 1218580 bytes Variable Size 104859628 bytes Database Buffers 100663296 bytes Redo Buffers 2973696 bytes Database mounted. SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/redo01.log' to '/u01/app/oracle/oradata/TSH1/redo01.log'; Database altered. SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/redo02.log' to '/u01/app/oracle/oradata/TSH1/redo02.log'; Database altered. SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/redo03.log' to '/u01/app/oracle/oradata/TSH1/redo03.log'; Database altered. SQL> alter database rename file '/ade/aime_10.2_lnx_push/oracle/oradata/seeddata/temp01.dbf' to '/u01/app/oracle/oradata/TSH1/temp01.dbf'; Database altered. SQL> alter database open; Database altered. SQL> -- 到此数据库已经建立,并且数据文件也放到了我们期待的地方。但是还有一个问题,就是数据库名称不是我们事先期待的。 SQL> show parameter name NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_file_name_convert string db_name string SEEDDATA db_unique_name string SEEDDATA global_names boolean FALSE instance_name string TSH1 lock_name_space string log_file_name_convert string service_names string SEEDDATA SQL> //////////////////////////////////////////////////////////////////////// 下面我们将数据库名称SEEDDATA改成我们需要的TSH1 。注意此时仅仅更改参数文件的值是不行的,因为控制文件中同样也记录着数据库的名称。 -- Step 7. 更改数据库名称 -- 首先备份控制文件脚本(具体操作如下) SQL> alter database backup controlfile to trace as '/tmp/ctl.txt'; Database altered. SQL> create pfile from spfile; File created. SQL> -- 然后将spfile文件(spfileTSH1.ora)删除,编辑pfile文件(initTSH1.ora)将db_name="SEEDDATA" 改成 db_name="TSH1"(具体操作如下)。 [oracle@lym dbs]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs [oracle@lym dbs]$ rm spfileTSH1.ora [oracle@lym dbs]$ vi initTSH1.ora -- 然后保存对initTSH1.ora的修改并退出。 -- 然后vi /home/oracle/ctl2.txt(参考/tmp/ctl.txt重建控制文件脚本),脚本的内容如下: CREATE CONTROLFILE REUSE DATABASE "SEEDDATA" set database "TSH1" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/u01/app/oracle/oradata/TSH1/redo01.log' SIZE 50M, GROUP 2 '/u01/app/oracle/oradata/TSH1/redo02.log' SIZE 50M, GROUP 3 '/u01/app/oracle/oradata/TSH1/redo03.log' SIZE 50M DATAFILE '/u01/app/oracle/oradata/TSH1/system01.dbf', '/u01/app/oracle/oradata/TSH1/undotbs01.dbf', '/u01/app/oracle/oradata/TSH1/sysaux01.dbf', '/u01/app/oracle/oradata/TSH1/users01.dbf', '/u01/app/oracle/oradata/TSH1/tt.dbf' CHARACTER SET US7ASCII ; ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.