wuxing@name
  • Archives
  • Baby
  • CODING
  • About
wuxing@name
  • Archives
  • Baby
  • CODING
  • About
Author

Andy

Andy

none

数据库

Oracle密码过期及EM无法登陆

by Andy 五月 11, 2016

关键字:EM无法登录,提示ORA-28001: the password has expired (DBD ERROR: OCISessionBegin)

以上提示 参见本文。
Oracle 11g 默认安装 用户密码有180天的过期限制。
测试用库实在有些不便。

--sys DBA 身份连入
sqlplus sys/password@SID as sysdba
--查看数据库目前的口令期限
select * from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME';
--查看用户的状态,发现DBSNMP和SYSMAN两个帐号都已经过期
select username, account_status from dba_users;

--修改用户的口令期限为无限制
alter profile default limit password_life_time unlimited;

--修改DBSNMP和SYSMAN两个帐号的口令
alter user dbsnmp identified by dbsnmp;
alter user sysman identified by sysman;

执行以上操作后,重启计算机、服务器即可。

如果仍然提示无法连接实例,并且dbsnmp sysman 用户被锁定 LOCKED(TIMED)。
极有可能是EM 的配置文件中dbsnmp sysman的密码 与实际的不同。
此时重置EM 配置文件。

--sqlplus 中运行 
emca -config dbcontrol db 
--根据提示 输入各用户名的 密码。
UsernamePasswordDescriptionSee Also
CTXSYSCTXSYSThe Oracle Text accountOracle Text Reference
DBSNMPDBSNMPThe account used by the Management Agent component of Oracle Enterprise Manager to monitor and manage the databaseOracle Enterprise Manager Grid Control Installation and Basic Configuration
LBACSYSLBACSYSThe Oracle Label Security administrator accountOracle Label Security Administrator’s Guide
MDDATAMDDATAThe schema used by Oracle Spatial for storing Geocoder and router dataOracle Spatial User’s Guide and Reference
MDSYSMDSYSThe Oracle Spatial and Oracle interMedia Locator administrator accountOracle Spatial User’s Guide and Reference
DMSYSDMSYSThe Oracle Data Mining account.Oracle Data Mining Administrator’s Guide
OLAPSYSMANAGERThe account used to create OLAP metadata structures. It owns the OLAP Catalog (CWMLite).Oracle OLAP Application Developer’s Guide
ORDPLUGINSORDPLUGINSThe Oracle interMedia user. Plug-ins supplied by Oracle and third party format plug-ins are installed in this schema.Oracle interMedia User’s Guide
ORDSYSORDSYSThe Oracle interMedia administrator accountOracle interMedia User’s Guide
OUTLNOUTLNThe account that supports plan stability. Plan stability enables you to maintain the same execution plans for the same SQL statements. OUTLN acts as a role to centrally manage metadata associated with stored outlines.Oracle Database Performance Tuning Guide
SI_INFORMTN_SCHEMASI_INFORMTN_SCHEMAThe account that stores the information views for the SQL/MM Still Image StandardOracle interMedia User’s Guide
SYSCHANGE_ON_INSTALLThe account used to perform database administration tasksOracle Database Administrator’s Guide
SYSMANCHANGE_ON_INSTALLThe account used to perform Oracle Enterprise Manager database administration tasks. Note that SYS and SYSTEM can also perform these tasks.Oracle Enterprise Manager Grid Control Installation and Basic Configuration
SYSTEMMANAGERAnother account used to perform database administration tasks.                   Oracle Database Administrator’s Guide
附: Oracle 默认安装带来的用户名/密码

五月 11, 2016 0 comment
0 FacebookTwitterPinterestEmail
数据库

临时表空间概念

by Andy 十月 19, 2015

临时表空间概念

临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。像数据库中一些操作: CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。

临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。

