Oracle11.2 命令行手工最简创建数据库的过程

时间:2021-05-02

环境:RHEL 5.4 x86 , oracle 11.2
1.设定环境变量
在/home/oracle编辑
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
# 11g R2
export ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ORACLE_SID=orcl
umask 022

2.禁用SELinux
如果在安装RHEL的时候启用了SELinux,需要
以root用户setenforce 0
否则会出现:sqlplus: error while loading shared libraries

3.以oracle用户登录编辑init.ora
只要1行
db_name=orcl

4.登录sqlplus / as sysdba
create spfile='spfileorcl.ora' from pfile='/home/oracle/init.ora'
startup nomount
create database orcl;
等候创建数据库成功。
select sysdate from dual;
已经可以查出日期。

5.执行脚本建立系统视图和包
@?/rdbms/admin/catalog
@?/rdbms/admin/catproc
以system用户执行
@?/sqlplus/admin/pupbld
此时可以看到v$datafile和v$controlfile
位于$ORACLE_HOME/dbs,文件名分别是dbs1orcl dbx1orcl dbu1orcl cntrlorcl
几点疑问:
1.文档上说至少pfile需要3个参数,其他都有默认值,而我只写了1个,也可以。
2.创建数据库的表空间只有system sysaux sys_undots,没有临时表空间,数据库运行也不出错
不知道是否这也是oracle 11.2的新特性?
3.曾经在一个.sql文件中写了如下的语句,但没有执行成功
create database orcl
user sys identified by sys
user system identified by sys
extent management local
default temporary tablespace temp
undo tablespace undotbs1
default tablespace users;
4.文档中没有说需要system用户执行pupbld,我用sys用户执行
结果在新建用户oo登录时提示error accessing PRODUCT_USER_PROFILE

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章