首页 > 代码库 > linux下oracle自动创建实例脚本

linux下oracle自动创建实例脚本

脚本需要一个参数,即实例的名称,生成配置相关文件后,还会生成一个创建数据库的供sqlplus下运行的脚本语句。

语句会放在运行脚本目录下的一个文件,文件名为: create_database_${sid}.sql。

最后要把create_database_${sid}.sql中的语句拿到sqlplus中运行。

注意: 运行之前请把ORACLE_HOME, ORACLE_BASE这两个环境变量设置正确

注释没怎么写,因为我也不懂有些语句是什么意思 ,只是网上的东西整理了。有问题请指正

素材来自网络,转载请注明。脚本没啥含金量

# sid must be valid and env ORACLE_BASE must be existif [ "$#" -eq "0" ] ; thenecho no parameterexit;fisid=$1if [ -z "$sid" -o -z "$ORACLE_BASE" -o -z "$ORACLE_HOME" ] ; thenecho "sid name is invalid or oracle_base unset"exit;fi#set sid envORACLE_SID=$sid;DATABASE_SPACE_UNDO=UNDOTBS1001ORA_ADMIN_DIR=$ORACLE_BASE/admin/$sid;ORA_DATA_DIR=$ORACLE_BASE/oradata/$sid;# create dir of sidORA_ADMIN_ROOT=$ORACLE_BASE/admin;mkdir -p $ORA_ADMIN_DIR/adump;mkdir -p $ORA_ADMIN_DIR/bdump;mkdir -p $ORA_ADMIN_DIR/cdump;mkdir -p $ORA_ADMIN_DIR/udump;mkdir -p $ORA_ADMIN_DIR/pfile;mkdir -p $ORA_DATA_DIR;#create ora password fileorapwd file=${ORACLE_HOME}/dbs/orapw${sid} password=${sid} entries=5 force=y;#create .ora file for init your sid#cp ${ORACLE_HOME}/dbs/init.ora ${ORACLE_HOME}/dbs/init${sid}.ora#edit .ora file#as follow is exmple for .ora filecat > ${ORACLE_HOME}/dbs/init${sid}.ora << EOF############################################################################### Copyright (c) 1991, 2001, 2002 by Oracle Corporation########################################################################################################################## Cache and I/O###########################################db_block_size=8192db_file_multiblock_read_count=16############################################ Cursors and Library Cache###########################################open_cursors=300############################################ Database Identification###########################################db_domain=""db_name=${sid}############################################ Diagnostics and Statistics###########################################background_dump_dest=$ORA_ADMIN_DIR/bdumpcore_dump_dest=$ORA_ADMIN_DIR/cdumpuser_dump_dest=$ORA_ADMIN_DIR/udump############################################ File Configuration###########################################control_files=("$ORA_DATA_DIR/control01.ctl", "$ORA_DATA_DIR/control02.ctl", "$ORA_DATA_DIR/control03.ctl")db_recovery_file_dest=$ORACLE_BASE/flash_recovery_areadb_recovery_file_dest_size=2147483648############################################ Job Queues###########################################job_queue_processes=10############################################ Miscellaneous###########################################compatible=10.2.0.1.0############################################ Network Registration#############################################local_listener=LISTENER_BLOG############################################ Processes and Sessions###########################################processes=150############################################ SGA Memory###########################################sga_target=605028352############################################ Security and Auditing###########################################audit_file_dest=$ORA_ADMIN_DIR/adumpremote_login_passwordfile=EXCLUSIVE############################################ Shared Server###########################################dispatchers="(PROTOCOL=TCP) (SERVICE=${sid}XDB)"############################################ Sort, Hash Joins, Bitmap Indexes###########################################pga_aggregate_target=201326592############################################ System Managed Undo and Rollback Segments###########################################undo_management=AUTOundo_tablespace=$DATABASE_SPACE_UNDOEOFcat > create_database_${sid}.sql << EOFsqlplus / as sysdba;startup nomount pfile=$ORACLE_HOME/dbs/init${sid}.ora;CREATE DATABASE ${sid}CONTROLFILE   REUSELOGFILE GROUP 1 ($ORA_DATA_DIR/redo01.log) SIZE 10M REUSE,       GROUP 2 ($ORA_DATA_DIR/redo02.log) SIZE 10M REUSE,       GROUP 3 ($ORA_DATA_DIR/redo03.log) SIZE 10M REUSEDATAFILE $ORA_DATA_DIR/system01.dbf SIZE 500MEXTENT MANAGEMENT LOCALsysaux datafile $ORA_DATA_DIR/sysaux01.dbf size 120M reuse autoextend on next 10240K maxsize unlimitedUNDO TABLESPACE ${DATABASE_SPACE_UNDO} DATAFILE $ORA_DATA_DIR/undotbs01.dbf SIZE 500MDEFAULT TEMPORARY TABLESPACE TEMPTEMPFILE $ORA_DATA_DIR/temp01.dbf SIZE 500MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 10MNOARCHIVELOGMAXDATAFILES 1000CHARACTER SET UTF8NATIONAL CHARACTER SET UTF8MAXLOGFILES 10;@?/rdbms/admin/catalog.sql;@?/rdbms/admin/catproc.sql;@?/sqlplus/admin/pupbld.sql;exit;EOF
View Code

 

linux下oracle自动创建实例脚本