创建临时表空间或临时表空间添加临时数据文件时,即使临时数据文件很大,添加过程也相当快。这是因为ORACLE的临时数据文件是一类特殊的数据文件:稀疏文件(Sparse File),当临时表空间文件创建时,它只会写入文件头部和最后块信息(only writes to the header and last block of the file)。它的空间是延后分配的.这就是你创建临时表空间或给临时表空间添加数据文件飞快的原因。

另外,临时表空间是NOLOGGING模式以及它不保存永久类型对象,因此即使数据库损毁,做Recovery也不需要恢复Temporary Tablespace。

临时表空间信息

Continue Reading
十月 19, 2015 0 comment
0 FacebookTwitterPinterestEmail
数据库

oracle删除数据后,空间释放

by Andy 九月 10, 2015

Oracle 在删除数据后,因为高水位线的问题,并不会 自动释放空间。

所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词) 都有一个在段内容纳数据的上限,我们把这个上限称为”high water mark”或HWM。这个HWM是一个标记,用来说明已经有多少没有使用的数据块分配给这个segment。HWM通常增长的幅度为一次5个数据块,原则上HWM只会增大,不会缩小,即使将表中的数据全部删除,HWM还是为原值,由于这个特点,使HWM很象一个水库的历史最高水位,这也就是HWM的原始含义,当然不能说一个水库没水了,就说该水库的历史最高水位为0。但是如果我们在表上使用了truncate命令,则该表的HWM会被重新置为0。

--
--查看hwm 
select file_name, ceil((nvl(hwm, 1) * 8192) / 1024 / 1024) as "HWM(MB)"
from dba_data_files a,
(select file_id, max(block_id + blocks - 1) hwm
from dba_extents
group by file_id) b
where a.file_id = b.file_id(+);
--查看hwm 信息全
SELECT *
  FROM (SELECT /*+ ordered use_hash(a,b,c) */
         a.file_id,
         a.file_name,
         a.filesize,
         b.freesize,
         (a.filesize - b.freesize) usedsize,
         c.hwmsize,
         c.hwmsize - (a.filesize - b.freesize) unsedsize_belowhwm,
         a.filesize - c.hwmsize canshrinksize
          FROM (SELECT file_id,
                       file_name,
                       round(bytes / 1024 / 1024) filesize
                  FROM dba_data_files) a,
               (SELECT file_id, round(SUM(dfs.bytes) / 1024 / 1024) freesize
                  FROM dba_free_space dfs
                 GROUP BY file_id) b,
               (SELECT file_id, round(MAX(block_id) * 8 / 1024) HWMsize
                  FROM dba_extents
                 GROUP BY file_id) c
         WHERE a.file_id = b.file_id
           AND a.file_id = c.file_id
         ORDER BY unsedsize_belowhwm DESC)
 WHERE file_id IN (SELECT file_id
                     FROM dba_data_files
                    WHERE tablespace_name = 'DMSB_01')
 ORDER BY file_id;
--释放
alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\D_TEST1' resize 600m;

高水位详解,引自:http://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html

九月 10, 2015 0 comment
0 FacebookTwitterPinterestEmail
数据库

ORACLE 归档日志打开关闭方法

by Andy 十二月 31, 2014

一 设置为归档方式

1 sql> archive log list;   #查看是不是归档方式  
2 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档  
   sql> alter system set log_archive_dest='location=/oracle/ora9/oradata/arch' scope=spfile;  
      #设置归档路径  
   sql> alter system set log_archive_dest_1='location=/oracle/ora9/oradata/arch1' scope=spfile;  
   sql> alter system set log_archive_dest_2='location=/oracle/ora9/oradata/arch2' scope=spfile;  
      #如果归档到两个位置,则可以通过上边方法实现  
  sql> alter system set log_archive_format='arch_%d_%t_%r_%s.log'  #设置归档日记款式  
3 sql> shutdown immediate;  
4 sql> startup mount;    #打开控制文件,不打开数据文件  
5 sql> alter database archivelog; #将数据库切换为归档模式  
6 sql> alter database open;   #将数据文件打开  
7 sql> archive log list;   #查看此时是否处于归档模式  
8 查询以确定数据库位于archivelog模式中且归档过程正在运行  
sql> select log_mode from v$database;  
sql> select archiver from v$instance;  
9 日志切换  
sql> alter system switch logfile;  
10 这次日志切换将归档写到两个目标地,  

  1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认  
  
