手工创建Oracle数据库
|
今天,我在测试机器上来了个误操作rm * backup/*,把正在运行的数据库中的数据文件全部删除了,真是郁闷!还好这个是给我们新人们测试玩的,要不然就死定了!在此也做一个提醒,身为DBA,要永远记住什么慎用或者禁止使用rm命令,万不得以的情况下, 使用时在敲enter也要看了又看、慎重又慎重才行!好了,费话不说了,下面请看我的过程。 Red Hat Enterprise 3 + Oracle 10g Release 2 1、设置系统环境变量 ORACLE_HOME=/opt/oracle/product/10.2 2、系统规划 实例名称ORACLE_SID=dbtest 数据库名称DB_NAME=dbtest 3、手工创建如下目录 /opt/oracle/admin/dbtest/cdump 4、建立密码文件 orapwd file=/opt/oracle/product/10.2/dbs/orapwd_dbtest password=superman 5、修改参数文件 格式:/opt/oracle/product/10.2/dbs/init.ora 实例:/opt/oracle/product/10.2/dbs/initdbtest.ora 内容如下: dbtest.__db_cache_size=331350016 dbtest.__java_pool_size=4194304 dbtest.__large_pool_size=8388608 dbtest.__shared_pool_size=138412032 dbtest.__streams_pool_size=0 *._kgl_large_heap_warning_threshold=8388608 *.audit_file_dest="/opt/oracle/admin/dbtest/adump" *.background_dump_dest="/opt/oracle/admin/dbtest/bdump" *.compatible="10.2.0.1.0" *.control_files="/opt/oracle/oradata/dbtest/control01.ctl", "/opt/oracle/oradata/dbtest/control02.ctl", "/opt/oracle/oradata/dbtest/control03.ctl" *.core_dump_dest="/opt/oracle/admin/dbtest/cdump" *.db_2k_cache_size=33554432 *.db_block_size=8192 *.db_domain="" *.db_file_multiblock_read_count=128 *.db_files=4000 *.db_name="dbtest" *.db_recovery_file_dest_size=4294967296 *.db_recovery_file_dest="" *.log_archive_dest="/opt/oracle/oradata/dbtest/archive" *.log_checkpoints_to_alert=FALSE *.open_cursors=300 *.parallel_execution_message_size=65535 *.parallel_max_servers=128 *.pga_aggregate_target=209715200 *.processes=150 *.recyclebin="OFF" *.remote_login_passwordfile="EXCLUSIVE" *.replication_dependency_tracking=FALSE *.session_cached_cursors=100 *.sga_target=500m *.shared_pool_size=100m *.undo_management="AUTO" *.undo_retention=0 *.undo_tablespace="UNDOTS" *.user_dump_dest="/opt/oracle/admin/dbtest/udump" *.workarea_size_policy="AUTO" _allow_resetlogs_corruption=true
6、登陆oracle > sqlplus “/ as sysdba” 7、启动实例 SQL> startup nomount pfile=/opt/oracle/admin/dbtest/pfile/init.ora 8、创建数据库的脚本 CREATE DATABASE dbtest LOGFILE GROUP 1 ("/opt/oracle/oradata/dbtest/redo01.log","/opt/oracle/oradata/dbtest/redo01_1.log") size 100m reuse, GROUP 2 ("/opt/oracle/oradata/dbtest/redo02.log","/opt/oracle/oradata/dbtest/redo02_1.log") size 100m reuse, GROUP 3 ("/opt/oracle/oradata/dbtest/redo03.log","/opt/oracle/oradata/dbtest/redo03_1.log") size 100m reuse MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXLOGHISTORY 200 MAXDATAFILES 500 MAXINSTANCES 5 ARCHIVELOG CHARACTER SET UTF8 NATIONAL CHARACTER SET UTF8 DATAFILE "/opt/oracle/oradata/dbtest/system01.dbf" SIZE 1000M EXTENT MANAGEMENT LOCAL SYSAUX DATAFILE "/opt/oracle/oradata/dbtest/sysaux01.dbf" SIZE 1000M UNDO TABLESPACE UNDOTS DATAFILE "/opt/oracle/oradata/dbtest/undo.dbf" SIZE 500M DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE "/opt/oracle/oradata/dbtest/temp.dbf" SIZE 500M ;
/opt/oracle/product/10.2/rdbms/admin/catalog.sql 10、创建相关表空间与用户 CREATE TABLESPACE USERS DATAFILE "/opt/oracle/oradata/dbtest/users01.dbf" SIZE 1000M;---数据表空间 11、一点注意的地方 1>相关文件的目录要设置正确,有数据文件,控制文件,参数文件等,还有就是它们的位置要与控制文件中指定的要一致。 2>init.ora中的undo_tablespace的名字必须要与create database的相同,包括大小写等注意。否则很麻烦,报的错误你都不知道是不是在忽悠你!总之,一句话,控制文件中的内容要和init文件中的内容以及要和实际文件的实际情况要相同。 3>分析数据库出错可以到/opt/oracle/admin/dbtest/bdump/alert_dbtest.log中查找 |
