手工创建Oracle数据库
一、初始化1、创建初始化文件[Oracle@sigleNode dbs]$ more initdw.ora|grep -v
一、初始化
1、创建初始化文件
[Oracle@sigleNode dbs]$ more initdw.ora|grep -v '#'|grep -v '^$'>initprod.ora
编辑初始化文件,进行参数设置,在原来参数设置基础之上增加以下设置
db_name=prod
db_cache_size = 100M
shared_pool_size = 60M
parallel_threads_per_cpu = 4
background_dump_dest = $ORACLE_BASE/admin/prod/bdump
user_dump_dest = $ORACLE_BASE/admin/prod/udump
core_dump_dest = $ORACLE_BASE/admin/prod/cdump
control_files = $ORACLE_BASE/oradata/prod/control01.ctl
undo_management = auto
undo_tablespace = rtbs
2、创建转储目录和文件路径
[oracle@sigleNode dbs]$ mkdir -p $ORACLE_BASE/admin/prod/bdump
[oracle@sigleNode dbs]$ mkdir -p $ORACLE_BASE/admin/prod/udump
[oracle@sigleNode dbs]$ mkdir -p $ORACLE_BASE/admin/prod/cdump
[oracle@sigleNode oradata]$ mkdir -p $ORACLE_BASE/oradata/prod
3、创建口令文件
[oracle@sigleNode dbs]$ orapwd file=orapwprod entries=5 force=y password=prod
可以看到在dbs下面增加实例orapwprod口令文件
[oracle@sigleNode dbs]$ ls -lt|grep orapwprod
-rw-r----- 1 oracle oinstall 2048 Feb 14 23:49 orapwprod
二、手工建库
1、创建建库语句
[oracle@sigleNode dbs]$ vi cr_db.sql
create database prod
user sys identified by prod
user system identified by prod
datafile '$ORACLE_BASE/oradata/prod/system01.dbf' size 400m
sysaux datafile '$ORACLE_BASE/oradata/prod/sysaux01.dbf' size 100m
default temporary tablespace temp tempfile '$ORACLE_BASE/oradata/prod/temp01.dbf' size 100m
undo tablespace rtbs datafile '$ORACLE_BASE/oradata/prod/undo01.dbf' size 100m
logfile
group 1 '$ORACLE_BASE/oradata/prod/redo01.log' size 50m,
group 2 '$ORACLE_BASE/oradata/prod/redo02.log' size 50m
character set zhs16gbk;
注意建库语句创建system和sysaux表空间特殊语法,不要带tablespace关键字,否则会创建失败
undo tablespace表空间的名字必须与undo_tablesapce参数设置保持一致,,否则在告警日志中会报类似下面的错误
ORA-30012 signalled during: CREATE UNDO TABLESPACE UNDO01 DATAFILE '$ORACLE_BASE/oradata/prod/undo01.dbf' size 100m
...
Sun Feb 15 00:27:01 2015
Errors in file /u01/app/oracle/admin/prod/udump/prod_ora_18355.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'rtbs' does not exist or of wrong type
Sun Feb 15 00:27:01 2015
Errors in file /u01/app/oracle/admin/prod/udump/prod_ora_18355.trc:
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 5792
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'rtbs' does not exist or of wrong type
Error 1519 happened during db open, shutting down database
找不到rtbs这个undo表空间导致创建失败
2、创建数据库
首先启动实例到nomount状态
[oracle@sigleNode dbs]$ export ORACLE_SID=prod
[oracle@sigleNode dbs]$ sqlplus / as sysdba
SQL> startup nomount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 1218508 bytes
Variable Size 92276788 bytes
Database Buffers 104857600 bytes
Redo Buffers 7168000 bytes
实例成功启动到nomount状态,但是报了废弃参数问题
通过告警日志发现具体如下
Deprecated system parameters with specified values:
parallel_automatic_tuning
End of deprecated system parameter listing
指明参数parallel_automatic_tuning已经废弃,编辑初始化文件
[oracle@sigleNode dbs]$ vi initprod.ora
注释掉下面一行
#parallel_automatic_tuning = true
重启启动实例到nomount状态
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 201326592 bytes
Fixed Size 1218484 bytes
Variable Size 88082508 bytes
Database Buffers 104857600 bytes
Redo Buffers 7168000 bytes
执行建库脚本cr_db.sql
SQL> @$ORACLE_HOME/dbs/cr_db.sql;
Database created.
通过告警日志看到建库的详细过程如下:
create database prod
user sys identified by ****user system identified by *datafile '$ORACLE_BASE/oradata/prod/system01.dbf' size 400m
sysaux datafile '$ORACLE_BASE/oradata/prod/sysaux01.dbf' size 100m
default temporary tablespace temp tempfile '$ORACLE_BASE/oradata/prod/temp01.dbf' size 100m
undo tablespace rtbs datafile '$ORACLE_BASE/oradata/prod/undo01.dbf' size 100m
logfile
group 1 '$ORACLE_BASE/oradata/prod/redo01.log' size 50m,
group 2 '$ORACLE_BASE/oradata/prod/redo02.log' size 50m
character set zhs16gbk
Sun Feb 15 00:28:30 2015
Database mounted in Exclusive Mode
Sun Feb 15 00:28:33 2015
Successful mount of redo thread 1, with mount id 283499181
Assigning activation ID 283499181 (0x10e5daad)
Thread 1 opened at log sequence 1
Current log# 1 seq# 1 mem# 0: /u01/app/oracle/oradata/prod/redo01.log
Successful open of redo thread 1
Sun Feb 15 00:28:33 2015
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Sun Feb 15 00:28:33 2015
SMON: enabling cache recovery
Sun Feb 15 00:28:33 2015
create tablespace SYSTEM datafile '$ORACLE_BASE/oradata/prod/system01.dbf' size 400m

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

PHP est un langage de programmation back-end largement utilisé dans le développement de sites Web. Il possède de puissantes fonctions d'exploitation de bases de données et est souvent utilisé pour interagir avec des bases de données telles que MySQL. Cependant, en raison de la complexité du codage des caractères chinois, des problèmes surviennent souvent lorsqu'il s'agit de caractères chinois tronqués dans la base de données. Cet article présentera les compétences et les pratiques de PHP dans la gestion des caractères chinois tronqués dans les bases de données, y compris les causes courantes des caractères tronqués, les solutions et des exemples de code spécifiques. Les raisons courantes pour lesquelles les caractères sont tronqués sont des paramètres de jeu de caractères incorrects dans la base de données : le jeu de caractères correct doit être sélectionné lors de la création de la base de données, comme utf8 ou u.

L'utilisation de la fonction de rappel de base de données dans Golang peut permettre : d'exécuter du code personnalisé une fois l'opération de base de données spécifiée terminée. Ajoutez un comportement personnalisé via des fonctions distinctes sans écrire de code supplémentaire. Des fonctions de rappel sont disponibles pour les opérations d'insertion, de mise à jour, de suppression et de requête. Vous devez utiliser la fonction sql.Exec, sql.QueryRow ou sql.Query pour utiliser la fonction de rappel.