在oracle情况中运行如下查询:  
sql> select name from v$archived_log;  
而后在操作系统中确认查询所列出的文件

二 设置非归档方式

1 sql> archive log list;   #查看是否是归档方式  
2 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档  
3 sql> shutdown immediate;  
4 sql> startup mount;    #打开控制文件,不打开数据文件  
5 sql> alter database noarchivelog; #将数据库切换为非归档模式  
6 sql> alter database open;   #将数据文件打开  
7 sql> archive log list;   #查看此时便处于非归档模式  

三 归档相关命令

archive log stop;  
archive log start;  
archive log list;  
  
show parameters;  
show parameters log_archive_start;  
show parameters log_archive_max_process; #归档进程数  
alter system set log_archive_max_process=5; #将归档进程数改为5  
select * from v$bgprocess;    #检察后台进程  
十二月 31, 2014 0 comment
0 FacebookTwitterPinterestEmail
数据库

oracle ORA-01033 解决方法

by Andy 六月 10, 2014

客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连接Oracle服务。过程如下:

1、进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;
2、运行sqlplus “/as sysdba”

     SQL>shutdown immediate      停止服务
     SQL>startup                          启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号
     SQL>shutdown immediate      再次停止服务
     SQL>startup mount
     SQL> recover datafile 2         恢复出错的数据文件
     SQL>shutdown immediate      再次停止服务
     SQL>startup                          启动服务,此次正常。

3、进入PL/SQL Developer检查,没有再提示错误。

六月 10, 2014 0 comment
0 FacebookTwitterPinterestEmail
数据库

解决oracle归档日志写满了(ORA-00257)的问题

by Andy 六月 4, 2014
解决ORA-00257: archiver error. Connect internal only, until freed
此问题属于归档日志满了。
解决办法:
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE    PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
———— —————— ————————- —————
CONTROLFILE                   0                         0               0
ONLINELOG                     0                         0               0
ARCHIVELOG                  99.9                         0               255
BACKUPPIECE                   0                         0               0
IMAGECOPY                     0                         0               0
FLASHBACKLOG                  0                         0               0
注:可以看出,ARCHIVELOG日志已经达到99.9%了。要把它清除掉!
SQL> quit
C:\Documents and Settings\Administrator>rman
RMAN> connect target system/myoracle@orcl
注:system为oracle用户,myoracle为oracle用户密码,orcl为连接的数据库名称SID。
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
注:删除过期的归档
这样就把归档文件删除了。再进入sqlplus 查看ARCHIVELOG日志使用率!
第二种方法就是增大闪回日志文件的最大大小。如下:
alter system set DB_RECOVERY_FILE_DEST_SIZE=10g
以上处理方法是当遇到出现日志写满报错时的处理,建议最好做个任务,定时删除日志,如下:
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’; //删除七天前的归档
DELETE ARCHIVELOG FROM TIME ‘SYSDATE-7’; //删除七天到现在的归档
六月 4, 2014 0 comment
0 FacebookTwitterPinterestEmail
程序开发

python 学习 is

by Andy 五月 13, 2014

Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25:23) [MSC v.1600 64 bit (AMD64)] on win32
Type “copyright”, “credits” or “license()” for more information.
>>> a=”ddd”
>>> b=”ddd”
>>> a is b
True
>>> a=”aas d”
>>> b=”aas d”
>>> a is b
False
>>> a==b
True
>>> a=”中”
>>> b=”中”
>>> a is b
False
>>> a==b
True
>>>

五月 13, 2014 0 comment
0 FacebookTwitterPinterestEmail
.NET

程序结构

by Andy 二月 27, 2014

