注:学习oracle的初期强烈手动创建数据库。这样会加深对数据库各个组件的理解以及数据库实例启动过程中所需要的各个组件。
实例启动三阶段:
1.nomount--->此阶段会读取参数文件即spfile或者pfile文件,分配内存启动后台进程。
2.mount--->此阶段会加载控制文件
3.startup--->此阶段会打开数据文件、日志文件
手工建库:
配置环境变量---谁都不愿意住毛坯房,起码的装修要弄好,不要到以后觉得这地方要加一个水龙头,那地方要加一个插座这时候再想着去加,那样的话会让自己很难受。
2.创建参数文件以便将数据库启动到nomount状态
Linux系统下:路径为--$ORACLE_HOME/dbs
vi initPROD1.ora---
db_name='PROD1'
memory_target=800M
processes = 150
audit_file_dest='/u01/app/oracle/admin/PROD1/adump'
audit_trail ='db'
db_block_size=8192
db_domain='us.oracle.com'
db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=PROD1XDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS'
control_files=(/u01/app/oracle/oradata/PROD3/control1.ctl,/u01/app/oracle/oradata/PROD1/control2.ctl)
compatible ='11.2.0'
注:文件内容的路径要创建好
mkdir -p /u01/app/oracle/oradata/PROD1
mkdir -p /u01/app/oracle/admin/PROD1/adump
mkdir -p/u01/app/oracle/fast_recovery_area
orapwd file=orapwPROD1 password=oracle entries=30->创建密码文件
[oracle@edbjr2p2 dbs]$ sqlplus / as sysdba
Connected to an idle instance.
SYS@PROD1> create spfile from pfile;
File created.
SYS@PROD1> startup nomount;
ORACLE instance started.
Total System Global Area 836976640 bytes
Fixed Size 1348160 bytes
Variable Size 490737088 bytes
Database Buffers 339738624 bytes
Redo Buffers 5152768 bytes
数据库nomount状态,第一阶段结束。恭喜你已经迈出数据库启动的第一步了。
3. 创建数据库--->可以参考官方文档。
创建数据库实例语句:
Linux环境中执行:
[oracle@edbjr2p2 dbs]$ vi createdb.sql
CREATE DATABASEPROD1
USER SYS IDENTIFIED BYoracle
USER SYSTEM IDENTIFIED BYoracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD1/redo01a.log',
'/u01/app/oracle/oradata/PROD1/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/PROD1/redo02a.log',
'/u01/app/oracle/oradata/PROD1/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/PROD1/redo03a.log',
'/u01/app/oracle/oradata/PROD1/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 '/u01/app/oracle/oradata/PROD1/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD1/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/PROD1/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACEtemp
TEMPFILE '/u01/app/oracle/oradata/PROD1/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACEundotbs
DATAFILE '/u01/app/oracle/oradata/PROD1/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
执行语句之前确认一下路径是否存在。如不存在同上创建路径。
SYS@PROD1> @createdb.sql
Database created.
数据库实例执行完毕之后数据库会自动启动到open状态。恭喜你已经将数据库启动起来了。
4.装修数据库。
[oracle@edbjr2p2 dbs]$ vi 1.sql
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
SYS@PROD1> @1.sql
漫长的等待
恭喜你,数据库实例已创建完毕。
领取专属 10元无门槛券
私享最新 技术干货