我的实验环境是redhat5.5 + oracle 11.2.0.1
第一步:设置ORACL_SID
编辑 /home/oracle/.bash_profile,添加如下内容
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=mydb
export PATH=$ORACLE_HOME/bin:$PATH
ORACLE_SID=mydb
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
1、建好目录
mkdir /u01/app/oracle/database/pfile --存放pfile
mkdir /u01/app/oracle/database/controfile --存放controfile
2、创建pfile
执行 vi /u01/app/oracle/database/pfile/mydb.txt 添加如下内容
db_name=mydb
control_files='/u01/app/oracle/database/controfile/control01.ctl','/u01/app/oracle/database/controfile/control02.ctl'
退出、保存
第五步:连接实例,创建spfile
windowns下的spfile在$ORACLE_HOME/database
linux下的spfile在$ORACLE_HOME/dbs下
文件名相同,都是spfilexxx.ora ,windowns下全是大写,linux下是小写。
1、连接实例,创建spfile需要sysdba的权限
sqlplus / as sysdba
2、创建spfile
create spfile from pfile=‘/u01/app/oracle/database/pfile/mydb.txt’
第六步:重启实例
1、关闭实例
shutdown abort
2、将实例启动到nomount状态
startup nomount
第七步:创建数据库
需要注意如下几点:
1、sys、system账户的密码设置为与密码文件的password值一致,本例中该值是oracle
2、字符集CHARACTER设为ZHS16GBK;国家字符集设为 AL16UTF16
建库脚本如下
CREATE DATABASE mydb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/mydb/redo01.log') SIZE 50M,
GROUP 2 ('/u01/app/oracle/oradata/mydb/redo02.log') SIZE 50M,
GROUP 3 ('/u01/app/oracle/oradata/mydb/redo03.log') SIZE 50M
MAXLOGFILES 20
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 100
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/mydb/system01.dbf' SIZE 500M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/mydb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/app/oracle/oradata/mydb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/mydb/undotbs01.dbf'
SIZE 200M REUSE;
执行完之后,此时数据库应该处于OPEN状态
3、执行如下3个脚本
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
@表示要执行后面的脚本,?=ORACLE_HOME;最后一个脚本需要用sysdba的身份执行,否则执行其他操作时会报错。
第八步:创建表空间、用户及授予权限
1、create tablespace users datafile '/u01/app/oracle/oradata/ocp/users01.dbf' size 50M;
创建表空间users 初始数据文件大小为50M
2、alter database default tablespace users;
将users设为数据库的默认表空间
3、create user xsh identified by xsh default tablespace users temporary tablespace temp;
用户 xsh 密码 xsh; 默认表空间是users,临时表空间位temp
4、grant dba to xsh;
授予xsh dba的权限。
5、连接测试
SQL> conn xsh/xsh
Connected.
第九步:删除数据库
手工创建的数据库不能用dbca删除,可执行如下脚本删除【先关闭数据库】
startup mount exclusive
alter system enable restricted session;
drop database;
-----the end