偶尔看看程序总是会有些收益~
C# 中的组织结构的关键概念是程序 (program)、命名空间 (namespace)、类型 (type)、成员 (member) 和程序集 (assembly)。C# 程序由一个或多个源文件组成。程序中声明类型,类型包含成员,并且可按命名空间进行组织。类和接口就是类型的示例。字段 (field)、方法、属性和事件是成员的示例。在编译 C# 程序时,它们被物理地打包为程序集。程序集通常具有文件扩展名 .exe 或 .dll,具体取决于它们是实现应用程序 (application) 还是实现库 (library)。
下面的示例

using System;
namespace Acme.Collections
{
	public class Stack
	{
		Entry top;
		public void Push(object data) {
			top = new Entry(top, data);
		}
		public object Pop() {
			if (top == null) throw new InvalidOperationException();
			object result = top.data;
			top = top.next;
			return result;
		}
		class Entry
		{
			public Entry next;
			public object data;
			public Entry(Entry next, object data) {
				this.next = next;
				this.data = data;
			}
		}
	}
}

在名为 Acme.Collections 的命名空间中声明了一个名为 Stack 的类。Acme.Collections.Stack 是此类的完全限定名。该类包含几个成员:一个名为 top 的字段,两个分别名为 Push 和 Pop 的方法和一个名为 Entry 的嵌套类。Entry 类还包含三个成员:一个名为 next 的字段、一个名为 data 的字段和一个构造函数。假定将此示例的源代码存储在文件 acme.cs 中,执行以下命令行:
csc /t:library acme.cs
将此示例编译为一个库(没有 Main 入口点的代码),并产生一个名为 acme.dll 的程序集。
程序集包含中间语言 (Intermediate Language, IL) 指令形式的可执行代码和元数据 (metadata) 形式的符号信息。在执行程序集之前,.NET 公共语言运行时的实时 (JIT) 编译器将程序集中的 IL 代码自动转换为特定于处理器的代码。
由于程序集是一个自描述的功能单元,它既包含代码又包含元数据,因此,C# 中不需要 #include 指令和头文件。若要在 C# 程序中使用某特定程序集中包含的公共类型和成员,只需在编译程序时引用该程序集即可。例如,下面的程序将使用来自 acme.dll 程序集的 Acme.Collections.Stack 类:

using System;
using Acme.Collections;
class Test
{
	static void Main() {
		Stack s = new Stack();
		s.Push(1);
		s.Push(10);
		s.Push(100);
		Console.WriteLine(s.Pop());
		Console.WriteLine(s.Pop());
		Console.WriteLine(s.Pop());
	}
}

如果此程序存储在文件 test.cs 中,那么在编译 test.cs 时,可以使用编译器的 /r 选项引用 acme.dll 程序集:
csc /r:acme.dll test.cs
这样将创建名为 test.exe 的可执行程序集,运行结果如下:
100
10
1
C# 允许将一个程序的源文本存储在多个源文件中。在编译多个文件组成的 C# 程序时,所有源文件将一起处理,并且源文件可以自由地相互引用 — 从概念上讲,就像是在处理之前将所有源文件合并为一个大文件。C# 中从不需要前向声明,因为除了极少数的例外情况,声明顺序无关紧要。C# 不限制一个源文件只能声明一个公共类型,也不要求源文件的名称与该源文件中声明的类型匹配。

二月 27, 2014 0 comment
0 FacebookTwitterPinterestEmail
  • 1
  • 2
  • 3
  • 4
  • …
  • 11

About Me

About Me

Writer & Reader

Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed.

Recent Posts

  • DeepL机器翻译的力量

    七月 7, 2020
  • net Core Rest Api 调用

    七月 7, 2020
  • Oracle EM 安装 修复

    五月 15, 2020
  • wpf c# login and Upgrade

    十二月 6, 2019
  • Open SSL 证书生成 对exe 签名

    十一月 7, 2019
  • Facebook
  • Twitter
  • Instagram
  • Pinterest
  • Tumblr
  • Youtube
  • Bloglovin
  • Snapchat

@2019 - All Right Reserved. Designed and Developed by PenciDesign


Back To Top