1、前几天同事让帮忙远程在rhel 6.4上建个oracle 11.2.0.3数据库的实例,原本10几分钟的事情折腾了半个多小时没有搞定,
本机和服务器不在一个网段上,secureCRT可以链接,xmanager-passive就是弹不出图形界面,
确认不是缺包的原因,检查了一下,2台设备居然互相ping不通,应该是TCP/IP端口给封掉了,
没有办法只好通过secureCRT,远程连接手工建库,于是写了这个建库文档:
2、出于谨慎我先本机测试了一下,顺利完胜数据库建立,并能通过sql developer链接新建实例。
3、本机环境;
OS;rhel 6.5 X64
DB: Oracle 11.2.0.4 Linux x64
VM: Vbox 4.3.6
ORACLE_SID: cclw
IP:192.168.1.114
hostname:OCM-11G
4、因为这几天比较忙,参数配置使用的较为简便、本着够用就行。
5、$代表用oracle用户执行的命令
#代表用root用户执行的命令
1、配置环境变量,以下是我测试用的环境变量。
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME/$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=cclw
export PATH=$ORACLE_HOME/bin;/bin;/usr/bin;$PATH
2、创建数据文件目录
#mkdir -p $ORACLE_BASE/oradata/cclw
3、创建dump跟踪文件目录
#mkdir -p $ORACLE_BASE/admin/cclw/{a,b,c,u}dump
4、创建闪回目录
#mkdir -p $ORACLE_BASE/flash_recovery_area
5、创建日志文件目录
#mkdir -p /u01/app/oracle/logs/cclw
#mkdir -p /u02/app/oracle/logs/cclw
6、修改新创建目录用户、组以及修改权限
#chown -R oracle:oinstall /u01
#chmod -R 755 /u01
#chown -R oracle:oinstall /u02
#chmod -R 755 /u02
7、创建初始化文件
此处要细心:参数文件里的目录一定要和你前面建的目录保持一致
$cd $ORACLE_HOME/dbs
$cp init.ora initcclw.ora
$vi initcclw.ora 进行编辑
添加如下内容:
db_name='cclw'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/cclw/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=cclw)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS'
control_files = (cclw_control01, cclw_control02)
compatible ='11.2.0'
8、建立创建数据库脚本
此处注意:
1、建库脚本里的表空间名和路径要和前面参数文件保持一致
2、一旦出现错误,组要先删除数据文件、控制文件、日志文件方可从新执行建库脚本
$cd $ORACLE_HOME/rdbms/admin
$vi createdb.sql
添加如下内容:
CREATE DATABASE cclw
USER SYS IDENTIFIED BY sa123
USER SYSTEM IDENTIFIED BY sa123
LOGFILE GROUP 1 ('/u01/app/oracle/logs/cclw/redo01a.log','/u02/app/oracle/logs/cclw/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/logs/cclw/redo02a.log','/u02/app/oracle/logs/cclw/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/logs/cclw/redo03a.log','/u02/app/oracle/logs/cclw/redo03b.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/cclw/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/cclw/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/cclw/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts
TEMPFILE '/u01/app/oracle/oradata/cclw/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/cclw/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
9、创建口令文件
$orapwd file=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwcclw.ora password=sa123
10、修改/dev/shm大小
# df -h /dev/shm --如果大于memory_tartget,则不用修改,小于的话,修改一下,不然数据库启动不了。修改方法如下:
1、临时扩容
# mount -t tmpfs shmfs -o size=4g /dev/shm
2、永久扩容
# vi /etc/fstab
修改如下内容
shmfs /dev/shm tmpfs size=4G 0
11、切换到这个目录,以便登陆sql执行目录下脚本
$cd $ORACLE_HOME/rdbms/admin
12、创建spfile
$sqlplus /nolog
SQL>connect /as sysdba
SQL>create spfile from pfile;
13、启动到nomount状态,以执行建库脚本
SQL>startup nomount;
14、执行创建createdb.sql
SQL>@createdb.sql
15、创建数据字典
SQL>@catalog.sql;
SQL>@catproc.sql;
16、配置监听listener.ora
$cd $ORACLE_HOME/network/admin
$vi listener.ora
添加如下内容
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = cclw)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = cclw)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = wch)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01
17、配置tnsnames.ora
$vi tnsnames.ora
添加如下内容
CCLW =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.114)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cclw)
)
)
18、手工启停
启动监听:lsnrctl start
停止监听:lsnrctl stop
启动数据库
$sqlplus /as sysdba
$startup
关闭数据库
$sqlplus /as sysdba
$shutdown immediate