linux手工创建Oracle实例操作说明

来源:互联网 发布:网络十二主神 编辑:程序博客网 时间:2024/06/08 08:01
第一步 设置环境变量,可加在.bash_profile文件中
export ORACLE_SID=orcl
第二步 创建需要的目录:
[oracle@localhost oracle]$ mkdir -p $ORACLE_BASE/oradata/ORCL[oracle@localhost oracle]$ mkdir -p $ORACLE_BASE/admin/orcl/adump[oracle@localhost oracle]$ mkdir -p $ORACLE_BASE/admin/orcl/bdump[oracle@localhost oracle]$ mkdir -p $ORACLE_BASE/admin/orcl/cdump[oracle@localhost oracle]$ mkdir -p $ORACLE_BASE/admin/orcl/udump[oracle@localhost oracle]$ mkdir -p $ORACLE_BASE/admin/orcl/pfile
第三步 创建需要的目录:在$ORACLE_HOME/dbs目录下创建ORACLE的参数文件initSID.ora,可先拷贝数据库自带的init.ora文件,在修改:
cp init.ora initORCL.ora
用vi命令编辑initORCL.ora文件,修改如下:
# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at# install time)db_name='ORCL'memory_target=1Gprocesses = 150audit_file_dest='/opt/oracle/admin/orcl/adump'audit_trail ='db'db_block_size=8192db_domain=''db_recovery_file_dest='/opt/oracle/flash_recovery_area'db_recovery_file_dest_size=2Gdiagnostic_dest='/opt/oracle'dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'open_cursors=300remote_login_passwordfile='EXCLUSIVE'undo_tablespace='UNDOTBS1'# You may want to ensure that control files are created on separate physical# devicescontrol_files = (ora_control1, ora_control2)compatible ='11.2.0'
第四步 创建密码文件:
orapwd file=orapwdORCL password=oracle entries=5
第五步 创建oracle的建库角本create.sql,内容如下:
spool orcl_dbcreate.log;create database "ORCL"maxdatafiles 500maxinstances 8MAXLOGHISTORY 4000maxlogfiles 32character set "UTF8"national character set AL16UTF16datafile'/opt/oracle/oradata/ORCL/system01.dbf' size 500MSYSAUX DATAFILE '/opt/oracle/oradata/ORCL/sysaux01.dbf' SIZE 100MUNDO TABLESPACE "UNDOTBS1"DATAFILE '/opt/oracle/oradata/ORCL/undotbs01.dbf' SIZE 200MDEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/opt/oracle/oradata/ORCL/temp01.dbf' SIZE 300MDEFAULT TABLESPACE uses DATAFILE '/opt/oracle/oradata/ORCL/user01.dbf' SIZE 20mlogfileGROUP 1 ('/opt/oracle/oradata/ORCL/redo01a.log','/opt/oracle/oradata/ORCL/redo01b.log') SIZE 100M,GROUP 2 ('/opt/oracle/oradata/ORCL/redo02a.log','/opt/oracle/oradata/ORCL/redo02b.log') SIZE 100M,GROUP 3 ('/opt/oracle/oradata/ORCL/redo03a.log','/opt/oracle/oradata/ORCL/redo03b.log') SIZE 100M;spool off
[oracle@localhost dbs]$ sqlplus / as sysdbaSQL>startup nomountSQL> @$ORACLE_HOME/dbs/create.sql;Database created.
第六步 数据库创建完成后,再创建ORACLE的数据字典。
SQL>@?/rdbms/admin/catalog.sqlSQL>@?/rdbms/admin/catproc.sqlSQL>@?/rdbms/admin/catexp.sqlSQL>@?/rdbms/admin/scott.sql
第七步 创建表空间
create tablespace LGGY_DAT datafile '/opt/oracle/oradata/ORCL/LGGY_DAT01.dbf' size 1g autoextend on next 200m maxsize unlimited;create tablespace USERSdatafile '/opt/oracle/oradata/ORCL/USERS_DAT01.dbf' size 1g autoextend on next 200m maxsize unlimited;
第八步 创建用户
create user lggy identified by lggy default tablespace LGGY_DAT temporary tablespace temp;grant connect,resource,dba to lggy;grant execute any procedure to lggy;grant insert any table to lggy;grant select any table to lggy;grant delete any table to lggy;grant update any table to lggy;grant unlimited tablespace to lggy;drop user lggy cascade;

第九步 配置监听

到$ORACLE_HOME/network/admin目录下:vi listener.ora

addb =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS_LIST =        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))      )      (ADDRESS_LIST =        (ADDRESS = (PROTOCOL = TCP)(HOST = 114.55.30.70)(PORT = 1522))      )    )  )SID_LIST_addb =  (SID_LIST =    (SID_DESC =      (GLOBAL_DBNAME = addb)      (ORACLE_HOME = /data/install/oracle/product/11.2.0/db_1)      (SID_NAME = addb)    )  )
第十步 启停

启停监听

lsnrctl start addblsnrctl stop addb
启停实例

  export ORACLE_SID=addb  sqlplus / as sysdba  >startup  >shutdown

备注:第一种错误解决方式:start  nomount 失败,创建文件flash_recovery_area或者在该目录下面找一个类似的文件,复制一份并改一下名字,改成指定的这个名字。

第二种错误解决方式:@$ORACLE_HOME/dbs/create.sql;执行失败,执行如下语句:SET SQLBLANKLINES ON,原因:
原来Sql*plus中, 不允许sql语句中间有空行, 这在从其它地方拷贝脚本到sql*plus中执行时很麻烦.
原因是sqlplus遇到空行就认为是语句结束了.
其实要改变这种现象, 只要使用SQLBLANKLINES参数就可以了