oracle数据库新增实例
适用
oracle 11g
操作步骤
设置环境变量
假定现有的oracle程序文件安装在/u01/app/oracle/product
[oracle@Oracle ~]$ echo $ORACLE_BASE
/u01/app/oracle
[oracle@Oracle ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0.4/db_1
创建ORACLE_SID环境变量。假定创建的数据库名称为MQ
export ORACLE_SID=MQ
echo $ORACLE_SID
创建pfile文件
数据库文件的pfile命名格式init{ORACLE_SID}.ora, 可以从默认模板文件init.ora进行复制和修改。
cd $ORACLE_HOME/dbs
cp init.ora initMQ.ora
如果没有找到默认的模板init.ora,可以手动创建initMQ.ora,内容如下:
*.db_name='MQ' #和ORACLE_SID一致
*.db_domain=''
*.audit_file_dest='/u01/app/oracle/admin/MQ/adump' #该目录需要手动创建
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.memory_target=1G
*.control_files='/u01/app/oracle/oradata/MQ/control01.ctl','/u01/app/oracle/fast_recovery_area/MQ/control02.ctl'
#手动创建目录/u01/app/oracle/oradata/MQ 、/u01/app/oracle/fast_recovery_area/MQ
*.db_block_size=8192
#手动创建目录/u01/app/oracle/admin/MQ
*.diagnostic_dest='/u01/app/oracle/admin/MQ'
*.open_cursors=250
*.processes=100
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS'
#指定默认的数据库文件保存位置,指定该参数之后,create database语句中,无需指定datafile
DB_CREATE_FILE_DEST='/u01/app/oracle/oradata/MQ'
创建spfile
sqlplus / as sysdba
create spfile from pfile;
这时候在$ORACLE_HOME/dbs目录下,可以看到spfileMQ.ora文件
创建密码文件
若启用 OS 认证(通过 remote_login_passwordfile=none),则无需密码文件。
默认情况下,Oracle 11g 的 remote_login_passwordfile 参数为 EXCLUSIVE 或 SHARED,需密码文件支持。
orapwd file=$ORACLE_HOME/dbs/PWDDSZtest.ora \
password=your_password \
entries=10 \
force=y
创建数据库
SQL>startup nomount;
SQL>CREATE DATABASE MQ
CONTROLFILE REUSE
USER SYS IDENTIFIED BY password
USER SYSTEM IDENTIFIED BY password
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/MQ/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/MQ/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/MQ/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
ARCHIVELOG
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u01/app/oracle/oradata/MQ/system01.dbf' SIZE 10G REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u01/app/oracle/oradata/MQ/sysaux01.dbf' SIZE 2G REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/MQ/temp01.dbf'
SIZE 2G REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
UNDO TABLESPACE UNDOTBS1
DATAFILE '/u01/app/oracle/oradata/MQ/undotbs01.dbf'
SIZE 4G REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
SQL>
注意:
pfile中的*.undo_tablespace='UNDOTBS'和create data “UNDO TABLESPACE UNDOTBS”中表空间名称要一致
创建远程管理用户
create user MQ identified by "password";
grant connect to mq;
grant all privileges to mq;
创建字典视图
SQL> @?/rdbms/admin/catalog.sql;
SQL> @?/rdbms/admin/catproc.sql;
以system用户登录运行
SQL> connect system/password
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql
会有报错提示,正常
DROP VIEW PRODUCT_PRIVS*ERROR at line 1:ORA-00942: table or view does not exist
View created.
Grant succeeded.
DROP PUBLIC SYNONYM PRODUCT_PROFILE *ERROR at line 1:ORA-01432: public synonym to be dropped does not exist
其他处理
配置监听器
vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = MQ)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
)
)
重启监听器
lsnrctl stop
lsnrctl start
自动启动
以root用户编辑/etc/oratab
vi /etc/oratab
MQ:/u01/app/oracle/product/11.2.0.4/db_1:Y #add this line