今天发现一个Oracle测试库的字符集设置不正确,原本的字符集是UTF-8,正确的字符集应该是ZHS16GBK,因为UTF-8是ZHS16GBK的超集,

今天发现一个Oracle测试库的字符集设置不正确,原本的字符集是UTF-8,正确的字符集应该是ZHS16GBK,因为UTF-8是ZHS16GBK的超集,无法修改,只能重建数据库,幸好该测试库上还没有数据。

参考阅读:

手动创建Oracle数据库实例

手工创建Oracle数据库

Linux环境下手工创建Oracle 10g数据库

虽然用DBCA也可以创建数据库,但我个人更喜欢手工创建数据库,其主要步骤如下(数据库版本11.2):

1. 设置ORACLE_SID

默认的ORACLE_SID是orcl,我个人强烈建议起个唯一、且意义的名字,比如**testdb,,**proddb等等,在Oracle用户下执行:

export ORACLE_SID=lxdbtest

2. 重建PFILE

在$ORACLE_HOME/dbs目录下重建pfile(initORACLE_SID.ora,本例为initlxdbtest.ora),除了以下三个参数,其它参数都可以不用设置(使用默认值):

db_name=lxdbtest

control_files='/home/oracle/app/oradata/lxdbtest/control01.ctl','/home/oracle/app/oradata/lxdbtest/control02.ctl','/home/oracle/app/oradata/lxdbtest/control03.ctl'

memory_target=2G

为了安全起见,控制文件一定要指定多份,在生产库上,要把它们分开放在不同的物理磁盘上,这里因为是测试库,所以才放在同一个磁盘上。

3. 启动实例至nomount状态

有了pfile就可以启动实例至nomount状态了:

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 25 21:01:16 2013

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount

ORACLE instance started.

Total System Global Area 2137886720 bytes

Fixed Size 2215064 bytes

Variable Size 1224737640 bytes

Database Buffers 905969664 bytes

Redo Buffers 4964352 bytes

SQL>

4. 执行CREATE DATABASE语句

CREATE DATABASE lxdbtest

LOGFILE GROUP 1 ('/home/oracle/app/oradata/lxdbtest/redo01a.log','/data/oradata/lxdbtest/redo01b.log') SIZE 100M BLOCKSIZE 512,

GROUP 2 ('/home/oracle/app/oradata/lxdbtest/redo02a.log','/data/oradata/lxdbtest/redo02b.log') SIZE 100M BLOCKSIZE 512,

GROUP 3 ('/home/oracle/app/oradata/lxdbtest/redo03a.log','/data/oradata/lxdbtest/redo03b.log') SIZE 100M BLOCKSIZE 512

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 600

CHARACTER SET ZHS16GBK

NATIONAL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL

DATAFILE '/home/oracle/app/oradata/lxdbtest/system01.dbf' SIZE 2048M REUSE AUTOEXTEND OFF

SYSAUX DATAFILE '/home/oracle/app/oradata/lxdbtest/sysaux01.dbf' SIZE 2048M REUSE AUTOEXTEND OFF

DEFAULT TABLESPACE users

DATAFILE '/home/oracle/app/oradata/lxdbtest/users01.dbf'

SIZE 2048M REUSE AUTOEXTEND OFF

DEFAULT TEMPORARY TABLESPACE temptbs

TEMPFILE '/home/oracle/app/oradata/lxdbtest/temp01.dbf'

SIZE 2048M REUSE AUTOEXTEND OFF

UNDO TABLESPACE undotbs

DATAFILE '/home/oracle/app/oradata/lxdbtest/undotbs01.dbf'

SIZE 2048M REUSE AUTOEXTEND OFF;

有几点需要注意:

1)每个日志文件组的日志要放在不同的物理磁盘上,万一有一个磁盘损坏,也不会丢失数据

2)根据需要选择合适的字符集

3)创建了5个基本的表空间:SYSTEM,SYSAUX,默认表空间,默认临时表空间,默认UNDO表空间

5. 根据需要创建应用程序所需的表空间

对于关键业务的数据,应该创建单独的表空间给它使用(最好把表和索引分开放在表空间)

SQL> create tablespace p95169tbs

2 datafile '/home/oracle/app/oradata/lxdbtest/p95169tbs01.dbf' size 10G,

3 '/home/oracle/app/oradata/lxdbtest/p95169tbs02.dbf' size 10G;

Tablespace created.

6. 构建数据字典视图

@?/rdbms/admin/catalog.sql

@?/rdbms/admin/catproc.sql

@?/sqlplus/admin/pupbld.sql

7. 修改system,sys的密码

alter user sys identified by ***;

alter user system identified by ***;

8. 创建SPFILE

SQL> create spfile from pfile;

File created.

重启数据库后,将以spfile取代pfile.

最后,再顺便说下如何删除数据库。在删除数据库之前,数据库必须是在mount和restricted session状态,具体如下:

