author:skate
time:2009/10/23
这两天一朋友问如何更改数据库名,于是做个测试,简单记录下,以便说明问题
如何修改数据库名(db_name)及实例名(Instance_name or Service_name)
Nid是Oracle从9iR2开始提供的工具,可以用来更改数据库名称,而无需通过之前重建控制文件等繁琐方式。
nid是自带的工具,在oracle_home/bin目录中.以下方法假设登陆到数据库本机做。
目的:在本例中,假设原来的数据库名为orcl,要改成dborcl,原实例名(service_name,instance_name)orcl,要改成dborcl.
步骤概述:
1.检查当前的参数情况
2.shutdown数据库,然后mount数据库
3.运行nid命令
4.更改参数文件pfile.ora(db_name,instance_name)
5.检测更改情况
6.如果是windows平台,要修改服务
7.修改监听服务
C:\Documents and Settings\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 22 11:56:33 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> ......
1.USEREVN()
返回当前用户环境的信息,opt可以是:
ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE
1.ISDBA 查看当前用户是否是DBA如果是则返回true
SQL> select userenv('isdba') from dual;
USEREN
------
FALSE
2.SESSION 返回会话标志
SQL> select userenv('sessionid') from dual;
USERENV('SESSIONID')
--------------------
152
4.ENTRYID 返回会话人口标志
SQL> select userenv('entryid') from dual;
USERENV('ENTRYID')
------------------
0
5.INSTANCE 返回当前INSTANCE的标志
SQL> select userenv('instance') from dual;
USERENV('INSTANCE')
-------------------
1
6.LANGUAGE 返回当前环境变量
SQL> select userenv('language') from dual; ......
-建立表空间(oracle中的tablespace(表空间)就相当于sqlserver的database)
CREATE TABLESPACE data01
DATAFILE 'D:\oracle\ora92\oradata\db\DATA01.dbf' SIZE 200M
UNIFORM SIZE 128k;
#指定区尺寸为128k,如不指定,区尺寸默认为64k
--建立临时表空间
CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE 'D:\TEMP_DATA.dbf' SIZE 100M
--建立用户
CREATE USER peter IDENTIFIED BY peter
DEFAULT TABLESPACE data01
TEMPORARY TABLESPACE temp_data;
--给用户授权
grant connect,resource,dba to peter;
-- 从 '建立表空间' 到 '建立临时表空间' 到 ’建立用户‘ 到 ’给用户授权’ ,
-- 到此就可以用建立的用户进行登陆,然后建立table了
-- 并且以某个用户的身份进行登陆,进行备份与还原了
一、建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf'
SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
(注意,必须先写datafile才能写size和uniform size,因为只有先指定了文件才能够指定文件的大小,这是一个因果关系)
二、建立UNDO表空间
CREATE UNDO TABLESPACE UND ......
一个简单的oracle分页存储过程的实现和调用。在看了众多的分页存储过程以后发现都是针对sqlserver的,而没有oracle的,因此想写一个关于oracle的存储过程,因为我用到的数据库是oracle。
Oracle分页存储过程的思路于sqlserver的思路是一样的,但是我这里做了点改动,在因为Oracle的语法和规则的不同所以,Oracle分页存储过程看上去有点不一样。见笑,见笑!
在Oracle的存储过程中返回记录集,需要用到游标变量,Oracle不能像sqlserver那样可以直接返回一个记录集。
由于设想在.net中把复杂的sql语句生成,所以在存储过程中没有去考虑生成sql语句的问题。
以下是在Oracle中实现的分页存储过程。
create or replace package DotNet is
-- Author : good_hy
-- Created : 2004-12-13 13:30:30
-- Purpose :
TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集
PROCEDURE DotNetPagination(
Pindex in number, --分页索引
Psql in varchar2, --产生dataset的sql语句
Psize in number, --页面大小
Pcount out number, --返回分页总数
v_cur ou ......
INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" from DUAL的显示结果是
Instring
——————
14
oracle的substr函数的用法
取得字符串中指定起始位置和长度的字符串 substr( string, start_position, [ length ] )
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'select substr('Thisisatest', -4, 2) value from ......
为了帮助企业提高员工效力,甲骨文公司日前在2009甲骨文全球大会上推出最新版Oracle PeopleSoft Enterprise管理软件,即PeopleSoft Enterprise人力资本管理9.1、PeopleSoft Enterprise PeopleTools 8.50、PeopleSoft Enterprise学习管理9.1和PeopleSoft Enterprise门户9.1。 这个吸收了来自150多个客户的反馈信息 而开发的最新版管理软件可提供更多新功能,以加速提高企业绩效和员工效率,并降低拥有成本。
PeopleSoft Enterprise人力资本管理9.1是一个核心平台,满足全球企业的端到端人力资源管理需求。除了最佳的集成式人才管理、员工管理和员工服务,最新版管理软件还包括嵌入式Web 2.0功能以及新的特定行业功能。
PeopleSoft Enterprise学习管理9.1是PeopleSoft Enterprise人力资本管理产品套件的组成部分,能够帮助企业有效管理学习环境,确保员工获得与企业目标和不断调整的规范要求所一致的知识和技能。
People Tools 8.50是PeopleSoft Enterprise的技术平台,为客户管理、定制、集成和支持PeopleSoft应用提供一个高度灵活的开发环境。这个最新的升级版通过使用新的Web 2.0功能、增强的集成以及扩充的报告选件,实现了丰富的最终用户体验。People To ......