`
beautyOfProgram
  • 浏览: 26036 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初识oracle11g

阅读更多

初识oracle11g

第一次使用oracle,下面是简单的使用步骤:

1 安装oracle

    只需安装oracle的服务端版本,如果同时安装oracle服务端和客户端版本,注意在环境变量的path,谁的path在前,这可能会影响某些应用程序的使用,如exp.exe

2 创建数据库

   oracle本身提供了一个实例orcl,在oracle菜单中点击 ‘ Database Control orcl ’,进入管理界面,如果出现访问错误,请‘ 我的电脑 ——右键——》管理---》服务 ----》查看oracle进程  其中 ’oracleServiceORCL' 就代表 orcl 这个实例进程,启动这项服务以及其他几项oracle服务。

   此时,进入界面,会要求输入用户名和密码,如果安装过程中没有修改,默认存在用户:

   system MANAGER

   sys  CHANGE_ON_INSTALL

   如果密码修改了,又忘了密码,会比较麻烦,具体解决看网上拉

   orcl 是oracle本身自带的一个实例,我们需要创建自己的数据库, 在oracle菜单中--》配置和移植工具--》Database Configuration Assistance ,其中有十二步操作,主要是实例名,数据库名,数据库用户,访问密码,编码,存储地方等相关设置,最后设置完成,将会创建一个实例,注意 实例是和数据库由区别的,从网上摘下的:

     ORACLE实例 = 进程 + 进程所使用的内存(SGA)
     实例是一个临时性的东西,你也可以认为它代表了数据库某一时刻的状态!

 
     数据库 = 重做文件 + 控制文件 + 数据文件 + 临时文件
     数据库是永久的,是一个文件的集合。
 
     ORACLE实例和数据库之间的关系
      1. 临时性和永久性
      2. 实例可以在没有数据文件的情况下单独启动 startup nomount , 通常没什么意义
      3. 一个实例在其生存期内只能装载(alter database mount)和打开(alter   database open)一个数据库
      4.一个数据库可被许多实例同时装载和打开(即RAC),RAC环境中实例的作用能够得到充分的体现!

      不过,不涉及并发环境,一般一个数据库对应一个实例哦

     问题: 怎样看本机上运行了几个实例 ?

   ‘ 我的电脑 ——右键——》管理---》服务 看 其中 ‘oracleServiceXXX’, 有几个这样的服务就表示有几个实例启动了

 

3 进入数据库

       成功创建了数据库,当然我们就得进去看看了:

       使用服务端提供的SQL_PLUS 和SQL_DEVELOPER 都非常方便,首先使用system 用户进入数据库,主要进行一下步骤:

     如果使用如plsql 连接

    这里主要注意连接字符串的写法   ip:port/实例服务名称  

        如localhost:1521/orcl

          这里最容易出现 ORA -12541:TNS:无监听程序

          告诉你所键入的地址没有监听

          可以使用 tnsping 命令来测试你的连接

          如  tnsping localhost:1521/orcl ,如果成功返回 'OK‘ ,则表示成功,否则失败,导致此问题的很多,具体解决方案看网上。

 

   3.1 创建用户:创建一个该实例上的用户

建立:create user 用户名 identified by "密码";
create user  beautyofProgram identified by admin
创建一个用户名为 beautyofProgram 密码为 admin

   3.2  授权,给用户授权,授权分系统权限和实例权限,详细请看后面给的链接

系统权限: 
grant dba to beautyOfProgram
实例权限
            grant create session to 用户名;
            grant create table to  用户名;
            grant create tablespace to  用户名;
            grant create view to  用户名;
            这里采用系统权限授权  grant dba to beautyOfProgram,方便后面的操作

  3.3 创建表空间

create tablespace 表空间名 datafile ' 路径\***.dbf ' size *M
 tempfile ' 路径\***.dbf ' 
size *M autoextend on --自动增长 --
还有一些定义大小的命令,
看需要 
default storage(
 initial 100K,
 next 100k, );
 如: 
create tablespace test  
datafile 'e:\test.dbf'size 1000M 
testtmp 'e:\test1.dbf' size 1000M 
autoextend on

   3.4 关联用户到表空间

 

alter user 用户名 quota unlimited on 表空间;
或 alter user 用户名 quota *M on 表空间;

如 alter user beautyofProgram quota unlimited on test 
alter  user beautyofProgram quota unlimited on testtmp

        这样用户就关联到了该表空间的表上。

     3.5 创建表

            CREATE TABLE TEST(
               MSG_ID INTEGER NOT NULL,
                RECEIVE_USERNAME varchar2(64) NOT NULL,
                MSG varchar2(4000) ,
                SENT_TIME DATE ,
                IDENTIFY varchar2(64) ,
                SENT_USERNAME varchar2(64) ,
                CONSTRAINT TEST_PK  PRIMARY KEY (MSG_ID)
                 )  

   创建表疑惑在于 oracle 对于 java 中的boolean 的类型选择 以及怎样实现类似其它数据库的自增

    查看一下当前用户下有哪些表吧

 

select * from user_tables;

     实现数据库ID的自增,oracle 不提供类似其它数据库的选项支持自增,他只支持在插入时触发一个触发器从一个递增序列中获取来实现数据库的插入,先看看序列

CREATE SEQUENCE emp_sequence

INCREMENT BY 1 -- 每次加几个

START WITH 1 -- 从1开始计数

NOMAXVALUE -- 不设置最大值

NOCYCLE -- 一直累加,不循环

NOCACHE -- 不建缓冲区 
 

    实现一个触发器

 

CREATE TRIGGER "触发器名称" BEFORE

INSERT ON TEST FOR EACH ROW WHEN (new.msg_id is null)

begin

select emp_sequence.nextval into :new.msg_id from dual;

end; 

    这样在插入一行时,就能自动实现插入递增的主键了,其中可能遇见没有权限的问题,则说明权限不够,使用system进入实例,对你所建的用户授权。


  附上一些常用的sql语句

 

查看所有用户
select username from dba_users

select * from user_tablespaces;--查看表空间名

select * from user_sys_privs;--查看用户权限

select * from user_role_privs; 查看当前用户的角色..

查看当前用户的缺省表空间
select username,default_tablespace from user_users; 

查看用户建立的表   : 
select table_name from user_tables;  //当前用户的表  
   
select table_name from all_tables;  //所有用户的表  
   
select table_name from dba_tables;  //包括系统表 
-- 确定角色的权限
select * from role_tab_privs ;  数据字典视图包含了授予角色的对象权限

select * from role_role_privs ;             包含了授予另一角色的角色

select * from role_sys_privs ;              包含了授予角色的系统权限

select * from session_privs;                查看当前用户的权限

alter user sa account unlock;               解锁sa 用户

 

 

 

更多参考文章:

更改管理员密码

http://hi.baidu.com/will0690/blog/item/9af7574e007c050db3de05a8.html

默认账户密码

http://zhuozhi0768.blog.163.com/blog/static/6102658620105186318344/

oracle的授权

http://wenku.baidu.com/view/3d0283d8ce2f0066f5332205.html

分享到:
评论

相关推荐

    初识Oracle11g.pptx

    【初识Oracle11g】 Oracle数据库是全球广泛使用的大型关系型数据库管理系统,由Oracle公司开发。Oracle11g是其一个重要的版本,发布于2007年11月,带来了许多创新特性,增强了数据库的性能、可用性和管理效率。 ##...

    Oracle11g教程_第2章_初识Oracle11g

    Oracle11g教程_第2章_初识Oracle11g,PPT格式,介绍的比较详细,适合快速了解

    Oracle11g教程_初识Oracle11g

    Oracle 11g是Oracle公司推出的一个重要数据库管理系统版本,具有丰富的特性和强大的功能。本教程旨在引导初学者深入理解Oracle 11g的基础知识,包括其发展历程、新特性、体系结构、安装流程以及PL/SQL语言基础。 ...

    Oracle第2章初识Oracle11g.pptx

    Oracle第2章初识Oracle11g.pptx

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    Oracle 11G从入门到精通视频的PPT 第1章-Oracle 11g数据库简介 认识Oracle 11g 回忆Oracle的产品版本 学习Oracle 11g的新特性 第2章-Oracle 11g的安装与测试 能够使用Oracle 11g的基本条件 在Windows 2003上...

    Beginning Oracle Database 11g Administration From Novice to Professional

    《初识Oracle数据库11g管理:从新手到专业》这本书是专为那些...以上就是《初识Oracle数据库11g管理:从新手到专业》一书可能涵盖的核心知识点,通过深入学习和实践,你将能够从数据库管理的初学者逐步成长为专业人士。

    《Oracle 11g基础与提高》读书笔记模板x.pptx

    * 1.2 初识Oracle:介绍了Oracle 11g的安装和基本操作。 第2章 Oracle 11g数据库安装/启动/关闭 * 2.1 Oracle 11g在Windows下的安装概述:介绍了在Windows环境下安装Oracle 11g的步骤。 * 2.2 在Windows环境下安装...

    PHP5连接Oracle的扩展包

    这个扩展用于连接Oracle 11g数据库。Oracle 11g在性能优化、数据安全性以及高可用性方面有许多增强,php_oci8_11g.dll则使得PHP5可以充分利用这些特性,为11g用户提供稳定且高性能的数据库访问。 3. **...

    Expert Oracle Database Architecture 2nd Edition

    - **初识Oracle**: 作者初次接触Oracle是在1988年左右,当时的版本是5.0.22,这标志着Oracle关系型数据库管理系统(RDBMS)的早期发展阶段。 - **文档对比**: 当年的Oracle文档简洁明了,所有资料装入一个小型公文包...

    BIEE 10g的官方文档

    "BIEE 10g" 是Oracle Business Intelligence Enterprise Edition (OBIEE) 的一个早期版本,它是一款强大的商业智能(BI)平台,用于数据整合、分析和报告。这个“BIEE 10g的官方文档”是学习和理解该系统核心功能和...

Global site tag (gtag.js) - Google Analytics