如何在solaris环境下创建oracle实例名
条件:事先已搭建好一个oracle数据库. 服务器:SUN250 操作系统:SUN SLOARIS 8 数据库系统:oracle 8.1.7 具备oracle管理员权限 举例:搭建数据库名为test,使用者test1,密码test2. 1. oracle管理员权限用户登录系统,进入控制台。 2. 设置环境变量的数据库实例名test: $ORACLE_SID=test $export ORACLE_SID 3. 用orapwd生成特权用户的密码文件$ORACLE_HOME/dbs/orapw(sid),此处sid写为test: $orapwd file=$ORACLE_HOME/dbs/orapwtest password=test entries=5 注:file :指定口令文件名,在此必需为orapwdtest且在此目录下,如果自己写别的路径会报错。 如果哪位大侠能告诉我为什么最好了 password :指定特权用户的口令,此处假定为test,可自定义。 entries :指定特权用户的最大数。 4. 在$HOME(也就是当前使用的oracle用户的注册目录)下建立数据库的目录及数据库参数文件所放置的子目录: $mkdir $HOME/test #定义新建数据库的主目录位置 $mkdir $HOME/test/pfile #定义参数文件的位置,将参数文件inittest.ora放在此目录中 $mkdir $HOME/test/bdump $HOME/test/cdump $HOME/test/udump #定义跟踪文件和警告文件存放的位置。 注:可以将$HOME替换成别的目录,但是bdump、cdump和udump的目录一定要和inittest.ora里的写法要一致,否则会提示找不到路径。 5. 建立参数文件 找到已有数据库的init.ora文件,下载后更改文件名为inittest.ora,并修改里面的参数,主要包括db_name、instance_name和service_names(都可以写为test),background_dump_dest、core_dump_dest和user-dump,注意control_files、background_dump_dest、score_dump_dest、user_dump_dest等文件目录的修改,否则一旦执行该参数文件将不好更改。(到底有多麻烦俺也不知道 ) 6. 键入sqlplus internal/test,可以看到connected to an idle instance,说明连接到一个空的实例上。 7. 执行应用参数文件: SQL>;startup nomount pfile=****/test/pfile/inittest.ora 注:****代表数据库存放目录的地址,即第4步中$HOME代表的路径,下同。 回车后需要等待一段时间。 8. 开始建数据库,使用命令为create database: SQL>;create database test Logfile group 1 '****/test/test1a.log' size 5M, group 2 '****/test/test2a.log' size 5M datafile '****/test/sys1test.dbf' size 100M character set we8iso8859p1; 注:上述命令运行完成后,在数据库目录中生成了重做日志文件、数据文件和控制文件。建立了数据字典基表、建立了DBA用户:sys/change_on_install 和 system/manager。建立了SYSTEM表空间和SYSTEM回滚段。注意:SYSTEM回滚段只能用于维护SYSTEM表空间,指定字符集后将不能改变。 这里面有些东西俺不是很懂,以后慢慢琢磨 9. 建立数据字典视图 SQL>;@$ORACLE_HOME/rdbms/admin/catalog.sql; 注:建视图及下面的几个步骤过程中出现类似public synonym to be dropped does not exit等错误。 很气人,但是似乎没什么影响。 10. 安装PL/SQL包 SQL>;@$ORACLE_HOME/rdbms/admin/catproc.sql; 注:系统PL/SQL包扩展了数据库的功能,开发人员可以直接在应用程序中引用这些PL/SQL包,安装此包需要较长时间问题(可以去喝个茶上个厕所什么的没有问题)。除出现public synonym to be dropped does not exit外,还有private synonym......也有问题。 11. 安装PROFIL SQL>;@$ORACLE_HOME/ sqlplus /admin/pupbld.sql; 注:运行该脚本创建同义词,因为运行SQL*PLS工具时会访问同义词,如果未安装PROFILE,当运行该工具时会显示警告错误。安装完PROFILE后需要重启数据库,即:用Oracle特权用户先关闭数据库、再启动数据库。命令如下: SQL>;shutdown immediate; #关闭数据库,不要用abort选项 SQL>;startup pfile=****/test/pfile/inittest.ora; #重启数据库,一定要指明参数据文件的位置 12. 创建各种表空间 创建数据库后,如前所述生成了系统表空间和系统回滚段,这些只能用于维护系统表空间不能用来建立和维护用户数据表空间,因此要想使普通用户存放数据表则有必要创建应用表空间、回滚段表空间、索引段表空间和临时段表空间(也可以只建立一个表空间,但为了便于对用户管理,oracle建议创建分离的表空间分别用来存放用户数据段、回滚段、索引段和临时段数据),命令格式如下: $sqlplus internal/test SQL>;create tablespace users datafile '****/test/users1.dbf' size 20M default storage (initial 10K next 10K minextents 2 maxextents 50 pctincrease 50); 注:该命令创建了应用表空间users,物理数据文件名为users1.dbf在指定的目录中。 SQL>;create tablespace rbk datafile '****/test/rbk.dbf' size 20M; 注:该命令创建了回滚段表空间。 SQL>;create temporary tablespace temp tempfile '****/test/temp.dbf' size 10M extent management local uniform size 128K; 注:该命令创建了临时段表空间。 SQL>;create public rollback segment rb1 tablespace rbk storage (initial 100K next 100K minextents 20 maxextents 100 optimal 3M); 注:该命令在rbk表空间上建立回滚段rb1。 如果使用oracle客户端登录,在新建的表中保存不了数值,并提醒不可以使用system回滚段的话,说明此rb1没有应用,应该补充如下命令: SQL>;alter rollback segment rb1 online; 13. 建立Oracle用户、分配权限、进行测试 SQL>;create user test1 identified by test2 default tablespace users temporary tablespace temp quota 5M on users; 注:该命令创建了test1数据库验证用户,口令为test2,在users表空间上的可用空间为5M。 SQL>;grant cteate session,create table to test1; 注:为test1用户分配会话权限和建表权限。 如果使用oracle客户端登录,报错为没有select_catalog_role权限的话,可以补充如下命令: SQL>;grant select_catalog_role to test1 with admin option; 进行测试时可用oracle用户登录,将ORACLE_SID设为test,操作如下: $ORACLE_SID=test $export ORACLE_SID $sqlplus test1/test2 SQL*Plus: Release 8.1.7.0.0 - Production on Mon Aug 19 17:59:04 2002 (c) Copyright 2000 Oracle Corporation. All rights reserved. Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production SQL>; 表明test1用户已成连接。 14.在客户端配置NET8、建立服务名、测试。 |