zoukankan      html  css  js  c++  java
  • 手工创建数据库 ocp课程 wait for

    手工创建数据库

    1  创建实例

    1.1 修改cmd下面的sqlplus显示方式,显示连接的实例名

    进入C:\app\dell\product\11.2.0\dbhome_1\sqlplus\admin 修改glogin.sql,最后加上

     set sqlprompt "_user'@'_connect_identifier>"

    或者修改本次回话的效果

    sql>set sqlprompt _user"@"_connect_identifier>
    

    看看显示效果

    1.2 需要startup nomount,这个过程需要复制一个pfile(初始化参数),需要上面一个语句查看spfile的路径

    show parameter spfile(注意这里不要写成pamameter),看到在“C:\app\dell\product\11.2.0\dbhome_1\database”

    1.3 从现有的spfile创建一个pfile,pfile的文件名是INITncbeta(INIT+sid)
    2  编辑初始化参数文件

    2.1通过windows的cmd下运行oradim -new - sid sen 创建实例

    2.2 将1.3的pfile里面的ncbeta全部替换为这里的sid sen,同时文件名改为INITsen

    改好之后,记得点击保存


    3  创建相应的目录结构

    根据上面的sen的pfile创建各个sen文件夹

    *.audit_file_dest='C:\app\dell\admin\sen\adump'
     
    *.control_files='C:\app\dell\oradata\sen\control01.ctl',

    'C:\app\dell\flash_recovery_area\sen\control02.ctl'
     
     

    图方便,直接复制的ncbeta的文件夹,但是之后记得把里面各个子文件夹里面的东西删除


    4  创建口令验证文件 (C:\>orapwd file=d:\oracle\product\10.2.0\db_1\database\pwdbook.ora password=admin entries=1)
    5  执行建数据库脚本

    5.1通过windows下set oracle_sid=sen ,之后sqlplus / as sysdba来启动oracle(nomount阶段)

    连接提示“已连接到空闲例程”,说明没有startup数据库

    5.2 可以startup

    5.3 拷贝一下代码(这里路径和dbf的文件夹名称任意)

    Create database sen
    datafile 'D:\sendb\system01.dbf' size 300M
    sysaux datafile 'D:\sendb\sysaux01.dbf'size 120M
    default temporary tablespace temp tempfile 'D:\sendb\temp01.dbf' size 20M  
    undo tablespace UNDOTBS1 datafile 'D:\sendb\undotbs01.dbf' size 200M
    logfile
    group 1 ('D:\sendb\redo01.log') size 10240K,
    group 2 ('D:\sendb\redo02.log') size 10240K,
    group 3 ('D:\sendb\redo03.log') size 10240K
    ;

    人品爆发,这里一次性成功,昨天晚上n次失败

    上面创建之后,controlfile自动生成

    2013-01-24 16:17:32 更新

    使用dbca图形界面的方式建库的时候,可以选择em和归档等,并且在创建好之后,自动有了oradata\sid文件夹,里面有了系统数据文件和控制文件

    5.4 终于发现了我为什么昨天上ocp课犯的错误了,目前oracle已经是startup阶段,可是我又startup了n次,每次都报错,并且是???

    5.5 win下看nls_lang发现是中文

    修改为美语

    SET NLS_LANG=AMERICAN

    当前会话的修改:

    SYS@sen>alter session set nls_language="american";

    回话的修改:

    再来看startup的报错(可以看到在同一个窗口下再次进入)


    6  创建数据字典视图(SQL>@?/RDBMS/ADMIN/catalog.sql) --@?  oracle主目录(C:\app\dell\product\11.2.0\dbhome_1)

    只有这一步了才能看到数据字典,比如desc user_tables,这里的?表示oracle home的路径

    我的有点小问题,等了好久鼠标还在上面的_identifier>,我于是就强行回车键了


    7  创建oracle内部包(SQL>@?/RDBMS/ADMIN/catproc.sql)

    同上(导航上键来修改上步的)

    这一步要比上面耗时多了许多,大概7分钟样子。做了这部之后,可以

    SYS@nc3>desc dba_data_files;


    8  SQL>@d:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql (system)

    这里是scott连接,权限不足,换成sysdba,又错,必须是system来搞这一步(老师提示了,上面)

    搞定了


    9  SQL>create spfile from pfile;
    10  配置监听和服务名(NetManager)

    10.1没有配置之前不可以通过sqlplus /@sen as sysdba登陆

    10.2 通过net manager配置的时候,服务命名那里需要scott测试,通过sql建立scott

    还是在那个rdbms的admin下

    下图有unlock用户同时修改密码

    提示缺少PRODUCT_USER_PROFILE,在第8步

    配置好net manager的服务器名之后

    但此时cmd下面sqlplus /@sen as sysdba会提示ORA-12154 TNS错误

    然后lsnrctl status 发现监听只有一个ncbeta,配置的sen根本没有,想到了重启

    lsnrctl stop lsnrctl start 之后果然sen来了

    之后还是不行,百度找到了这个文章http://blog.csdn.net/wh62592855/article/details/4654024

    ERROR:

    ORA-12154: TNS: 无法解析指定的连接标识符

    这里的提示信息是无法解析连接描述符,表示连接标识符,也就是tnsnname和你本地的tnsname.ora

    里配置的不一致,连接时,请求tnsname描述符,但是更不就找不到,这样就会出现这样的错误,

    检查我们配置的tnsname文件

    我看到我的tnsname配置好像真的和之前的不一样:


    ISEN =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = sen)
        )
      )

    这个产生的原因是net manager配置的服务命名

    我把开头的I去掉,重新以下连结,报错变了

    还是看了上面的文章:一句话,要先startup之后监听才能和当前实例配合,才能用sqlplus /@sen as sysdba

    ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 

    这里的错误信息也描述的很清楚了,无法识别连接描述符里请求的服务。什么是连接描述符,不就是我们这里一直再提的tnsname 

    的配置么,这个tnsname配置里的服务名无法识别,很显然这里的错误信息告诉我们两个重要信息。 

    1. 已经和tnsname里描述中的服务器进行到了连接 

    2. 连接中tnsname里的service_name并不能在连接中的服务器上找到。

    确实这里写着监听程序不支持服务 

    这句话是什么意思了,由于我的janes这个服务器,都没有启动数据库实例,所以没有一个实例存在在这个监听上,有就出现了这样的提示信息了,其实就是指 的监听现在没有一个数据库实例进行了注册,这里我们要先明白一个动态注册和静态注册的概念,对于9i或者以上的版本,数据库实例启动的时候nomount 这个状态,数据库就会把自己service_name注册到监听里,这个是动态注册,有时可以alter system register动态注册。静态注册就是通过listener.ora文件,把需要注册的数据库的服务名注册到监听里。 这个具体的一些知识,在别的文章 


    11  配置dbconsole(dbsnmp,sys)(EMCA)

    倪同学给的

     先修改sys,dbsnmp的密码
        conn / as sysdba
        alter user sys identified by admin;
        alter user dbsnmp account unlock identified by admin;
      c:\>emca -config dbcontrol db -repos create(这个要是不输入的话会一直让输入sysman密码,why?)
         SID:demo
         端口号:1521
         sys密码:admin
         dbsnmp密码:admin
         sysman密码:admin(密码是随机输入的)
         是否继续:Y
    等待配置结束会有一个网址

    这是日志:

    配置: 未设置参数 DB_UNIQUE_NAME 的值。
    2012-12-7 13:21:35 oracle.sysman.emcp.DatabaseChecks getDbUniqueName
    配置: No Database unique name available. Will try to retrieve it from DB itself
    2012-12-7 13:21:35 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: DB_UNIQUE_NAME value: sen
    2012-12-7 13:21:35 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 DB_DOMAIN 的值。
    2012-12-7 13:21:35 oracle.sysman.emcp.DatabaseChecks getDbDomain
    配置: No db domain available. Will query db for db_domain parameter
    2012-12-7 13:21:35 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: DB_UNIQUE_NAME value: sen
    2012-12-7 13:21:35 oracle.sysman.emcp.ParamsManager setParam
    配置: Setting param: SERVICE_NAME value: sen
    2012-12-7 13:21:35 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 MODIFY_SID 的值。
    2012-12-7 13:21:35 oracle.sysman.emcp.ParamsManager getParam
    配置: 未设置参数 DBID 的值。

    2012-12-10 更新

    1 ,alter database datafile ''D:\sendb\sysaux01.dbf'' resize 300m;

    2, 清除em相关配置 --删除db配置 emca -deconfig dbcontrol db

    3,清除repository emca -repos drop

    4,配置em --创建db control emca -config dbcontrol db -repos create

     10g 非归档模式 手工建库pfile参考:

    nc3.__db_cache_size=209715200
    nc3.__java_pool_size=4194304
    nc3.__large_pool_size=4194304
    nc3.__shared_pool_size=71303168
    nc3.__streams_pool_size=0
    *.audit_file_dest='C:\oracle\product\10.2.0/admin/nc3/adump'
    *.background_dump_dest='C:\oracle\product\10.2.0/admin/nc3/bdump'
    *.compatible='10.2.0.1.0'
    *.control_files='C:\oracle\product\10.2.0/oradata/nc3/\control01.ctl','C:\oracle\product\10.2.0/oradata/nc3/\control02.ctl','C:\oracle\product\10.2.0/oradata/nc3/\control03.ctl'
    *.core_dump_dest='C:\oracle\product\10.2.0/admin/nc3/cdump'
    *.db_block_size=8192
    *.db_domain=''
    *.db_file_multiblock_read_count=16
    *.db_name='nc3'
    *.db_recovery_file_dest='C:\oracle\product\10.2.0/flash_recovery_area'
    *.db_recovery_file_dest_size=2147483648
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=nc3XDB)'
    *.job_queue_processes=10
    *.nls_language='SIMPLIFIED CHINESE'
    *.nls_territory='CHINA'
    *.open_cursors=300
    *.pga_aggregate_target=96468992
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sga_target=290455552
    *.undo_management='AUTO'
    *.undo_tablespace='UNDOTBS1'
    *.user_dump_dest='C:\oracle\product\10.2.0/admin/nc3/udump'

     事实证明:上面的pfile+再上面的建库sql完美

  • 相关阅读:
    【转】我是一个线程
    前端之 JS 实现全选、反选、取消选中
    Python文件操作——逐行插入内容
    angularJs实现数据双向绑定的原理
    手机连接电脑调试页面
    工程化框架之feather
    网页上线后音频不能自动播放
    FormData对象
    地图热区自适应
    需求移交会
  • 原文地址:https://www.cnblogs.com/sumsen/p/2804142.html
Copyright © 2011-2022 走看看