入门
1.熟悉环境
是否安装了?
Oracle-{主目录名}?eg.Oracle-OraHome92.
Home目录:oracle的每种产品软件的每个版本的专用目录.
有多少个主目录,每个主目录都在何处?
Oracle Installation Products\Home Selector
There is onlu one .....
(1)regedit-localmachine-software-oracle-all_homes
ID0,ID1....有几个就有几个产品.
path....
ID0---HOME0
ID1---HOME1
............
2.安装的是客户端还是服务器?
安装方式不同导致:
只支持发出请求:客户端
既支持发出请求又能处理请求:服务器端
设置--控制面板--管理工具---服务(SERVICE)
OracleService{实例名}:INSTANCE 多个实例会有多个实例名
Oracle{主目录名}TNSListener:监听程序
有以上两个服务程序的就是服务器端.
发出连接请求---监听器接受请求(对会话进行处理)---实例(内存中的由一块共享内存区域和若干后台进程共同构成的一个特殊的内存结构),是一个强大的支撑环境---你与银行柜台服务员(会话)---银行(后台).
数据库是硬盘上数据文件,控制文件和重做日志三种文件构成的逻辑集合.
一般情况下数据库与实例一一对应(例外.集群结构).
3.服务器的话,
实例名:2中所介绍的.SID
数据库名:在实例的初始化参数文件中.存在于:主目录\DATABASE\SPFILE{实例名}.ora
是一个二进制文件,是有格式的,不要随便乱改
*.db_name='neusoft'
全局数据库名:db_name[.db_domain] 如果db_domain为空,那么,数据库名就是全局数据库名.
*.background_dump_dest='c:\oracle\admin\neusoft\bdump'
*.compatible='9.2.0.0.0'
*.control_files='c:\oracle\oradata\neusoft\CONTROL01.CTL','c:\oracle\oradata\neusoft\CONTROL02.CTL','c:\oracle\oradata\neusoft\CONTROL03.CTL'
*.core_dump_dest='c:\oracle\admin\neusoft\cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='neusoft'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=neusoftXDB)'
*.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='neusoft'
*.java_pool_size=33554432
*.job_queue_processes=10
*.large_pool_size=8388608
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=50331648
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='c:\oracle\admin\neusoft\udump'
4.使用ORACLE的基本步骤:
(1)配置网络连接(从客户端能够连接到服务器)
a.服务器的主机名或者IP地址.
b.协议
c.端口(服务器上服务程序的唯一标识)(ORACLE的端口是监听器端口)只需要提供监听器的端口,默认为1521 监听器可以监听多个数据库程序
d.全局数据库名
放在一个配置文件里.如果需要多个服务器连接,那么标识一个助记号.
net服务名(配置文件中区别于其他服务器的一个代号)
主目录\nework\admin\tnsname.ora
# TNSNAMES.ORA Network Configuration File: c:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# TNSNAMES.ORA Network Configuration File: c:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
LANG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.134)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NEUSOFT)
)
)
1342 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NEUSOFT.COM.CN)
)
)
NEUSOFT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.134)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = neusoft)
)
)
LOCAL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.134)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = neusoft)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.134)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 7a6645210b13491)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
FIF =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.151)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = neusoft)
)
)
FID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = neusoft.com.cn)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
134 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.218.151)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = NEUSOFT)
)
)
修改方法:程序--oraclehome92--configuration migration---net manager
建立服务器:随便起一个服务器名---协议(TCP-IP)---端口---数据库服务名(全局数据库名)neusoft
测试---保存.
IPCONFIG---HOSTNAME
scott--tiger---服务名
配置一个网络服务名,用来连接到192.168.218.151机器上的neusoft数据库,并且用SQL*PLUS登陆到这个数据库的scott(tiger)帐户上.
连接自己的机器:用户名+口令,主机字符串不写,就是连接自己的机器上。如果有多个服务器,会有一个默认的服务器。
换一个连接:conn scott/tiger @zhangzhl(网络服务名)
conn scott @ zhangzhl回车
请输入口令:*****
已连接。
(2)创建帐户
帐户(account)=用户(user)
身份认证的标识
权限:能执行什么动作、能看到多大范围的数据、能如何访问数据(读,写,改)
方案(schema):在ORACLE中,与帐户通明,而且一一对应
一个帐户能够访问的数据的描述信息。
方案对象(schema object):方案中描述的对象。(权限本身,表空间。。。不一定是方案对象)
方案对象必须属于并且只能属于一个帐户。该帐户称为其拥有者。(owner)拥有者可以完全控制被拥有的对象。
非拥有者,默认地不能用任何方式访问该对象。
除非得到拥有者或者管理员的授权。
SYS帐户:默认口令:change_on_install
可以使用:conn / as sysdba
show user
该帐户可以控制数据字典。可以执行包括SYSDBA,SYSOPER在内的所有系统权限。系统内的最高级用户。
操作系统的一个特殊帐户:
“计算机管理”-本地用户和组---用户--Administrator--隶属--(属于三个组)
属于这三个组的帐户,ORACLE不对其进行验证。
net manager中选择高级安全选项--去掉本地的帐户
SYSTEM帐户:默认为:Manager
角色:担任日常的简单管理,得到访问一部分数据字典的权限。可以执行不包括SYSDBA,SYSOPER在内的所有其他系统权限
SCOTT帐户:是一个例子帐户,演示帐户。密码是tiger。(经常使用的一个帐户)。
创建帐户:将自己的数据放到数据库中。二表。为自己的表找一个owner,上面的三个帐户可以,但是很不妥当。
管理员才能创建帐户,以管理员身份执行:
CREATE USER 帐户名 IDENTIFIED BY 口令 DEFAULT TABLESPACE 默认表空间的名字
更改表空间的名字使用:
ALTER USER 帐户名 IDENTIFIED BY 口令 DEFAULT TABLESPACE 默认表空间的名字
注:密码不能以数字开头,如果一定要用,可以加双引号。
(不加后面的DEFAULT字段,将默认放在系统表空间中)
默认表空间::=以这个帐户身份创建表,索引时被创建的表(索引)默认的存储在该帐户的默认表空间上。
表空间=硬盘上的数据文件的逻辑集合。
表空间需要自己建立表空间(系统安装时自动创建了若干预定仪的表空间,其中有一个是USERS表空间,用来存放用户数据)。
注意:要有system的权限才可以创建用户。
一定要选对数据库。
(3)授权
用授权命令:
GRANT 权限名 TO 帐户名;
GRANT CREATE SESSION TO TTT;
(所有的SQL语句必须在连接状态下进行)
SQL-PLUS+SQL命令,凡是加分号才能执行的,是SQL语句,否则回车执行是SQL-PLUS命令。
想要做什么,就给什么权限
(4)登陆到自己的帐户,并且创建表
登陆命令:
conn 用户名 / 密码 @ 服务器名
conn zhangzhl / zhangzhl @ TTT
一定要登陆到自己的帐户,才能创建自己的帐户下的表。
CREATE TABLE 表名字(列定义列表)
列表:多个项目用逗号分开
列定义:先写列名 数据类型(宽度)
NUMBER(N):宽度代表有几个十进制位 VARCHAR2(N):字节 DATE:没有宽度
授权创建表的权限:
GRANT CREATE TABLE TO TTT
表要想使用表空间,也需要使用空间权限:
ALTER USER 帐户名 QUOTA 尺寸 ON 表空间
ALTER USER TTT QUOTA 10M ON USERS
CL SCR:清除屏幕
(5)把自己的数据放入表
更改表的名字:RENAME 旧名字 TO 新名字;