Oracle 手工建库第一步 创建instance

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34556414/article/details/84313176

其实在很多环境下是无法打开图形界面的,那么创建数据库只能通过手工的方式来创建。

手工建库可以分为三部分:

先创建实例,口令文件将数据库启动到nomount状态

 

  1. 创建初始化参数文件pfile

 

首先确定数据库名,然后生成pfile文件。

 

先进入到$ORACLE_HOME/dbs下面,pfile文件应该放在该目录下面。在Oracle软件安装好之后在该目录下面会自动的生成init.ora这个文件,这个文件就可以当做pfile的一个模板。

[oracle@Database2 dbs]$ cd $ORACLE_HOME/dbs

[oracle@Database2 dbs]$ ls

hc_oradb.dat  init.ora  snapcf_oradb.f

[oracle@Database2 dbs]$ cat init.ora  --查看这个文件里面的内容,这个文件里面的内容就足够创建一个pfile

db_name='ORCL'

memory_target=1G

processes = 150

audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'

db_recovery_file_dest_size=2G

diagnostic_dest='<ORACLE_BASE>'

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

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 = (ora_control1, ora_control2)

compatible ='11.2.0'

 

 

[oracle@Database2 dbs]$ vi initoradb.ora --生成pfile文件,这个文件名是init<SID>.ora,将上面的内容复制进去,然后修改里面的内容。

 

db_name='oradb' --写上数据库名

 

 

原来:audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'

修改后:audit_file_dest='$ORACLE_BASE/admin/oradb/adump'  --审计文件存放的路径,oradb是实例名字,这个目录是不存在的,需要手工创建这个目录。

 

[root@Database2 ~]# su - oracle

[oracle@Database2 ~]$ mkdir -p $ORACLE_BASE/admin/oradb/adump --手工创建目录

 

 

修改前:diagnostic_dest='<ORACLE_BASE> '  --这个是存放告警日志 ,生成的一些trace文件

修改后:diagnostic_dest='$ORACLE_BASE'

 

remote_login_passwordfile='EXCLUSIVE'  --这个是sys用户远程连接的时候对其身份认证口令文件对其验证,EXCLUSIVE代表可以远程登入。

 

 

undo_tablespace='UNDOTBS1'  --这个要和建库脚本里面的内容是一样的。

 

控制文件修改之前:control_files = (ora_control1, ora_control2)

修改之后:control_files = '/u01/app/oracle/oradata/oradb/control01.ctl'

[oracle@Database2 oradb]$ mkdir -p /u01/app/oracle/oradata/oradb  --这个目录也可能不存在,要手工创建一下

 

[oracle@Database2 dbs]$ cat initoradb.ora --修改完之后pfile的内容(pfile文件里面的参数越少越好,这样出错的概率也不会大。

db_name='oradb'

memory_target=1G

processes = 150

audit_file_dest='$ORACLE_BASE/admin/oradb/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

diagnostic_dest='$ORACLE_BASE'

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

open_cursors=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

control_files = '/u01/app/oracle/oradata/oradb/control01.ctl'

compatible ='11.2.0'

 

  1. 创建口令文件

口令文件是当sys用户远程登入的时候,需要对其身份进行验证,口令文件格式是orapw<SID>

[oracle@Database2 dbs]$ cd $ORACLE_HOME/dbs

[oracle@Database2 dbs]$ ls

hc_oradb.dat  init.ora  initoradb.ora  snapcf_oradb.f

[oracle@Database2 dbs]$ orapwd file=orapworadb entries=3  password=oracle  --创建口令文件是使用orapwd这个工具来创建,entries=3代表同时允许具有sysdba权限的三个用户来登入。

 file - name of password file (required),

    password - password for SYS will be prompted if not specified at command line,

    entries - maximum number of distinct DBA (optional),

 

[oracle@Database2 dbs]$ ls

hc_oradb.dat  init.ora  initoradb.ora  orapworadb  snapcf_oradb.f

[oracle@Database2 dbs]$ cat orapworadb

 

 

(3)启动实例

[oracle@Database2 dbs]$ export ORACLE_SID=oradb  --如果有多个实例,指明启动哪个实例

[oracle@Database2 dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Thu May 24 02:46:16 2018

 

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup;

ORA-00845: MEMORY_TARGET not supported on this system

 

 

下面蓝色部分是调整操作系统的大小

[root@Database2 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_database1-lv_root

                       23G  9.6G   12G  46% /

tmpfs                1004M  276K 1004M   1% /dev/shm

 

[root@Database2 ~]# cat /etc/fstab | grep tmpfs

tmpfs                   /dev/shm                tmpfs   defaults,size=1700m       0 0

 

[root@Database2 ~]# mount -o remount /dev/shm

 

[root@Database2 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/vg_database1-lv_root

                       23G  9.6G   12G  46% /

tmpfs                 1.7G  276K  1.7G   1% /dev/shm

 

SQL> startup nomount;  --修改完之后启动实例到nomount

ORACLE instance started.

 

Total System Global Area 1068937216 bytes

Fixed Size     2260088 bytes

Variable Size   671089544 bytes

Database Buffers   390070272 bytes

Redo Buffers     5517312 bytes

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/84313176