手动建库傻瓜式一键安装脚本

来源:互联网 发布:js实现淘宝购物车 编辑:程序博客网 时间:2024/05/11 05:58

执行这个脚本一定要用oracle用户,然后用. 脚本.sh执行

像这样

[oracle@www ~]$ . shoudongjianku.sh

因为脚本中有切换目录的操作

sh 或者./shoudongjianlu.sh这样执行是不会切换目录的

 

一定要设置$ORACLE_SID环境变量

 

大家可以复制这个网页内容到windows的txt中

然后拽到linux中

然后用dos2unix命令

dos2unix 文件

然后改名执行

 

#!/bin/bash

echo $ORACLE_SID

//读取下你用户的SID变量,打印出来,下面会用这个变量

if [ -d /u01/app/oracle/product/11.2.0/db_home1/dbs ]
then
rm -rf /u01/app/oracle/product/11.2.0/db_home1/dbs
mkdir -p /u01/app/oracle/product/11.2.0/db_home1/dbs
else
mkdir -p /u01/app/oracle/product/11.2.0/db_home1/dbs
fi


orapwd file=/u01/app/oracle/product/11.2.0/db_home1/dbs/orapw$ORACLE_SID password=oracle

if [ -d /u01/app/oracle/admin/$ORACLE_SID/adump ]
then
rm -rf /u01/app/oracle/admin/$ORACLE_SID/adump
mkdir -p /u01/app/oracle/admin/$ORACLE_SID/adump
else
mkdir -p /u01/app/oracle/admin/$ORACLE_SID/adump
fi


if [ -d /u01/app/oracle/fast_recovery_area ]
then
rm -rf /u01/app/oracle/fast_recovery_area
mkdir -p /u01/app/oracle/fast_recovery_area
else
mkdir -p /u01/app/oracle/fast_recovery_area
fi

 

if [ -d /u01/app/oracle/oradata/$ORACLE_SID ]
then
rm -rf /u01/app/oracle/oradata/$ORACLE_SID
mkdir -p /u01/app/oracle/oradata/$ORACLE_SID
else
mkdir -p /u01/app/oracle/oradata/$ORACLE_SID
fi

//以上是创建需要目录

cat << EOF > /u01/app/oracle/product/11.2.0/db_home1/dbs/init$ORACLE_SID.ora
db_name=$ORACLE_SID
memory_target=512000000
processes = 150
audit_file_dest='/u01/app/oracle/admin/$ORACLE_SID/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
undo_management=auto
control_files = '/u01/app/oracle/oradata/$ORACLE_SID/control01.ctl'
compatible ='11.2.0.4.0'
EOF

//以上是生成初始化文件

cat << EOF > /u01/app/oracle/product/11.2.0/db_home1/dbs/createdb.sql
CREATE DATABASE $ORACLE_SID
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/$ORACLE_SID/redo01.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/$ORACLE_SID/redo02.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/$ORACLE_SID/redo03.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/$ORACLE_SID/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/$ORACLE_SID/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/$ORACLE_SID/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
--SEGMENT SPACE MANAGEMENT auto
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/$ORACLE_SID/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/$ORACLE_SID/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

EOF

//生成sql文件

cd /u01/app/oracle/product/11.2.0/db_home1/dbs

//到执行下面的目录

//下面的命令就得手打了,为了方便,我写在脚本里了,大家可以从脚本里复制粘贴到shell终端里

 

到这步一定看看自己当前目录,必须是这个 /u01/app/oracle/product/11.2.0/db_home1/dbs

不是这个请手动切换到这个目录 然后执行下面的操作

#sqlplus / as sysdba

//登录数据库

#>create spfile from pfile;

#>startup nomount;

//启动

#>shutdown abort;

//如果启动过,这个命令是关闭

#>@createdb.sql

//执行sql文件

#>@?/rdbms/admin/catalog.sql

#>@?/rdbms/admin/catproc.sql

#>@?/sqlplus/admin/pupbld.sql

#>@?/rdbms/admin/utlsampl.sql

 

0 0
原创粉丝点击