1.确定oracle的实例名,以及数据库名
实例名称: ORACLE_SID=test
数据库名称: test
2.手工创建如下目录:
/oracle/admin/test/adump --对应的是spfile里参数audit_file_dest
--(对于每个与数据库的 SYSDBA 或 INTERNAL 连接,都将在该目录中生成一个审计文件(仅用于 UNIX)。)
/oracle/admin/test/bdump --对应的是spfile里参数background_dump_dest
--(指定在 Oracle 操作过程中为后台进程 (LGWR,DBW n 等等) 写入跟踪文件的路径名(目录或磁盘)。
--它还定义记录着重要事件和消息的数据库预警文件的位置。)
/oracle/admin/test/cdump --对应的是spfile里参数core_dump_dest(指定核心转储位置的目录名 (用于 UNIX)。)
/oracle/admin/test/udump --对应的是spfile里参数user_dump_dest
--(为服务器将以一个用户进程身份在其中写入调试跟踪文件的目录指定路径名。
--例如,该目录可这样设置: NT 操作系统上的 C:/ORACLE/UTRC;
--UNIX 操作系统上的 /oracle/utrc;或 VMS 操作系统上的DISK$UR3:[ORACLE.UTRC]。)
--/oracle/admin/test/pfile --pfile路径(?貌似不建,也没什么关系)
/oradata/test --数据库路径,数据库控制文件..等文件的目录
/oracle/flash_recovery_area/test --对应的是spfile里参数db_recovery_file_dest(闪回恢复区(FRA,Flashbach Recovery Area)路径)
--FRA 由两个初始化参数决定:DB_RECOVERY_FILE_DEST 和 DB_RECOVERY_FILE_DEST_SIZE ,
--前者决定 FRA 的路径,后者决定大小(单位为 字节).可以使用 ALTER SYSTEM SET 来修改这些参数.
3.创建数据库实例的pfile文件
路径:$ORACLE_HOME/dbs/init
eg:/oracle/product/10.2.0/db_1/dbs/inittest.ora
文件内容:
db_name=test
db_files = 400 # MEDIUM
db_file_multiblock_read_count = 16 # MEDIUM
#db_block_buffers = 550 # MEDIUM #如果放开 sga_target 这个参数,就必须禁用这个参数,否则数据库启动报错
log_checkpoint_interval = 10000
processes = 100 # MEDIUM
parallel_max_servers = 16 # MEDIUM
max_dump_file_size = 10240 # limit trace file size to 5 Meg each
global_names = TRUE
control_files = (/oradata/test/control01.ctl, /oradata/test/control02.ctl, /oradata/test/control03.ctl)
large_pool_size=83886080
core_dump_dest='/oracle/admin/test/cdump'
db_block_size=8192
db_recovery_file_dest='/oracle/flash_recovery_area/test'
db_recovery_file_dest_size=10147483648
dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)'
job_queue_processes=10
open_cursors=300
pga_aggregate_target=12777216
#SGA
shared_pool_size = 1153433600 # MEDIUM
log_buffer = 32768 #最好为cpu个数*128K
sga_target=4901044224 #oracle SGA 自动化管理
undo_management='auto'
undo_tablespace='undotbs1'
user_dump_dest='/oracle/admin/test/udump'
NLS_DATE_FORMAT="Mon DD YYYY HH24:MI:SS"
NLS_DATE_LANGUAGE=AMERICAN
audit_file_dest='/oracle/admin/test/adump'
background_dump_dest='/oracle/admin/test/bdump'
4.设置当前工作实例
export ORACLE_SID=test
查看是否设置成功: env | grep SID
5.登录oracle
SQL>sqlplus / as sysdba --操作系统用户登录
6.启动实例
SQL>startup nomount
7.执行创建数据库脚本
create database test
logfile
group 1 '/oradata/test/redo01.log' size 100m reuse,
group 2 '/oradata/test/redo02.log' size 100m reuse,
group 3 '/oradata/test/redo03.log' size 100m reuse
datafile '/oradata/test/system01.dbf' size 500m reuse autoextend on next 10240k maxsize unlimited
maxdatafiles 100
maxinstances 1
archivelog
character set zhs32gb18030
national character set al16utf16
sysaux datafile '/oradata/test/sysaux01.dbf' size 230m reuse autoextend on next 10m maxsize unlimited
undo tablespace undotbs1 datafile '/oradata/test/undo.dbf' size 100m reuse autoextend on next 5120k maxsize unlimited
default temporary tablespace temp tempfile '/oradata/test/temp01.dbf' size 100m reuse autoextend on next 640k maxsize unlimited;
8.建立密码文件
否则,使用sys用户sysdba权限登录的时候,会报 ORA-01031: insufficient privileges 错误
使用命令 orapwd --目录在:/oracle/product/10.2.0/db_1/bin
orapwd file=
eg: orapwd file=/oracle/product/10.2.0/db_1/dbs/orapwtest password=test
** 注意:上面是startup nomount , 这里需要正常重启数据库。
使用 sqlplus sys/test as sysdba 登录
8.执行oracle数据库管理脚本
目录: $ORACLE_HOME/rdbms/admin/catalog.sql --该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。
--该脚本又同时运行创建其他对象的脚本
$ORACLE_HOME/rdbms/admin/catproc.sql --运行服务器端所需要的PL/SQL脚本
eg:
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/catalog.sql
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/catproc.sql
如果出现用户sqlplus连接
Error accessing PRODUCT_USER_PROFILE
system用户进去然后运行$oracle_home/sqlplus/admin/pupbld.sql就可以了
SQL> @/oracle/product/10.2.0/db_1/sqlplus/admin/pupbld.sql
sys用户登录:
安装DBMS_JAVA包
SQL> @/oracle/product/10.2.0/db_1/javavm/install/initjvm.sql
安装DBMS_LOCK包
SQL> @/oracle/product/10.2.0/db_1/rdbms/admin/dbmslock.sql
9.配置监听文件
查看端口是否被占用
netstat -Aan | grep 1721
配置端口为新的监听端口
/oracle/product/10.2.0/db_1/network/admin/listener.ora
/oracle/product/10.2.0/db_1/network/admin/tsnames.ora
修改 listener.ora 文件
SID_LIST_LISTENER 节点中增加: --增加实例
(SID_DESC =
(SID_NAME = test)
(ORACLE_HOME = /oracle/product/10.2.0/db_1)
)
LISTENER 中增加: --增加 侦听端口
LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = p520_dc_kf)(PORT = 1721))
)
)
SID_LIST_LISTENER 中增加: --增加 端口和实例的对应关系
SID_LIST_LISTENER1 = --注意 这里的 SID_LIST_LISTENER1 必须与 LISTENER1 名称必须一致
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = test)
(ORACLE_HOME = /oracle/product/10.2.0/db_1)
(SID_NAME = test)
)
)
修改 tsnames.ora 文件
jy_test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = p520_dc_kf)(PORT = 1721))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
10.配置完成之后:
开启监听端口
使用命令 lsnrctl --目录在:/oracle/product/10.2.0/db_1/bin
Start [listener] --启动指定的监听器 [listener]就是在listener.ora中新配置的端口
12.创建 spfile
create spfile from pfile='/oracle/product/10.2.0/db_1/dbs/inittest.ora'