手工创建数据库

转载,来自我朋友的笔记


1、指定标识符
export ORACLE_SID=ora11g
echo $ORACLE_SID

2、确保环境变量
export ORACLE_SID=ora11g
export ORACLE_BASE=/u01/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:lib:/usr/lib:/usr/local/lib:/usr/X11R6/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_OWNER=oracle
export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/u01/app/oracle/11g/bin

3、选择数据库的认证方式
1. Using Operating System Authentication
2. Using Password File Authentication
[oracle@rh2 ~]$ id oracle 
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

4、创建初始化参数文件
db_name='ora11g'
memory_target=635437056
processes = 150    #每个后台进程加每个用户进程的总和
audit_file_dest='/u01/oracle/app/oracle/admin/ora11g/adump'
audit_trail ='db'
db_block_size=8192    #标准数据块的大小
db_domain=''
db_recovery_file_dest='/u01/oracle/app/oracle/flash_recovery_area'    #闪回区路径
db_recovery_file_dest_size=2G    #闪回区大小
diagnostic_dest='/u01/oracle/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ASKORACLEXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
#控制文件路径,至少两个控制文件
control_files='/u02/oradata/ora11g/control01.ctl','/u01/oracle/app/oracle/flash_recovery_area/ora11g/control02.ctl'
compatible ='11.2.0'
注:
1)遇到以下两种情况,可以把数据块设大
a. Oracle数据库将运行在一个大的计算机系统上,并且具有大量的内存和快速磁盘驱动。一般情况下使用4k或者更大的数据库块大小。
b. Oracle数据库运行所在的操作系统采用的是小型操作系统块的大小。如果操作系统的块大小是1k,如果默认的数据块大小跟这个一样,那么在数据库正常操作期间磁盘的I/O消耗量就会很大。为了提高性能,就需要将数据块设置的大点(为操作系统块的整数倍)。
2)如果没有指定undo表空间,undo数据会写入system表空间

5、连接实例
sqlplus / as sysdba
6、创建SPFILE
create spfile from pfile;
7、启动实例到NOMOUNT状态
startup nomount;
8、执行CREATE DATABASE命令
CREATE DATABASE ora11g    --创建数据库
USER SYS IDENTIFIED BY oracle     --创建sys用户
USER SYSTEM IDENTIFIED BY oracle    --创建system用户
--创建日志组
LOGFILE GROUP 1('/u02/oradata/ora11g/redo01a.log',
'/u02/oradata/ora11g/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2('/u02/oradata/ora11g/redo02a.log',
'/u02/oradata/ora11g/redo02b.log') SIZE 100M blocksize 512,
GROUP 3('/u02/oradata/ora11g/redo03a.log',
'/u02/oradata/ora11g/redo03b.log') SIZE 100M BLOCKSIZE 512
--最大日志组和最大组成员
MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 1 MAXDATAFILES 100
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
--创建系统表空间
EXTENT MANAGEMENT LOCAL
DATAFILE '/u02/oradata/ora11g/system01.dbf' SIZE 400M REUSE
--SYSAUX表空间的特性:1. 永久性 2. 可读可写性 3. 本地区管理 4. 数据段自动管理
--不能使用 ALTER TABLESPACE修改
--不能删除和重命SYSAUX表空间
--可以通过V$SYSAUX_OCCUPANTS视图查询
SYSAUX DATAFILE '/u02/oradata/ora11g/sysaux01.dbf' SIZE 400M REUSE
--默认用户表空间
DEFAULT TABLESPACE users DATAFILE '/u02/oradata/ora11g/users01.dbf' SIZE 500M
REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
--默认临时表空间
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u02/oradata/ora11g/temp01.dbf'
SIZE 20M REUSE
--创建UNDO表空间
UNDO TABLESPACE undotbs1
DATAFILE '/u02/oradata/ora11g/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
/

可以使用tail -f /u01/oracle/app/oracle/diag/rdbms/ora11g/ora11g/trace/alert_ora11g.log监控建库的过程

9、 创建数据字典视图
@?/rdbms/admin/catalog.sql
-- 创建数据字典,为数据字典创建动态性能视图,为视图创建公共同义词
@?/rdbms/admin/catproc.sql
-- 运行所有有关PL/SQL的脚本
@?/sqlplus/admin/pupbld.sql
-- 生成必要的SQL*Plus权限


你可能感兴趣的:(oracle管理)