SQL> startup mount

SQL> alter system enable restricted session;

System altered.

SQL> drop database;

Database dropped.

数据库删除成功后,所有的在线日志文件、数据文件都会一并被删除,但归档日志和备份文件不会被删除。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

linux 手动 创建数据库连接,Linux下手动创建Oracle数据库过程相关推荐

  1. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  2. aix oracle备份命令,Aix/Linux下自动备份oracle数据库

    曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...

  3. Linux下静默安装Oracle数据库

    Linux下静默安装Oracle数据库 CentOS挂载镜像 修改主机名 Centos挂载镜像,配置本地yum源 安装Oracle依赖包 下载依赖包 优化OS内核参数 优化OS参数 Oracle设置s ...

  4. linux php连接orcel,Linux下PHP连接Oracle数据库

    Linux下PHP连接Oracle数据库2020-06-12 16:50:57 安装步骤: 一.安装oracle-instantclient 下载地址:http://www.oracle.com/te ...

  5. Centos7下安装部署oracle数据库方法及问题汇总

    目标:在centos7上配置oracle数据库服务器,并在win7上面使用pl/sql成功访问该oracle数据库 系统环境: 服务器:centos7 64位 客户端:win7 64位 注意cneto ...

  6. Windows下自动备份Oracle数据库

    Windows下自动备份Oracle数据库 先说说为啥要搞这么个玩意 那是上线前几天[这不是讲故事],测试环境用的数据库崩了[为啥崩了不知道].之前造的一堆测试数据全都没得了[].然后急急忙忙的恢复环 ...

  7. oracle备份数据库dmp定时,SCO Unix系统下定时备份Oracle数据库dmp文件的设置

    Oracle数据库中定时对dmp文件进行备份可以提高数据库的安全性与稳定性,以便于在出现故障时进行恢复.本文我们主要介绍了SCO Unix系统下定时备份oracle数据库dmp文件的知识,接下来就让我 ...

  8. win7 php oracle数据库,Win764位系统下PHP连接Oracle数据库,win7oracle_PHP教程

    Win7 64位系统下PHP连接Oracle数据库,win7oracle 下面讲下配置过程 一.下载oracle instantclient 下载地址:http://www.oracle.com/te ...

  9. linux新增mysql用户_linux下mysql创建新的用户的方法

    1.以root身份登录到MySQL服务器中. $ mysql -u root -p 当验证提示出现的时候,输入MySQL的root帐号的密码. 2.创建一个MySQL用户 使用如下命令创建一个用户名和 ...

  10. linux删除mysql临时文件_linux下mysql自动备份数据库与自动删除临时文件_MySQL

    bitsCN.com linux下mysql自动备份数据库与自动删除临时文件 一.每日23:00自动删除临时文件 首先查看一下crontab的任务列表:crontab -l然后新建:crontab - ...

最新文章

  1. 2021贵州高考成绩查询文科,贵州高考排名对应大学-贵州高考位次查询(2021年文科参考)...
  2. 7 Papers Radios | NeurIPS 2020最佳论文;全卷积网络实现E2E目标检测
  3. ​【Python】Python中的经典时间序列预测模型总结
  4. 服务器如何安装多系统,服务器如何安装双操作系统
  5. 48岁的C语言,你知道它背后的历史吗?
  6. ddr5内存上市时间_DDR5内存明年才能上市,SK Hynix已预研DDR6:12Gbps
  7. vue工程打包上线样式错乱问题 - bug解决(4种)
  8. 我寫的JAVA記事本源程序
  9. 被开除的Roadstar合伙人决定暂不回应,“报销大保健”也能忍?
  10. python在线运行编程工具模板源码[网页版]
  11. 智能猫眼背后场景数据,助力把好居家安防第一关
  12. Elasticsearch: collapse 去重
  13. 编译orge1.7.0
  14. java实现Stripe信用卡支付
  15. OneNote应用技巧
  16. MOOS程序解析记录(1)
  17. json文件保存与读取
  18. lms算法的verilog实现_最小均方算法(LMS Algorithm)理论及DSP实现
  19. 四川省通江中学2021年高考成绩查询,「通江中学」2021年年通江中学升学率高不高?...
  20. telegram实时翻译bot_有写过 telegram bot 的大佬吗,请问如何让机器人获取自己说的话?...

热门文章

  1. C++输出九九乘法表
  2. Combination Sum II - LeetCode
  3. RMAN 数据库克隆文件位置转换方法
  4. 一个简单的进程池版的爬虫程序
  5. Python_三级菜单
  6. 过滤字符串 和 select选择后控件值变更
  7. #pragma comment使用
  8. 微服务 前台调用后台的慢的原因_也只有阿里P8出身的他能把SpringCloud微服务架构商城项目整的这么干了...
  9. 拓端tecdat|使用R语言进行机制检测的隐马尔可夫模型HMM
  10. 拓端tecdat|R语言旅行推销员问题TSP