暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle手工创建数据库

原创 何飞 2024-11-27
187

1.*Oracle手工创建数据库(hefeidb)*

Oracle创建数据库的方法有三种:dbca、静默方式、手工建库三种方法,这里演示手工建库的方式:

1设置环境变量(新增一个)

su - oracle

cd /home/oracle

cp .bash_profile .bash_profile.fgzcdb

vi .bash_profile

if [ -f ~/.bashrc ]; then . ~/.bashrc fi PATH=$PATH:$HOME/bin export PATH   export ORACLE_BASE=/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1 export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_UNQNAME=hefeidb export ORACLE_SID=hefeidb
source .bash_profile env |grep ORACLE

创建pfile文件audit_file_dest审计目录

cd $ORACLE_HOME/dbs

复制模板文件 init.ora

vi inithefeidb.ora

db_name='hefeidb' sga_max_size=2G processes = 2000 audit_file_dest='/oracle/app/oracle/admin/hefeidb/adump' audit_trail ='db' db_block_size=8192 db_domain='' db_recovery_file_dest='/oracle/app/oracle/fast_recovery_area' db_recovery_file_dest_size=2G diagnostic_dest='/oracle/app/oracle' dispatchers='(PROTOCOL=TCP) (SERVICE=FGEDUDBXDB)' open_cursors=2000 remote_login_passwordfile='EXCLUSIVE' undo_tablespace='UNDOTBS1' # You may want to ensure that control files are created on separate physical # devices control_files = (/oradata/hefeidb/control01.ctl, /oradata/hefeidb/control02.ctl) compatible ='11.2.0'

根据上面的pfile创建目录

mkdir -p /oracle/app/oracle/admin/hefeidb/adump

mkdir -p /oradata/hefeidb

mkdir -p /oracle/app/oracle/fast_recovery_area

orapwd创建密码文件

cd $ORACLE_HOME/dbs orapwd file=orapwhefeidb password=hefei-2024

创建pfile并启动到nomount

cd $ORACLE_HOME/dbs

sqlplus "/as sysdba" create spfile from pfile; startup nomount; #报错:ORA-27125:unable to create shared memory segment ##解决:vi /etc/sysctl.conf,增加shmmax和shmall两个参数的大小,使用sysctl -p 生效。

执行建库脚本

#vi createdb.sql CREATE DATABASE hefeidb USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle LOGFILE GROUP 1 ('/oradata/hefeidb/redo01a.log') SIZE 50M BLOCKSIZE 512, GROUP 2 ('/oradata/hefeidb/redo02a.log') SIZE 50M BLOCKSIZE 512, GROUP 3 ('/oradata/hefeidb/redo03a.log') SIZE 50M BLOCKSIZE 512 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 8192 CHARACTER SET ZHS16GBK NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '/oradata/hefeidb/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED SYSAUX DATAFILE '/oradata/hefeidb/sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED DEFAULT TABLESPACE users DATAFILE '/oradata/hefeidb/users01.dbf' SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/oradata/hefeidb/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE undotbs1 DATAFILE '/oradata/hefeidb/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED; @createdb.sql #执行CREATE DATABASE语句时,Oracle数据库至少执行以下操作: #为数据库创建数据文件为数据库创建控制文件 #为数据库创建在线重做日志并建立ARCHIVELOG模式 #创建SYSTEM表空间创建SYSAUX表空间 #创建数据字典I设置在数据库中存储数据的字符集 #设置数据库时区 #默认时区文件是ORACLE_HOME/oracore/zoneinfo/timezlrg_11.dat SELECT * FROM V$TIMEZONE_NAMES; #挂载并打开数据库以供使用

生成数据字典信息的脚本并执行

vi run.sql @?/rdbms/admin/catalog.sql @?/rdbms/admin/catproc.sql @?/rdbms/admin/utlrp.sql @?/sqlplus/admin/pupbld.sql @run.sql #下表包含这些脚本的说明: #catalog.sql创建数据字典表的视图、励态性能视图和许多视图的公共同义词。授予PUBLIC对同义词的访问权限。 #catproc.sql运行PL/SQL 所需或与PL/SQL一起使用的所有脚本。 #utlrp.sql重新编译所有处于无效状态的PL/SQL模块,包括包、过程和类型。 #pupbld.sql SQL*Plus 需要,启用SQL*Plus以禁用用户命令。 #也可以用catctl.pl使用脚本运行catpcat.sql代替catalog.sql与catproc.sql #catpcat.sql构建数据字典。 #该脚本使用catctl.pl程序运行(而不是使用SQL*Plus)并在内部运行脚本catalog.sql和catproc.sql并行进程,从而提高建数据字典的性能。

image-20241117223253084

怎么连接到另外一个数据库

方式一:使用exoprt定义一个

[oracle@hfzcdb91:/oracle/app/oracle/product/19c/db_1/dbs]$**export ORACLE_SID=hfzcdb**

image-20241117223333242

方式二:修改环境变量

[oracle@hfzcdb91:/home/oracle]$**vi .bash_profile**

image-20241117223410701

方式三:多个配置环境变量

[oracle@hfzcdb91:/home/oracle]$**. .bash_profile.hfzcdb**

image-20241117223442640

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论